subtitles
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseSubtitles
字幕
Fetch YouTube video subtitles via TranscriptAPI.com.
通过TranscriptAPI.com获取YouTube视频字幕。
Setup
配置步骤
If is not set, help the user create an account (100 free credits, no card):
$TRANSCRIPT_API_KEYStep 1 — Register: Ask user for their email.
bash
node ./scripts/tapi-auth.js register --email USER_EMAIL→ OTP sent to email. Ask user: "Check your email for a 6-digit verification code."
Step 2 — Verify: Once user provides the OTP:
bash
node ./scripts/tapi-auth.js verify --token TOKEN_FROM_STEP_1 --otp CODEAPI key saved to your shell profile and agent config. Ready to use.
Manual option: transcriptapi.com/signup → Dashboard → API Keys.
如果未设置,请协助用户创建账户(100个免费额度,无需绑定银行卡):
$TRANSCRIPT_API_KEY步骤1 — 注册:向用户索要邮箱地址。
bash
node ./scripts/tapi-auth.js register --email USER_EMAIL→ 验证码(OTP)将发送至该邮箱。请询问用户:"请查看您的邮箱,获取6位验证码。"
步骤2 — 验证:用户提供OTP后执行以下命令:
bash
node ./scripts/tapi-auth.js verify --token TOKEN_FROM_STEP_1 --otp CODEAPI密钥将保存至您的Shell配置文件和Agent配置中,即可开始使用。
手动注册选项:访问transcriptapi.com/signup → 控制台 → API密钥。
GET /api/v2/youtube/transcript
GET /api/v2/youtube/transcript
bash
curl -s "https://transcriptapi.com/api/v2/youtube/transcript\
?video_url=VIDEO_URL&format=text&include_timestamp=false&send_metadata=true" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"| Param | Values | Use case |
|---|---|---|
| YouTube URL or video ID | Required |
| | |
| | |
| | Include title, channel, description |
For language learning — clean text without timestamps:
bash
curl -s "https://transcriptapi.com/api/v2/youtube/transcript\
?video_url=VIDEO_ID&format=text&include_timestamp=false" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"For translation — structured segments:
bash
curl -s "https://transcriptapi.com/api/v2/youtube/transcript\
?video_url=VIDEO_ID&format=json&include_timestamp=true" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"Response ():
format=jsonjson
{
"video_id": "dQw4w9WgXcQ",
"language": "en",
"transcript": [
{ "text": "We're no strangers to love", "start": 18.0, "duration": 3.5 }
]
}Response (, ):
format=textinclude_timestamp=falsejson
{
"video_id": "dQw4w9WgXcQ",
"language": "en",
"transcript": "We're no strangers to love\nYou know the rules and so do I..."
}bash
curl -s "https://transcriptapi.com/api/v2/youtube/transcript\
?video_url=VIDEO_URL&format=text&include_timestamp=false&send_metadata=true" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"| 参数名称 | 可选值 | 使用场景 |
|---|---|---|
| YouTube链接或视频ID | 必填项 |
| | 若需带时间戳的同步字幕,选择 |
| | 若需用于翻译或阅读的纯净文本,设置为 |
| | 是否包含视频标题、频道信息、描述内容 |
语言学习场景 — 无时间戳的纯净文本:
bash
curl -s "https://transcriptapi.com/api/v2/youtube/transcript\
?video_url=VIDEO_ID&format=text&include_timestamp=false" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"翻译场景 — 结构化分段内容:
bash
curl -s "https://transcriptapi.com/api/v2/youtube/transcript\
?video_url=VIDEO_ID&format=json&include_timestamp=true" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"响应示例():
format=jsonjson
{
"video_id": "dQw4w9WgXcQ",
"language": "en",
"transcript": [
{ "text": "We're no strangers to love", "start": 18.0, "duration": 3.5 }
]
}响应示例(, ):
format=textinclude_timestamp=falsejson
{
"video_id": "dQw4w9WgXcQ",
"language": "en",
"transcript": "We're no strangers to love\nYou know the rules and so do I..."
}Tips
小贴士
- Many videos have auto-generated subtitles in multiple languages.
- Use to get timing for each line (great for sync'd reading).
format=json - Use for clean text suitable for translation apps.
include_timestamp=false
- 许多视频有多语言自动生成字幕。
- 使用可获取每一行字幕的时间信息(非常适合同步阅读)。
format=json - 设置可获取适合翻译工具使用的纯净文本。
include_timestamp=false
Errors
错误处理
| Code | Action |
|---|---|
| 402 | No credits — transcriptapi.com/billing |
| 404 | No subtitles available |
| 408 | Timeout — retry once after 2s |
1 credit per request. Free tier: 100 credits, 300 req/min.
| 错误码 | 处理方式 |
|---|---|
| 402 | 无可用额度 — 前往transcriptapi.com/billing充值 |
| 404 | 该视频无可用字幕 |
| 408 | 请求超时 — 2秒后重试一次 |
每请求消耗1个额度。免费套餐:100个免费额度,每分钟最多300次请求。