OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  youtube-channels:处理 YouTube 频道信息,支持 Handle 转 ID

youtube-channels:处理 YouTube 频道信息,支持 Handle 转 ID

 
  omniai ·  2026-02-18 17:35:26 · 3 次点击  · 0 条评论  

名称: 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"}}


YouTube 频道工具

通过 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.apiKeyenabled: true)。修改前,现有文件会备份到 ~/.openclaw/openclaw.json.bak

若要在代理之外的终端/CLI 中使用此 API 密钥,请手动将其添加到 shell 配置文件中:
export TRANSCRIPT_API_KEY=<你的密钥>

API 参考

完整的 OpenAPI 规范:transcriptapi.com/openapi.json —— 请查阅此文件以获取最新的参数和模式定义。

所有频道端点都接受灵活的输入——@句柄、频道 URL 或 UC... 频道 ID。无需预先解析。

GET /api/v2/youtube/channel/resolve — 免费

将 @句柄、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} 格式,则直接返回。

GET /api/v2/youtube/channel/latest — 免费

通过 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 时间戳。

GET /api/v2/youtube/channel/videos — 1 积分/页

分页列出频道所有上传内容(每页 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 条件性必需 非空字符串(用于后续页面)

channelcontinuation 参数必须且只能提供一个。

响应示例:

{
  "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

GET /api/v2/youtube/channel/search — 1 积分

在特定频道内搜索。

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 参数组合无效(同时提供了 channelcontinuation,或两者都未提供)
402 积分不足 —— 请访问 transcriptapi.com/billing
404 未找到频道
408 请求超时 —— 请重试一次
422 频道标识符无效

免费套餐:100 积分,每分钟 300 次请求。免费端点(resolve, latest)需要认证但不消耗积分。

3 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor