GiggleTime GiggleTime
菜单
升级到 Premium 提交笑话 喜剧演员 关于我们 常见问题 联系我们 添加喜剧演员
关注我们

法律信息
隐私政策 服务条款 Cookie政策 退款与取消政策 致谢
登录
语言
分类
设置
语言 中文
安全模式
随机笑话自动播放
通知

把你的笑话发给 GiggleTime

GiggleTime 是一个支持 26 种语言的笑话网站。如果你写笑话、运营幽默账号或有自己的收藏,可以从你自己的应用或脚本发送给我们。每个笑话上线前都会有人阅读。

查看 API 参考

如何运作

  1. 创建一个免费的 GiggleTime 账户,或登录。
  2. 在“我的投稿”中告诉我们你想发送什么,以及大约多少个笑话。
  3. 我们会阅读每一份申请并通过邮件回复,通常在一两天内。
  4. 获批后,在同一页面创建你的密钥。它只显示一次,请妥善保存。
  5. 用一个简单的 HTTPS 请求发送笑话。每个笑话都会等待审核,你随时可以查看它的状态。

我们如何审核笑话

每个笑话,无论来自 API 还是我们网站上的表单,发布前都会有人阅读。大多数会在一天内审核完毕。

我们会检查它读起来是否像笑话、是否使用你所选的语言并符合分类,以及 GiggleTime 上是否已有任何语言的相同笑话。我们可能会修正错别字,或把笑话移到更合适的分类。

如果我们不能采用某个笑话,一定会告诉你原因:原因会显示在“我的投稿”和 API 中。通过审核的笑话会发布在 GiggleTime 上,可以用我们所有的语言阅读。

我们接受什么

  • 你自己写的笑话,或可以自由分享的笑话,例如传统笑话和民间故事。
  • 一句话笑话、问答式笑话、短故事和“敲敲门”笑话,可使用我们 26 种语言中的任意一种。
  • 借助少量 AI 帮助写成的笑话可以接受,前提是你检查过并且确实好笑。我们不接受 AI 批量生成的笑话。
  • 不得抄袭其他喜剧演员、书籍或网站的内容,不得有仇恨或骚扰,也不得包含链接或广告。
  • 成人幽默请标记 NSFW。未开启该选项的访客看不到这些内容。

限制

  • 起初每个密钥 24 小时内最多 20 个笑话。对于笑话经常通过审核的投稿者,我们会提高上限。
  • 每分钟最多 10 个笑话。
  • 当审核队列已满时,新笑话会暂时被拒绝。请第二天再试。

API 参考

所有请求都发送到 https://www.giggletime.app/api/v1/,并需要在 Authorization 请求头中带上你的密钥:

Authorization: Bearer gtj_your_key

调用

GET /api/v1/me你的限制,以及过去 24 小时内你发送了多少笑话。
GET /api/v1/categories?language=en该语言下的分类 ID 和名称、语言列表以及笑话类型。
POST /api/v1/jokes以 JSON 发送一个笑话。
GET /api/v1/jokes你的笑话,按从新到旧排列,附带状态。可选:limit(最多 100)和用于下一页的 before_id。

发送笑话的字段

language必填。语言代码,例如 en、bg 或 es。
category_id必填。下方列表或 /api/v1/categories 中的分类 ID。
type必填。one-liner、setup-punchline、story 或 knock-knock。
setup, punchline问答式笑话:每部分最多 300 个字符。
text其他所有类型:最多 300 个字符,故事最多 2000 个。
author可选。笑话署名,最多 60 个字符。
nsfw可选。成人幽默填 true。

示例

curl

curl -X POST https://www.giggletime.app/api/v1/jokes \
  -H "Authorization: Bearer gtj_your_key" \
  -H "Content-Type: application/json" \
  -d '{"language": "en", "category_id": 13, "type": "setup-punchline",
       "setup": "Why did the scarecrow win an award?",
       "punchline": "He was outstanding in his field."}'

Python

import requests

r = requests.post("https://www.giggletime.app/api/v1/jokes",
    headers={"Authorization": "Bearer gtj_your_key"},
    json={"language": "en", "category_id": 13, "type": "one-liner",
          "text": "I told my wife she draws her eyebrows too high. She looked surprised."})
print(r.status_code, r.json())

JavaScript

const r = await fetch("https://www.giggletime.app/api/v1/jokes", {
  method: "POST",
  headers: { "Authorization": "Bearer gtj_your_key", "Content-Type": "application/json" },
  body: JSON.stringify({ language: "en", category_id: 13, type: "one-liner",
    text: "I'm reading a book about anti-gravity. It's impossible to put down." })
});
console.log(r.status, await r.json());

响应

收到的笑话会返回 201 和它的 ID。在我们审核之前,它处于待审核状态:

{"id": 1830, "status": "pending", "remaining_today": 19}

出错时会返回一个代码,告诉你该怎么处理:

400invalid_language, invalid_category, invalid_joke_type, missing_text, too_long, invalid_json
401unauthorized: 密钥缺失、错误或已被撤销。
403terms_required: 请登录网站并接受最新条款。 account_suspended
409duplicate_joke: 相同的笑话已经在 GiggleTime 上了。
429too_fast, daily_limit: 请稍候再试。
503review_queue_full: 请第二天再试。

状态和原因

在 GET /api/v1/jokes 中,每个笑话的状态是 pending(待审核)、approved(已通过,附链接)或 rejected(未通过,附原因代码和用笑话语言写的原因):

duplicate未通过:这个笑话已经在 GiggleTime 上了。
not_a_joke未通过:这读起来不像笑话。
wrong_language未通过:文本不是所标注的语言。
offensive未通过:违反了我们的内容准则。
copied未通过:这看起来是其他喜剧演员的作品。
quality未通过:不适合 GiggleTime。

分类

  • 13 两性关系
  • 15 健康与衰老
  • 7 其他
  • 8 动物
  • 4 双关语
  • 6 圣诞节
  • 11 学校
  • 9 家庭
  • 10 工作
  • 5 怪异
  • 17 日常生活
  • 14 科技
  • 2 编程
  • 16 金钱
  • 12 饮食
  • 3 黑暗

语言

ar العربية bg Български ca Català cs česky cy Cymraeg da dansk de Deutsch el Ελληνικά en English es español et eesti, eesti keel fr français hi हिन्दी, हिंदी id Bahasa Indonesia it Italiano ja 日本語 ka ქართული nl Nederlands, Vlaams pl polski pt Português ru Русский sv svenska tr Türkçe uk Українська vi Tiếng Việt zh 中文

常见问题

要收费吗?

不。API 是免费的。

我发送的笑话归谁所有?

你保留你拥有的一切权利。发送笑话即表示你允许 GiggleTime 按照我们的条款发布、翻译并在我们的应用中展示它。 服务条款

以后可以删除笑话吗?

可以。联系我们,我们会将其删除。 联系我们

如果密钥泄露了怎么办?

在“我的投稿”中创建新密钥。旧密钥会立即失效。

我更想在自己的网站上展示笑话。

那就试试我们免费的“每日一笑”小组件吧。 为您的网站添加笑话小工具