transcript

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Transcript

转录文本

Fetch video transcripts via TranscriptAPI.com.
通过TranscriptAPI.com获取视频转录文本。

Setup

配置步骤

If
$TRANSCRIPT_API_KEY
is not set, help the user create an account (100 free credits, no card):
Step 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 CODE
API key saved to your shell profile and agent config. Ready to use.
Manual option: transcriptapi.com/signup → Dashboard → API Keys.
如果未设置
$TRANSCRIPT_API_KEY
,请帮助用户创建账户(提供100个免费额度,无需绑定信用卡):
步骤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 CODE
API密钥已保存至你的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=true&send_metadata=true" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY"
ParamRequiredDefaultValues
video_url
yesYouTube URL or 11-char video ID
format
no
json
json
,
text
include_timestamp
no
true
true
,
false
send_metadata
no
false
true
,
false
Accepts: full URLs (
youtube.com/watch?v=ID
), short URLs (
youtu.be/ID
), shorts (
youtube.com/shorts/ID
), or bare video IDs.
Default: Always use
format=text&include_timestamp=true&send_metadata=true
unless user specifies otherwise.
Response (
format=json
):
json
{
  "video_id": "dQw4w9WgXcQ",
  "language": "en",
  "transcript": [
    { "text": "We're no strangers to love", "start": 18.0, "duration": 3.5 },
    { "text": "You know the rules and so do I", "start": 21.5, "duration": 2.8 }
  ],
  "metadata": {
    "title": "Rick Astley - Never Gonna Give You Up",
    "author_name": "Rick Astley",
    "author_url": "https://www.youtube.com/@RickAstley",
    "thumbnail_url": "https://i.ytimg.com/vi/dQw4w9WgXcQ/maxresdefault.jpg"
  }
}
Response (
format=text
):
json
{
  "video_id": "dQw4w9WgXcQ",
  "language": "en",
  "transcript": "[00:00:18] We're no strangers to love\n[00:00:21] You know the rules...",
  "metadata": {...}
}
bash
curl -s "https://transcriptapi.com/api/v2/youtube/transcript\
?video_url=VIDEO_URL&format=text&include_timestamp=true&send_metadata=true" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY"
参数名称是否必填默认值可选值
video_url
YouTube链接或11位视频ID
format
json
json
,
text
include_timestamp
true
true
,
false
send_metadata
false
true
,
false
支持的视频标识类型:完整URL(
youtube.com/watch?v=ID
)、短链接(
youtu.be/ID
)、Shorts视频(
youtube.com/shorts/ID
),或直接传入11位视频ID。
默认配置: 除非用户特别指定,否则始终使用
format=text&include_timestamp=true&send_metadata=true
参数组合。
响应(
format=json
格式):
json
{
  "video_id": "dQw4w9WgXcQ",
  "language": "en",
  "transcript": [
    { "text": "We're no strangers to love", "start": 18.0, "duration": 3.5 },
    { "text": "You know the rules and so do I", "start": 21.5, "duration": 2.8 }
  ],
  "metadata": {
    "title": "Rick Astley - Never Gonna Give You Up",
    "author_name": "Rick Astley",
    "author_url": "https://www.youtube.com/@RickAstley",
    "thumbnail_url": "https://i.ytimg.com/vi/dQw4w9WgXcQ/maxresdefault.jpg"
  }
}
响应(
format=text
格式):
json
{
  "video_id": "dQw4w9WgXcQ",
  "language": "en",
  "transcript": "[00:00:18] We're no strangers to love\n[00:00:21] You know the rules...",
  "metadata": {...}
}

Errors

错误码说明

CodeMeaningAction
401Bad API keyCheck key or re-setup
402No creditsTop up at transcriptapi.com/billing
404No transcriptVideo may not have captions enabled
408TimeoutRetry once after 2s
429Rate limitedWait and retry
状态码错误含义处理建议
401API密钥无效检查密钥或重新完成配置流程
402额度不足前往transcriptapi.com/billing页面充值
404无转录文本该视频可能未开启字幕功能
408请求超时等待2秒后重试一次
429请求频率超限等待一段时间后重试

Tips

使用提示

  • For long videos, summarize key points first, offer full transcript on request.
  • Use
    format=json
    when you need precise timestamps for quoting specific moments.
  • Use
    include_timestamp=false
    for clean text suitable for translation or analysis.
  • 1 credit per successful request. Errors don't cost credits.
  • Free tier: 100 credits, 300 req/min.
  • 对于长视频,先总结核心要点,用户明确要求时再提供完整转录文本。
  • 当需要精准时间戳来引用特定片段时,使用
    format=json
    格式。
  • 如果需要无时间戳的干净文本用于翻译或分析,设置
    include_timestamp=false
  • 每成功请求一次消耗1个额度,请求失败不扣除额度。
  • 免费套餐:100个请求额度,每分钟最多允许300次请求。