AgentSkillsCN

youtube-full

一站式 YouTube 工具包——集字幕稿本、搜索功能、频道管理、播放列表及元数据于一体。当您需要全面访问 YouTube 数据,既想搜索视频并获取字幕稿本,又想浏览频道内容、操作播放列表,或需要调用完整的 YouTube 数据接口时,可使用此工具包。专为客服人员打造的一站式 YouTube 技能。

SKILL.md
--- frontmatter
name: youtube-full
description: Complete YouTube toolkit — transcripts, search, channels, playlists, and metadata all in one skill. Use when you need comprehensive YouTube access, want to search and then get transcripts, browse channel content, work with playlists, or need the full suite of YouTube data endpoints. The all-in-one YouTube skill for agents.
homepage: https://transcriptapi.com
user-invocable: true

YouTube Full

Complete YouTube toolkit via TranscriptAPI.com. Everything in one skill.

Setup

If $TRANSCRIPT_API_KEY is not set, help the user create an account (100 free credits, no card):

Step 1 — Register: Ask user for their email.

bash
node ./scripts/tapi-auth.js register --email USER_EMAIL

→ OTP sent to email. Ask user: "Check your email for a 6-digit verification code."

Step 2 — Verify: Once user provides the OTP:

bash
node ./scripts/tapi-auth.js verify --token TOKEN_FROM_STEP_1 --otp CODE

API key saved to your shell profile and agent config. Ready to use.

Manual option: transcriptapi.com/signup → Dashboard → API Keys.

API Reference

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

Transcript — 1 credit

bash
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"
ParamRequiredDefaultValues
video_urlyesYouTube URL or 11-char video ID
formatnojsonjson, text
include_timestampnotruetrue, false
send_metadatanofalsetrue, false

Response (format=json):

json
{
  "video_id": "dQw4w9WgXcQ",
  "language": "en",
  "transcript": [{ "text": "...", "start": 18.0, "duration": 3.5 }],
  "metadata": { "title": "...", "author_name": "...", "author_url": "..." }
}

Search — 1 credit

bash
# Videos
curl -s "https://transcriptapi.com/api/v2/youtube/search?q=QUERY&type=video&limit=20" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY"

# Channels
curl -s "https://transcriptapi.com/api/v2/youtube/search?q=QUERY&type=channel&limit=10" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY"
ParamRequiredDefaultValidation
qyes1-200 chars
typenovideovideo, channel
limitno201-50

Channels

All channel endpoints accept channel — an @handle, channel URL, or UC... channel ID. No need to resolve first.

Resolve handle — FREE

bash
curl -s "https://transcriptapi.com/api/v2/youtube/channel/resolve?input=@TED" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY"

Response: {"channel_id": "UC...", "resolved_from": "@TED"}

Latest 15 videos — FREE

bash
curl -s "https://transcriptapi.com/api/v2/youtube/channel/latest?channel=@TED" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY"

Returns exact viewCount and ISO published timestamps.

All channel videos — 1 credit/page

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

# Next pages
curl -s "https://transcriptapi.com/api/v2/youtube/channel/videos?continuation=TOKEN" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY"

Provide exactly one of channel or continuation. Response includes continuation_token and has_more.

Search within channel — 1 credit

bash
curl -s "https://transcriptapi.com/api/v2/youtube/channel/search\
?channel=@TED&q=QUERY&limit=30" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY"

Playlists — 1 credit/page

Accepts playlist — a YouTube playlist URL or playlist ID.

bash
# First page
curl -s "https://transcriptapi.com/api/v2/youtube/playlist/videos?playlist=PL_ID" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY"

# Next pages
curl -s "https://transcriptapi.com/api/v2/youtube/playlist/videos?continuation=TOKEN" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY"

Valid ID prefixes: PL, UU, LL, FL, OL. Response includes playlist_info, results, continuation_token, has_more.

Credit Costs

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

Validation Rules

FieldRule
channel@handle, channel URL, or UC... ID
playlistPlaylist URL or ID (PL/UU/LL/FL/OL prefix)
q1-200 chars
limit1-50

Errors

CodeMeaningAction
401Bad API keyCheck key
402No creditstranscriptapi.com/billing
404Not foundResource doesn't exist or no captions
408TimeoutRetry once after 2s
422Validation errorCheck param format
429Rate limitedWait, respect Retry-After

Typical Workflows

Research workflow: search → pick videos → fetch transcripts

bash
# 1. Search
curl -s "https://transcriptapi.com/api/v2/youtube/search\
?q=machine+learning+explained&limit=5" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY"
# 2. Transcript
curl -s "https://transcriptapi.com/api/v2/youtube/transcript\
?video_url=VIDEO_ID&format=text&include_timestamp=true&send_metadata=true" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY"

Channel monitoring: latest (free) → transcript

bash
# 1. Latest uploads (free — pass @handle directly)
curl -s "https://transcriptapi.com/api/v2/youtube/channel/latest?channel=@TED" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY"
# 2. Transcript of latest
curl -s "https://transcriptapi.com/api/v2/youtube/transcript\
?video_url=VIDEO_ID&format=text&include_timestamp=true&send_metadata=true" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY"

Free tier: 100 credits, 300 req/min. Starter ($5/mo): 1,000 credits.