# 字幕提取

> 获取 YouTube 视频的全部字幕轨道与下载直链

来源: https://platform.snapany.com/zh/docs/extract-subtitles

[`POST /openapi/v1/extract/subtitles`](https://platform.snapany.com/zh/docs/api#POST/extract/subtitles) — 每次调用消耗 1 积分。

返回视频元信息与**全部可用字幕轨道**（人工与自动生成、所有语言），每轨附七种格式的下载直链：`srt`、`vtt`、`ttml`、`json3`、`srv1`、`srv2`、`srv3`。当前支持 YouTube。

```bash
curl -X POST https://api.snapany.com/openapi/v1/extract/subtitles \
  -H "Authorization: Bearer sk_snapany_xxx" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://www.youtube.com/watch?v=jNQXAC9IVRw"}'
```

响应包含：

- **id / title / text / duration / published_at / thumbnail_url**：视频元信息
- **subtitles**：每个语言轨道一条——`language_name`（展示名，自动生成轨会标注，如 `English (auto-generated)`）、`language_tag`（BCP 47 风格）、`urls`（各格式的下载直链）

按需下载对应格式——播放器与剪辑用 `srt`/`vtt`，程序化处理（带逐句时间轴）用 `json3`。直链带签名且会过期，请及时拉取，不要长期存储链接本身。

没有字幕的视频报 `no_subtitles` 错误（HTTP 404）且**不扣费**——捕获该错误码后回退到[转录](https://platform.snapany.com/zh/docs/transcription)。

完整 schema 与真实形状的响应示例：[API 参考](https://platform.snapany.com/zh/docs/api#POST/extract/subtitles)。

## 字幕提取 vs. 转录

- **本接口**返回 YouTube 已有的字幕——即取即得，每次 1 积分，但仅限有字幕的视频。
- [**转录**](https://platform.snapany.com/zh/docs/transcription)用 Whisper large-v3 对音频转写——任何视频都可用（包括没有字幕的），支持说话人分离，每分钟 4 积分。

常见流水线：先调 `/extract/subtitles`；遇到 `no_subtitles` 错误再回退到[`/transcriptions`](https://platform.snapany.com/zh/docs/transcription)。

## 计费

每次成功调用消耗 1 积分，提取成功后扣除；失败的调用（无效链接、不支持的站点、无字幕）不扣费。详见[积分与计费](https://platform.snapany.com/zh/docs/credits)。
