跳到正文
Transcript Dock
登录免费开始

站点菜单

Transcript Dock

如何获取 YouTube 文稿

获取 YouTube 视频文稿的五种方法:在 YouTube 里查看、使用 yt-dlp、用 Python、通过 Transcript Dock API,或者直接问 Claude。

先说结论:如果视频有字幕,YouTube 可以在简介下方显示它的文稿(展开 ...more,再点 Show transcript)。想把文稿存成文件,或者处理很多视频,可以在自己的电脑上使用 yt-dlp 或 Python 库 youtube-transcript-api;如果你在云端运行,或者还需要 TikTok,就向 Transcript Dock 这类托管 API 发一次请求。没有字幕的视频,则需要对音频做 AI 转录。

该选哪种方法#

方式适合费用限制
YouTube 文稿面板手动处理单个视频免费视频必须有字幕;手动复制会丢失时间信息
yt-dlp在自己电脑上运行的脚本免费得到的是字幕文件;很多云服务器 IP 会被拦截
youtube-transcript-apiPython 笔记本和脚本免费在云端需要住宅代理;只支持 YouTube
Transcript Dock API应用、数据管道、大量视频每个视频 1 个点数托管服务,也支持 TikTok,没有字幕时可用 AI 转录
Claude 或 Cursor(MCP)针对视频提问每个视频 1 个点数完全不用写代码

1. 在 YouTube 里查看#

  1. 在电脑上打开视频。
  2. 点击标题下方的 ...more,展开简介。
  3. 滚动到简介底部,点击 Show transcript。
  4. 文稿会在视频旁边打开。用它顶部的菜单隐藏时间戳,然后选中并复制。

只有视频有字幕时才会出现这个按钮,字幕可以是创作者上传的,也可以是 YouTube 自动生成的。看一个视频没问题;手动复制会丢失时间信息,也没法批量处理。

2. 使用 yt-dlp#

yt-dlp 是一个免费的命令行工具。下面的命令会把英文字幕保存为 SRT 文件,不会下载视频:

终端
yt-dlp --skip-download --write-subs --write-auto-subs --sub-langs en --convert-subs srt \
"https://www.youtube.com/watch?v=dQw4w9WgXcQ"

创作者没有上传字幕时,--write-auto-subs 会把 YouTube 的自动字幕也包含进来。在家里的网络上运行效果不错;在服务器上,YouTube 往往会要求它先登录。

3. 使用 Python#

开源库 youtube-transcript-api 读取的是同样的字幕,不需要 API 密钥:

python
# pip install youtube-transcript-api
from youtube_transcript_api import YouTubeTranscriptApi
 
transcript = YouTubeTranscriptApi().fetch("dQw4w9WgXcQ", languages=["en"])
for snippet in transcript:
print(round(snippet.start, 1), snippet.text)

它的 README 提醒说,YouTube 会封锁大多数属于云服务商的 IP 地址,所以在 AWS、Google Cloud 或 VPS 上需要轮换的住宅代理。参见Transcript Dock 与 youtube-transcript-api 对比。

4. 使用 Transcript Dock API#

只要三个请求:提交链接、等待、导出。它在任何环境都能运行(不用管理代理),返回带时间的分段,可导出 TXT、SRT、VTT 或 JSON,用在 TikTok 上也完全一样。一份字幕文稿消耗 1 个点数,每个账户每月有 50 个免费点数。

# 1. submit the link (1 credit)
curl -X POST https://www.transcriptdock.com/v1/jobs \
-H "Authorization: Bearer td_live_YOUR_KEY" \
-H "Idempotency-Key: yt-dQw4w9WgXcQ" \
-H "Content-Type: application/json" \
-d '{ "source": { "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ" }, "mode": "captions_only" }'
 
# 2. wait for it (returns as soon as the job finishes)
curl "https://www.transcriptdock.com/v1/jobs/JOB_ID?wait=25" -H "Authorization: Bearer td_live_YOUR_KEY"
 
# 3. export the transcript (free)
curl "https://www.transcriptdock.com/v1/transcripts/RESULT_ID/export?format=txt" -H "Authorization: Bearer td_live_YOUR_KEY"

完整流程见快速入门。要处理整个频道、播放列表或搜索结果,先用视频发现列出视频,再作为批量任务提交。

5. 询问 Claude 或 Cursor#

把 Transcript Dock 添加为连接器,然后用平常的话提问,比如附上链接问“这个视频讲了什么?”。Claude 会获取文稿,并根据文稿来回答。设置只要一分钟:Claude、Claude Code、Cursor。

视频没有字幕时#

上面的每种方法读取的都是已经存在的字幕。没有字幕时,就必须对音频做转录。使用 Transcript Dock 时发送 mode: "auto":有字幕就用字幕,没有就用 AI 转录,付费套餐每开始一分钟消耗 2 个点数。结果包含逐词时间。

已经有字幕文件了?免费的字幕转文本和 SRT 转 VTT 工具直接在浏览器里运行。

常见问题#

  • 这样做允许吗? 为自己的研究、无障碍或分析而读取字幕是常见做法;重新发布别人的文字则是版权问题。请根据你的用途查看 YouTube 的条款。
  • 其他语言? 传入 caption_languages,例如 ["es", "en"],即可优先选用某条字幕轨道。用语言发现可以列出视频的所有字幕轨道。
  • Shorts? 支持。Shorts、watch 和 youtu.be 链接都可以。