开发指南 · 教育者

如何用 YouTube 视频开发语言学习应用

学习者看自己真正想看的内容时进步更快。YouTube 上有各种话题、各种难度的母语讲话。借助字幕、翻译和词级时间,任何视频都能变成一堂互动课。

适合谁
外语老师、语言学习应用、自学者
开发周期
1–2 周
API 接口
/transcribe/transcripts/{video_id}/translateformat.words

它解决什么问题

教材音频是照稿念的,很不自然;而真实视频对大多数学习者来说,没有辅助就太难了。学习者需要看到说的内容、立刻理解生词,并用符合自己兴趣的内容分小段练习听力。

第一版应该包含哪些功能

  • 与播放同步的左右对照双语字幕
  • 点词即译和生词本
  • 单句重播
  • 基于真实分段的完形填空和听写练习
  • 难度评级,帮助学习者挑选视频

分步实现指南

  1. 01

    获取原语言字幕

    按视频语言调用 /transcribe 并启用 format.words,获取词级时间。

  2. 02

    提供翻译辅助

    调用 /transcripts/{video_id}/translate 翻译成学习者的母语,构建双语视图。

  3. 03

    与播放器同步

    使用 YouTube 嵌入播放器的当前时间,高亮当前分段和单词。

  4. 04

    生成练习

    把分段中的单词挖空做完形填空,或播放一个分段让学习者输入听到的内容。

入门代码

这个创意基于“方案 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 字幕学外语吗?

能。跟着母语讲话阅读、翻译生词、重播句子,是提升听力的有效方法。

如何让字幕与视频同步?

每个分段和单词都有开始时间。将其与嵌入播放器的当前时间比较,就能高亮当前文本。

支持哪些语言?

YouTube 上任何有字幕的语言,外加通过 AI 语音识别支持的 99 种语言。字幕可以翻译成多种目标语言。

今天就开始开发

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

如何用 YouTube 视频开发语言学习应用 | YouTubeTranscript.dev