返回技能列表

transcriptapi

ZeroPointRepo
更新于 5 days ago
258
26
258
在 GitHub 上查看
apidesign

关于

This skill enables Claude to fetch and analyze YouTube content via the TranscriptAPI, including retrieving transcripts, searching videos/channels, and browsing playlists. Use it whenever video content is relevant, such as for summarizing tutorials, researching topics, or extracting quotes from lectures. It requires an API key but handles all YouTube data interactions without direct platform access.

快速安装

Claude Code

推荐
主要方式
npx skills add ZeroPointRepo/youtube-skills -a claude-code
插件命令备选方式
/plugin add https://github.com/ZeroPointRepo/youtube-skills
Git 克隆备选方式
git clone https://github.com/ZeroPointRepo/youtube-skills.git ~/.claude/skills/transcriptapi

在 Claude Code 中复制并粘贴此命令以安装该技能

技能文档

TranscriptAPI

Full YouTube data toolkit via TranscriptAPI.com. Transcripts, search, channels, playlists — one API key.

Setup

If $TRANSCRIPT_API_KEY is not set, read references/auth-setup.md and follow the instructions there to get and store the key.

Required Headers

Every request needs two headers:

  • Authorization: Bearer $TRANSCRIPT_API_KEY
  • User-Agent: your agent's name and version if known (e.g. HermesAgent/0.11.0, ClaudeCode/1.0). Version is optional — agent name alone is fine. Do not omit this header or send a bare default — Cloudflare will return a 403 (error code 1010) and block the request.

API Reference

Full OpenAPI spec: transcriptapi.com/openapi.json — consult this for the latest parameters and schemas.

Auth

All requests: -H "Authorization: Bearer $TRANSCRIPT_API_KEY"

Endpoints

Channel endpoints accept channel — an @handle, channel URL, or UC... ID. No need to resolve first. Playlist endpoints accept playlist — a playlist URL or ID.

GET /api/v2/youtube/transcript — 1 credit

curl -s "https://transcriptapi.com/api/v2/youtube/transcript\
?video_url=VIDEO_URL&format=text&include_timestamp=true&send_metadata=true" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY" \
  -H "User-Agent: YourAgent/1.0"
ParamRequiredDefaultValidation
video_urlyesYouTube URL or 11-char video ID
formatnojsonjson or text
include_timestampnotruetrue or false
send_metadatanofalsetrue or false

Accepts: https://youtube.com/watch?v=ID, https://youtu.be/ID, youtube.com/shorts/ID, or bare ID.

Response (format=json):

{
  "video_id": "dQw4w9WgXcQ",
  "language": "en",
  "transcript": [
    { "text": "We're no strangers...", "start": 18.0, "duration": 3.5 }
  ],
  "metadata": { "title": "...", "author_name": "...", "author_url": "..." }
}

GET /api/v2/youtube/search — 1 credit

curl -s "https://transcriptapi.com/api/v2/youtube/search?q=QUERY&type=video&limit=20" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY" \
  -H "User-Agent: YourAgent/1.0"
ParamRequiredDefaultValidation
qyes1-200 chars (trimmed)
typenovideovideo or channel
limitno201-50

Response (type=video):

{
  "results": [
    {
      "type": "video",
      "videoId": "dQw4w9WgXcQ",
      "title": "Rick Astley - Never Gonna Give You Up",
      "channelId": "UCuAXFkgsw1L7xaCfnd5JJOw",
      "channelTitle": "Rick Astley",
      "channelHandle": "@RickAstley",
      "channelVerified": true,
      "lengthText": "3:33",
      "viewCountText": "1.5B views",
      "publishedTimeText": "14 years ago",
      "hasCaptions": true,
      "thumbnails": [{ "url": "...", "width": 120, "height": 90 }]
    }
  ],
  "result_count": 20
}

Response (type=channel):

{
  "results": [
    {
      "type": "channel",
      "channelId": "UCuAXFkgsw1L7xaCfnd5JJOw",
      "title": "Rick Astley",
      "handle": "@RickAstley",
      "subscriberCount": "4.2M subscribers",
      "verified": true,
      "rssUrl": "https://www.youtube.com/feeds/videos.xml?channel_id=UC..."
    }
  ],
  "result_count": 5
}

GET /api/v2/youtube/channel/resolve — FREE (0 credits)

curl -s "https://transcriptapi.com/api/v2/youtube/channel/resolve?input=@TED" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY" \
  -H "User-Agent: YourAgent/1.0"
ParamRequiredValidation
inputyes1-200 chars — @handle, URL, or UC... ID

Response:

{ "channel_id": "UCsT0YIqwnpJCM-mx7-gSA4Q", "resolved_from": "@TED" }

If input is already a valid UC[a-zA-Z0-9_-]{22} ID, returns immediately without lookup.

GET /api/v2/youtube/channel/videos — 1 credit/page

# First page (100 videos)
curl -s "https://transcriptapi.com/api/v2/youtube/channel/videos?channel=@NASA" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY" \
  -H "User-Agent: YourAgent/1.0"

# Next pages
curl -s "https://transcriptapi.com/api/v2/youtube/channel/videos?continuation=TOKEN" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY" \
  -H "User-Agent: YourAgent/1.0"
ParamRequiredValidation
channelconditional@handle, channel URL, or UC... ID
continuationconditionalnon-empty string (next pages)

Provide exactly one of channel or continuation.

Response:

{
  "results": [{
    "videoId": "abc123xyz00",
    "title": "Latest Video",
    "channelId": "UCsT0YIqwnpJCM-mx7-gSA4Q",
    "channelTitle": "TED",
    "channelHandle": "@TED",
    "lengthText": "15:22",
    "viewCountText": "3.2M views",
    "thumbnails": [...],
    "index": "0"
  }],
  "playlist_info": {"title": "Uploads from TED", "numVideos": "5000"},
  "continuation_token": "4qmFsgKlARIYVVV1...",
  "has_more": true
}

GET /api/v2/youtube/channel/latest — FREE (0 credits)

curl -s "https://transcriptapi.com/api/v2/youtube/channel/latest?channel=@TED" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY" \
  -H "User-Agent: YourAgent/1.0"
ParamRequiredValidation
channelyes@handle, channel URL, or UC... ID

Returns last 15 videos via RSS with exact view counts and ISO timestamps.

Response:

{
  "channel": {
    "channelId": "...",
    "title": "TED",
    "author": "TED",
    "url": "..."
  },
  "results": [
    {
      "videoId": "abc123xyz00",
      "title": "Latest Video",
      "published": "2026-01-30T16:00:00Z",
      "viewCount": "2287630",
      "description": "Full description...",
      "thumbnail": { "url": "...", "width": "480", "height": "360" }
    }
  ],
  "result_count": 15
}

GET /api/v2/youtube/channel/search — 1 credit

curl -s "https://transcriptapi.com/api/v2/youtube/channel/search\
?channel=@TED&q=climate+change&limit=30" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY" \
  -H "User-Agent: YourAgent/1.0"
ParamRequiredValidation
channelyes@handle, channel URL, or UC... ID
qyes1-200 chars
limitno1-50 (default 30)

GET /api/v2/youtube/playlist/videos — 1 credit/page

# First page
curl -s "https://transcriptapi.com/api/v2/youtube/playlist/videos?playlist=PL_PLAYLIST_ID" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY" \
  -H "User-Agent: YourAgent/1.0"

# Next pages
curl -s "https://transcriptapi.com/api/v2/youtube/playlist/videos?continuation=TOKEN" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY" \
  -H "User-Agent: YourAgent/1.0"
ParamRequiredValidation
playlistconditionalPlaylist URL or ID (PL/UU/LL/FL/OL prefix)
continuationconditionalnon-empty string

Credit Costs

EndpointCost
transcript1
search1
channel/resolvefree
channel/search1
channel/videos1/page
channel/latestfree
playlist/videos1/page

Errors

CodeMeaningAction
401Bad API keyCheck key, re-run setup
402No creditsTop up at transcriptapi.com/billing
403/1010Cloudflare blockAdd or fix User-Agent header
404Not foundVideo/channel/playlist doesn't exist or no captions
408Timeout/retryableRetry once after 2s
422Validation errorCheck param format
429Rate limitedWait, respect Retry-After

Tips

  • When user shares YouTube URL with no instruction, fetch transcript and summarize key points.
  • Use channel/latest (free) to check for new uploads before fetching transcripts — pass @handle directly.
  • For research: search → pick videos → fetch transcripts.
  • Free tier: 100 credits, 300 req/min. Starter ($5/mo): 1,000 credits, 300 req/min.

GitHub 仓库

ZeroPointRepo/youtube-skills
路径: clawhub/transcriptapi
0
agent-skillsclawdbothermes-agentopenclawyoutube-searchyoutube-transcript

相关推荐技能

content-collections

Content Collections 是一个 TypeScript 优先的构建工具,可将本地 Markdown/MDX 文件转换为类型安全的数据集合。它专为构建博客、文档站和内容密集型 Vite+React 应用而设计,提供基于 Zod 的自动模式验证。该工具涵盖从 Vite 插件配置、MDX 编译到生产环境部署的完整工作流。

查看技能

polymarket

这个Claude Skill为开发者提供完整的Polymarket预测市场开发支持,涵盖API调用、交易执行和市场数据分析。关键特性包括实时WebSocket数据流,可监控实时交易、订单和市场动态。开发者可用它构建预测市场应用、实施交易策略并集成实时市场预测功能。

查看技能

creating-opencode-plugins

该Skill帮助开发者创建OpenCode插件,用于接入命令、文件、LSP等25+种事件。它提供了插件结构、事件API规范和JavaScript/TypeScript实现模式,适合需要拦截操作、扩展功能或自定义事件处理的场景。开发者可通过它快速构建响应式模块来增强OpenCode AI助手的能力。

查看技能

sglang

SGLang是一个专为LLM设计的高性能推理框架,特别适用于需要结构化输出的场景。它通过RadixAttention前缀缓存技术,在处理JSON、正则表达式、工具调用等具有重复前缀的复杂工作流时,能实现极速生成。如果你正在构建智能体或多轮对话系统,并追求远超vLLM的推理性能,SGLang是理想选择。

查看技能