名称: youtube-playlist
描述: 浏览 YouTube 播放列表并获取视频字幕。当用户分享播放列表链接、询问“这个播放列表里有什么”、“列出播放列表视频”、“浏览播放列表内容”,或希望处理播放列表视频并获取其字幕时使用。
主页: https://transcriptapi.com
user-invocable: true
元数据: {"openclaw":{"emoji":"📋","requires":{"env":["TRANSCRIPT_API_KEY"],"bins":["node"],"config":["~/.openclaw/openclaw.json"]},"primaryEnv":"TRANSCRIPT_API_KEY"}}
通过 TranscriptAPI.com 浏览播放列表并获取字幕。
如果未设置 $TRANSCRIPT_API_KEY,请帮助用户创建账户(免费 100 积分,无需信用卡):
步骤 1 — 注册: 向用户询问其邮箱。
node ./scripts/tapi-auth.js register --email 用户邮箱
→ OTP 验证码将发送至邮箱。询问用户:“请检查您的邮箱,获取 6 位验证码。”
步骤 2 — 验证: 用户提供 OTP 后:
node ./scripts/tapi-auth.js verify --token 步骤1中的令牌 --otp 验证码
API 密钥将保存至
~/.openclaw/openclaw.json。详情请参阅下方的文件写入部分。修改前会备份现有文件。
手动选项:transcriptapi.com/signup → 控制面板 → API 密钥。
验证和保存密钥命令会将 API 密钥保存到 ~/.openclaw/openclaw.json(设置 skills.entries.transcriptapi.apiKey 和 enabled: true)。修改前,现有文件会备份到 ~/.openclaw/openclaw.json.bak。
若要在代理之外的终端/CLI 中使用此 API 密钥,请手动将其添加到 shell 配置文件中:
export TRANSCRIPT_API_KEY=<你的密钥>
完整的 OpenAPI 规范:transcriptapi.com/openapi.json — 请查阅此文件以获取最新的参数和模式。
分页列出播放列表视频(每页 100 个)。接受 playlist 参数 — 即 YouTube 播放列表 URL 或播放列表 ID。
# 第一页
curl -s "https://transcriptapi.com/api/v2/youtube/playlist/videos?playlist=PL_播放列表_ID" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"
# 后续页面
curl -s "https://transcriptapi.com/api/v2/youtube/playlist/videos?continuation=令牌" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"
| 参数 | 是否必需 | 验证规则 |
|---|---|---|
playlist |
条件性必需 | 播放列表 URL 或 ID(PL/UU/LL/FL/OL 前缀) |
continuation |
条件性必需 | 非空字符串 |
请提供 playlist 或 continuation 中的一个,不能同时提供。
接受的播放列表 ID 前缀:
PL — 用户创建的播放列表UU — 频道上传列表LL — 喜欢的视频FL — 收藏夹OL — 其他系统播放列表响应示例:
{
"results": [
{
"videoId": "abc123xyz00",
"title": "播放列表视频标题",
"channelId": "UCuAXFkgsw1L7xaCfnd5JJOw",
"channelTitle": "频道名称",
"channelHandle": "@handle",
"lengthText": "10:05",
"viewCountText": "1.5M 次观看",
"thumbnails": [{ "url": "...", "width": 120, "height": 90 }],
"index": "0"
}
],
"playlist_info": {
"title": "最佳科学演讲",
"numVideos": "47",
"description": "顶级科学报告",
"ownerName": "TED",
"viewCount": "5000000"
},
"continuation_token": "4qmFsgKlARIYVVV1...",
"has_more": true
}
分页流程:
?playlist=PLxxx — 返回前 100 个视频及 continuation_token?continuation=TOKEN — 返回接下来 100 个视频及新令牌has_more: false 或 continuation_token: null# 1. 列出播放列表视频
curl -s "https://transcriptapi.com/api/v2/youtube/playlist/videos?playlist=PL_播放列表_ID" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"
# 2. 获取播放列表中某个视频的字幕
curl -s "https://transcriptapi.com/api/v2/youtube/transcript\
?video_url=视频_ID&format=text&include_timestamp=true&send_metadata=true" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"
从 https://www.youtube.com/playlist?list=PLrAXtmErZgOeiKm4sgNOknGvNjby9efdf 中,播放列表 ID 为 PLrAXtmErZgOeiKm4sgNOknGvNjby9efdf。您也可以直接将完整 URL 传递给 playlist 参数。
| 代码 | 含义 | 处理建议 |
|---|---|---|
| 400 | 参数过多或缺失 | 请提供且仅提供 playlist 或 continuation 中的一个 |
| 402 | 积分不足 | 请访问 transcriptapi.com/billing |
| 404 | 播放列表未找到 | 检查播放列表是否为公开状态 |
| 408 | 请求超时 | 可重试一次 |
| 422 | 播放列表格式无效 | 必须是有效的播放列表 URL 或 ID |
每页消耗 1 积分。免费套餐:100 积分,每分钟 300 次请求。