开发指南 · 应用开发者

如何为 YouTube 视频搭建多语言字幕流水线

热门视频的大多数观众并不说视频的原始语言。一条能翻译字幕并导出带时间轴字幕文件的流水线,能帮助创作者和课程平台触达这些观众,而不必为每个视频都聘请译者。

适合谁
本地化工具、国际化创作者、在线教育平台
开发周期
一个周末
API 接口
/transcripts/{video_id}/languages/transcripts/{video_id}/translate

它解决什么问题

专业字幕翻译速度慢,还按分钟计价,所以大多数创作者只发布一种语言。YouTube 的自动翻译质量不稳定,也无法导出或编辑。团队需要多种语言的、可编辑的带时间轴字幕文件,能自行审核和上传。

第一版应该包含哪些功能

  • 检测已有字幕的语言
  • 一次翻译成多种目标语言
  • 导出 SRT 和 VTT,保留原始时间轴
  • 左右对照的翻译审核编辑器
  • 品牌名和专业术语词汇表

分步实现指南

  1. 01

    检查已有语言

    调用 /transcripts/{video_id}/languages 查看已有哪些字幕轨道,避免为现成的语言付费翻译。

  2. 02

    获取原始字幕

    调用 /transcribe 并启用 format.timestamp,获取带开始和结束时间的分段。

  3. 03

    翻译

    为每种目标语言调用 /transcripts/{video_id}/translate。分段时间轴与原文保持对齐。

  4. 04

    导出字幕文件

    根据每个分段的开始和结束时间,写成带编号的 SRT 字幕块或 VTT 字幕条,然后让用户下载或上传到 YouTube。

入门代码

这个创意基于“方案 1:输入一个视频,输出结构化结果”模式。替换成你自己的频道、提示词和存储即可。

import requests

API = "https://www.youtubetranscript.dev/api/v2"
HEADERS = {"Authorization": "Bearer yt_sk_live_YOUR_KEY"}

res = requests.post(f"{API}/transcribe", headers=HEADERS, json={
    "video": "https://www.youtube.com/watch?v=VIDEO_ID",
    "format": {"timestamp": True, "paragraphs": True},
}).json()

transcript = res["data"]["transcript"]
print(transcript["text"][:500])        # plain text for your LLM prompt
for seg in transcript["segments"][:3]:  # timestamps for deep links
    print(seg["start"], seg["text"])

为什么值得做

按每种语言每分钟视频定价,或采用按月订阅分级。大批量做本地化的在线教育平台和代理公司是最好的客户,因为每增加一种语言,价值就随之增长。

需要避开的坑

  • 脱离上下文逐行翻译,导致跨越多条字幕的句子被拆散。
  • 忽略阅读速度:译文可能比原文长,需要检查每秒字符数。
  • 为已有人工字幕的语言付费翻译。

关于这个创意的问题

能把翻译后的 YouTube 字幕下载为 SRT 吗?

可以。通过 API 翻译字幕,然后把每个带时间轴的分段写成 SRT 或 VTT 格式即可。

字幕翻译要花多少钱?

翻译大约每 2,500 个字符的字幕文本消耗 1 个额度。获取原生字幕每个视频消耗 1 个额度。

可以用来做配音吗?

可以。翻译好的带时间轴脚本,正是大多数 AI 语音和配音工具所需的输入。

今天就开始开发

每月 10 个免费额度,无需信用卡。

如何开发 YouTube 字幕翻译工具(SRT/VTT) | YouTubeTranscript.dev