名称: youtube-channels
描述: 用于处理 YouTube 频道——将频道句柄解析为 ID、浏览上传内容、获取最新视频、在频道内搜索。当用户询问特定频道、想查看近期上传内容,或提及“X 最近发布了什么”、“TED 的最新内容”、“给我看看他们的频道”、“列出频道视频”、“浏览频道上传内容”时使用。
主页: 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 提供的 YouTube 频道工具。
如果未设置 $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 —— 请查阅此文件以获取最新的参数和模式定义。
所有频道端点都接受灵活的输入——@句柄、频道 URL 或 UC... 频道 ID。无需预先解析。
将 @句柄、URL 或 UC... ID 转换为规范的频道 ID。
curl -s "https://transcriptapi.com/api/v2/youtube/channel/resolve?input=@TED" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"
| 参数 | 是否必需 | 验证规则 |
|---|---|---|
input |
是 | 1-200 个字符——@句柄、URL 或 UC... ID |
响应示例:
{ "channel_id": "UCsT0YIqwnpJCM-mx7-gSA4Q", "resolved_from": "@TED" }
如果输入已经是 UC[a-zA-Z0-9_-]{22} 格式,则直接返回。
通过 RSS 获取最新的 15 个视频,包含精确统计数据。
curl -s "https://transcriptapi.com/api/v2/youtube/channel/latest?channel=@TED" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"
| 参数 | 是否必需 | 验证规则 |
|---|---|---|
channel |
是 | @句柄、频道 URL 或 UC... ID |
响应示例:
{
"channel": {
"channelId": "UCsT0YIqwnpJCM-mx7-gSA4Q",
"title": "TED",
"author": "TED",
"url": "https://www.youtube.com/channel/UCsT0YIqwnpJCM-mx7-gSA4Q",
"published": "2006-04-17T00:00:00Z"
},
"results": [
{
"videoId": "abc123xyz00",
"title": "最新视频标题",
"channelId": "UCsT0YIqwnpJCM-mx7-gSA4Q",
"author": "TED",
"published": "2026-01-30T16:00:00Z",
"updated": "2026-01-31T02:00:00Z",
"link": "https://www.youtube.com/watch?v=abc123xyz00",
"description": "完整的视频描述...",
"thumbnail": { "url": "https://i1.ytimg.com/vi/.../hqdefault.jpg" },
"viewCount": "2287630",
"starRating": {
"average": "4.92",
"count": "15000",
"min": "1",
"max": "5"
}
}
],
"result_count": 15
}
非常适合监控频道——免费且提供精确的观看次数和 ISO 时间戳。
分页列出频道所有上传内容(每页 100 个)。
# 第一页
curl -s "https://transcriptapi.com/api/v2/youtube/channel/videos?channel=@NASA" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"
# 后续页面
curl -s "https://transcriptapi.com/api/v2/youtube/channel/videos?continuation=令牌" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"
| 参数 | 是否必需 | 验证规则 |
|---|---|---|
channel |
条件性必需 | @句柄、频道 URL 或 UC... ID |
continuation |
条件性必需 | 非空字符串(用于后续页面) |
channel 和 continuation 参数必须且只能提供一个。
响应示例:
{
"results": [{
"videoId": "abc123xyz00",
"title": "视频标题",
"channelId": "UCsT0YIqwnpJCM-mx7-gSA4Q",
"channelTitle": "TED",
"channelHandle": "@TED",
"lengthText": "15:22",
"viewCountText": "3.2M 次观看",
"thumbnails": [...],
"index": "0"
}],
"playlist_info": {"title": "TED 的上传内容", "numVideos": "5000", "ownerName": "TED"},
"continuation_token": "4qmFsgKlARIYVVV1...",
"has_more": true
}
持续使用 continuation 参数调用,直到 has_more: false。
在特定频道内搜索。
curl -s "https://transcriptapi.com/api/v2/youtube/channel/search\
?channel=@TED&q=climate+change&limit=30" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"
| 参数 | 是否必需 | 验证规则 |
|---|---|---|
channel |
是 | @句柄、频道 URL 或 UC... ID |
q |
是 | 1-200 个字符 |
limit |
否 | 1-50(默认 30) |
# 1. 检查最新上传内容(免费——直接传递 @句柄)
curl -s "https://transcriptapi.com/api/v2/youtube/channel/latest?channel=@TED" \
-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"
| 代码 | 含义与操作建议 |
|---|---|
| 400 | 参数组合无效(同时提供了 channel 和 continuation,或两者都未提供) |
| 402 | 积分不足 —— 请访问 transcriptapi.com/billing |
| 404 | 未找到频道 |
| 408 | 请求超时 —— 请重试一次 |
| 422 | 频道标识符无效 |
免费套餐:100 积分,每分钟 300 次请求。免费端点(resolve, latest)需要认证但不消耗积分。