它解决什么问题
学生为了复习一个概念要重看整节课,很多人干脆从不做笔记。讲师想提供学习资料,但没时间为每节课都写。能处理整个播放列表的生成器,可以为每位学习者提供一致、可搜索的资料。
第一版应该包含哪些功能
- 一键导入完整课程播放列表
- 每节课带标题和关键术语的结构化笔记
- 可导出到 Anki 或其他间隔重复应用的闪卡
- 在课程所有讲次中搜索
- 每条笔记都链接回视频中的时间点
分步实现指南
- 01
导入播放列表
用课程播放列表 URL 调用 /playlists/resolve,按顺序获取每一节课。
- 02
批量获取字幕
把 ID 发送到 /batch,并启用 format.paragraphs 和 format.timestamp。
- 03
生成笔记和闪卡
对每节课,让 LLM 生成结构化笔记和问答式闪卡,每条都关联一个时间戳。
- 04
打造学习体验
在嵌入的视频旁边显示笔记,支持跨讲次搜索,并以 Anki 兼容格式导出闪卡。
入门代码
这个创意基于“方案 3:把播放列表批量导入知识库”模式。替换成你自己的频道、提示词和存储即可。
import requests
API = "https://www.youtubetranscript.dev/api/v2"
HEADERS = {"Authorization": "Bearer yt_sk_live_YOUR_KEY"}
playlist = requests.post(f"{API}/playlists/resolve", headers=HEADERS,
json={"playlist_url": "https://www.youtube.com/playlist?list=PLAYLIST_ID",
"limit": 100}).json()
ids = [v["video_id"] for v in playlist["items"]]
batch = requests.post(f"{API}/batch", headers=HEADERS, json={
"video_ids": ids,
"format": {"timestamp": True, "paragraphs": True},
}).json()
# Large batches run async: poll GET /batch/{batch_id} until status is "completed"
for r in batch.get("results", []):
if r["status"] == "completed":
for p in r["data"]["transcript"].get("paragraphs") or []:
store(video_id=r["video_id"], start=p["start"], text=p["text"]) # your vector DB为什么值得做
以月度订阅卖给学生,或作为提高完课率的功能卖给讲师和课程平台。大学可能会为无障碍和学习支持而采购授权。
需要避开的坑
- 总结得过于简略:学生需要定义、例子和步骤,而不仅是摘要。
- 打乱课程顺序:保持播放列表顺序,让笔记跟随课程结构。
- 闪卡脱离上下文:每张卡片都链接到课程中讲解它的时刻。
关于这个创意的问题
能从 YouTube 视频生成课堂笔记吗?
能。获取带段落和时间戳的字幕,然后用 LLM 把它整理成链接到视频的结构化笔记。
能一次处理整门课程吗?
能。解析播放列表,然后在一次批量请求中发送所有课程视频。
有现成的版本吗?
我们的 Study 应用可以把 YouTube 视频变成 AI 笔记、闪卡和测验。你也可以用 API 为自己的课程或平台开发专属版本。