哼哼猫文档
本页内容

字幕提取接口

传入 YouTube 或 B 站视频链接,返回全部可用字幕轨道及视频标题、时长、封面等元信息。YouTube 轨道可提供多种格式。

🎯 基本信息

项目内容
接口地址https://api.meowload.net/openapi/v1/extract/subtitles
请求方式POST,请求体为 JSON
鉴权请求头 Authorization: Bearer <你的 API Key>,Key 在 开发者管理中心 获取
计费仅成功(200)时扣次数,规则见 开发者管理中心

第一次接入可先看 快速开始。

📋 请求参数

参数类型必填说明
urlstring是视频链接

错误消息默认为英文,需要中文时加请求头 Accept-Language: zh。

请求示例

curl -X POST https://api.meowload.net/openapi/v1/extract/subtitles \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <你的 API Key>" \
  -d '{"url": "https://www.youtube.com/watch?v=jNQXAC9IVRw"}'

🟢 成功响应

响应示例

HTTP 状态码为 200,响应体是视频元信息加全部字幕轨道。下面的示例经过裁剪:

{
  "site": "youtube",
  "id": "EXAMPLE0004",
  "title": "Me at the zoo",
  "duration": 19,
  "thumbnail_url": "https://images.example.com/EXAMPLE0004/cover.jpg",
  "subtitles": [
    {
      "language_name": "English",
      "language_tag": "en",
      "urls": [
        { "url": "https://www.youtube.com/api/timedtext?v=EXAMPLE0004&fmt=srt&sig=EXAMPLE", "format": "srt" },
        { "url": "https://www.youtube.com/api/timedtext?v=EXAMPLE0004&fmt=vtt&sig=EXAMPLE", "format": "vtt" }
      ]
    },
    {
      "language_name": "English (auto-generated)",
      "language_tag": "en",
      "urls": [
        { "url": "https://www.youtube.com/api/timedtext?v=EXAMPLE0004&kind=asr&fmt=srt&sig=EXAMPLE", "format": "srt" }
      ]
    }
  ]
}

响应字段说明

  • subtitles[] 每条是一个语言轨道。language_name 是语言的本族语显示名(如 English、中文),language_tag 是小写 BCP 47 风格的语言标签(如 en、zh-hans);自动生成的字幕轨也在其中。
  • urls[] 是该轨道各格式的下载地址:通用播放器选 srt,网页播放选 vtt,YouTube 程序化处理可选 json3。B 站仅提供 json(BCC),与 JSON3 不是同一种格式。直链是短效的,请拿到后尽快下载。
  • 视频没有字幕时,subtitles 为空数组或以 400 提取失败返回,两种情况都要处理。

完整参数与响应字段见 API 参考。

B 站字幕接入

支持 bilibili.com 的 BV/av 视频、指定分 P、番剧单集,以及 b23.tv 短链;动态、/opus/ 和国际版 bilibili.tv 不在此范围内。多 P 视频的 id 相同,应保留完整输入链接中的 ?p=;番剧结果的 id 为 ep 开头。

B 站字幕轨道示例(下载地址为示意):

{
  "language_tag": "zh",
  "language_name": "中文 (auto-generated)",
  "urls": [{ "format": "json", "url": "https://aisubtitle.hdslb.com/example.json?auth_key=EXAMPLE" }]
}
  • 人工和自动字幕可能具有相同的 language_tag,不能只按语言标签去重。自动字幕的 language_name 带 (auto-generated),既可能是语音识别,也可能是翻译,接口不再细分。
  • 下载链接约 30 分钟后失效。
  • BCC 的 body 是字幕条目数组,每条包含以秒为单位的 from、to 和文本 content。如需 SRT/VTT,请自行转换格式。

🔴 错误响应

提取失败返回 HTTP 400,不扣次数,响应体带机器可读的 code 与 retryable(稍后重试同一链接是否可能成功):

{ "message": "该内容已被删除或不存在", "code": "content_deleted", "retryable": false }

401(API Key 无效)、402(次数用尽)、422(请求体不合法)、429(触发限流)与全部提取错误码的处理方式见 错误码。