{"id":"7c2177e2-e8f8-4963-93e9-c7e5ac23d558","shortId":"dfvAZB","kind":"skill","title":"video-transcript","tagline":"Use when video content needs to be extracted as text: pasted YouTube links or IDs, requests to transcribe, summarize, quote, translate, convert video to text, or extract information from video content. Also use when a user shares a video URL without explanation and wants to know ","description":"# Video Transcript\n\nExtract transcripts from videos via [TranscriptAPI.com](https://transcriptapi.com).\n\n## Setup\n\nIf `$TRANSCRIPT_API_KEY` is not set, read [references/auth-setup.md](references/auth-setup.md) and follow the instructions there to get and store the key.\n\n## Required Headers\n\nEvery request needs two headers:\n\n- **Authorization:** `Bearer $TRANSCRIPT_API_KEY`\n- **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.\n\n## GET /api/v2/youtube/transcript\n\n```bash\ncurl -s \"https://transcriptapi.com/api/v2/youtube/transcript\\\n?video_url=VIDEO_URL&format=text&include_timestamp=true&send_metadata=true\" \\\n  -H \"Authorization: Bearer $TRANSCRIPT_API_KEY\" \\\n  -H \"User-Agent: YourAgent/1.0\"\n```\n\n| Param               | Required | Default | Values                                 |\n| ------------------- | -------- | ------- | -------------------------------------- |\n| `video_url`         | yes      | —       | YouTube URL or 11-char video ID        |\n| `format`            | no       | `json`  | `json` (structured), `text` (readable) |\n| `include_timestamp` | no       | `true`  | `true`, `false`                        |\n| `send_metadata`     | no       | `false` | `true`, `false`                        |\n\nAccepted URL formats:\n\n- `https://www.youtube.com/watch?v=VIDEO_ID`\n- `https://youtu.be/VIDEO_ID`\n- `https://youtube.com/shorts/VIDEO_ID`\n- Bare video ID: `dQw4w9WgXcQ`\n\n**Response** (`format=text&send_metadata=true`):\n\n```json\n{\n  \"video_id\": \"dQw4w9WgXcQ\",\n  \"language\": \"en\",\n  \"transcript\": \"[00:00:18] We're no strangers to love\\n[00:00:21] You know the rules...\",\n  \"metadata\": {\n    \"title\": \"Rick Astley - Never Gonna Give You Up\",\n    \"author_name\": \"Rick Astley\",\n    \"author_url\": \"https://www.youtube.com/@RickAstley\",\n    \"thumbnail_url\": \"https://i.ytimg.com/vi/dQw4w9WgXcQ/maxresdefault.jpg\"\n  }\n}\n```\n\n**Response** (`format=json`):\n\n```json\n{\n  \"video_id\": \"dQw4w9WgXcQ\",\n  \"language\": \"en\",\n  \"transcript\": [\n    { \"text\": \"We're no strangers to love\", \"start\": 18.0, \"duration\": 3.5 },\n    { \"text\": \"You know the rules and so do I\", \"start\": 21.5, \"duration\": 2.8 }\n  ]\n}\n```\n\n## Tips\n\n- Summarize long transcripts into key points first, offer full text on request.\n- Use `format=json` when you need precise timestamps for quoting specific moments.\n- Use `send_metadata=true` to get video title and channel for context.\n- Works with YouTube Shorts too.\n\n## Errors\n\n| Code     | Meaning          | Action                                         |\n| -------- | ---------------- | ---------------------------------------------- |\n| 401      | Bad API key      | Check key or re-setup                          |\n| 402      | No credits       | Top up at transcriptapi.com/billing            |\n| 403/1010 | Cloudflare block | Add or fix User-Agent header                   |\n| 404      | No transcript    | Video may not have captions enabled            |\n| 408      | Timeout          | Retry once after 2s                            |\n\n1 credit per successful request. Errors don't consume credits. Free tier: 100 credits, 300 req/min.","tags":["video","transcript","youtube","skills","zeropointrepo","agent-skills","clawdbot","hermes-agent","openclaw","youtube-search","youtube-transcript"],"capabilities":["skill","source-zeropointrepo","skill-video-transcript","topic-agent-skills","topic-clawdbot","topic-hermes-agent","topic-openclaw","topic-youtube-search","topic-youtube-transcript"],"categories":["youtube-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/ZeroPointRepo/youtube-skills/video-transcript","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add ZeroPointRepo/youtube-skills","source_repo":"https://github.com/ZeroPointRepo/youtube-skills","install_from":"skills.sh"}},"qualityScore":"0.511","qualityRationale":"deterministic score 0.51 from registry signals: · indexed on github topic:agent-skills · 123 github stars · SKILL.md body (3,288 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-02T12:54:56.703Z","embedding":null,"createdAt":"2026-04-18T22:11:52.152Z","updatedAt":"2026-05-02T12:54:56.703Z","lastSeenAt":"2026-05-02T12:54:56.703Z","tsv":"'/@rickastley':264 '/api/v2/youtube/transcript':138,144 '/billing':368 '/shorts/video_id':212 '/vi/dqw4w9wgxcq/maxresdefault.jpg':269 '/video_id':209 '/watch?v=video_id':206 '00':230,231,240,241 '1':394 '100':406 '1010':132 '11':178 '18':232 '18.0':288 '2.8':303 '21':242 '21.5':301 '2s':393 '3.5':290 '300':408 '401':350 '402':360 '403':129 '403/1010':369 '404':379 '408':388 'accept':201 'action':349 'add':372 'agent':95,97,110,166,377 'alon':112 'also':35 'api':62,91,161,352 'astley':250,259 'author':88,158,256,260 'bad':351 'bare':123,213 'bash':139 'bearer':89,159 'block':134,371 'caption':386 'channel':338 'char':179 'check':354 'claudecode/1.0':106 'cloudflar':125,370 'code':131,347 'consum':402 'content':7,34 'context':340 'convert':25 'credit':362,395,403,407 'curl':140 'default':124,170 'dqw4w9wgxcq':216,226,276 'durat':289,302 'e.g':104 'en':228,278 'enabl':387 'error':130,346,399 'everi':83 'explan':45 'extract':11,30,52 'fals':194,198,200 'fine':114 'first':311 'fix':374 'follow':71 'format':149,182,203,218,271,318 'free':404 'full':313 'get':76,137,334 'give':253 'gonna':252 'h':157,163 'header':82,87,119,378 'hermesagent/0.11.0':105 'i.ytimg.com':268 'i.ytimg.com/vi/dqw4w9wgxcq/maxresdefault.jpg':267 'id':18,181,215,225,275 'includ':151,189 'inform':31 'instruct':73 'json':184,185,223,272,273,319 'key':63,80,92,162,309,353,355 'know':49,244,293 'known':103 'languag':227,277 'link':16 'long':306 'love':238,286 'may':383 'mean':348 'metadata':155,196,221,247,331 'moment':328 'n':239 'name':99,111,257 'need':8,85,322 'never':251 'offer':312 'omit':117 'option':109 'param':168 'past':14 'per':396 'point':310 'precis':323 'quot':23,326 're':234,282,358 're-setup':357 'read':67 'readabl':188 'references/auth-setup.md':68,69 'req/min':409 'request':19,84,136,316,398 'requir':81,169 'respons':217,270 'retri':390 'return':127 'rick':249,258 'rule':246,295 'send':121,154,195,220,330 'set':66 'setup':59,359 'share':40 'short':344 'skill' 'skill-video-transcript' 'source-zeropointrepo' 'specif':327 'start':287,300 'store':78 'stranger':236,284 'structur':186 'success':397 'summar':22,305 'text':13,28,150,187,219,280,291,314 'thumbnail':265 'tier':405 'timeout':389 'timestamp':152,190,324 'tip':304 'titl':248,336 'top':363 'topic-agent-skills' 'topic-clawdbot' 'topic-hermes-agent' 'topic-openclaw' 'topic-youtube-search' 'topic-youtube-transcript' 'transcrib':21 'transcript':3,51,53,61,90,160,229,279,307,381 'transcriptapi.com':57,58,143,367 'transcriptapi.com/api/v2/youtube/transcript':142 'transcriptapi.com/billing':366 'translat':24 'true':153,156,192,193,199,222,332 'two':86 'url':43,146,148,173,176,202,261,266 'use':4,36,317,329 'user':39,94,165,376 'user-ag':93,164,375 'valu':171 'version':101,107 'via':56 'video':2,6,26,33,42,50,55,145,147,172,180,214,224,274,335,382 'video-transcript':1 'want':47 'without':44 'work':341 'www.youtube.com':205,263 'www.youtube.com/@rickastley':262 'www.youtube.com/watch?v=video_id':204 'yes':174 'youragent/1.0':167 'youtu.be':208 'youtu.be/video_id':207 'youtub':15,175,343 'youtube.com':211 'youtube.com/shorts/video_id':210","prices":[{"id":"a69fac99-6036-47a1-aae1-cdbec501c196","listingId":"7c2177e2-e8f8-4963-93e9-c7e5ac23d558","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"ZeroPointRepo","category":"youtube-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T22:11:52.152Z"}],"sources":[{"listingId":"7c2177e2-e8f8-4963-93e9-c7e5ac23d558","source":"github","sourceId":"ZeroPointRepo/youtube-skills/video-transcript","sourceUrl":"https://github.com/ZeroPointRepo/youtube-skills/tree/main/skills/video-transcript","isPrimary":false,"firstSeenAt":"2026-04-18T22:11:52.152Z","lastSeenAt":"2026-05-02T12:54:56.703Z"}],"details":{"listingId":"7c2177e2-e8f8-4963-93e9-c7e5ac23d558","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"ZeroPointRepo","slug":"video-transcript","github":{"repo":"ZeroPointRepo/youtube-skills","stars":123,"topics":["agent-skills","clawdbot","hermes-agent","openclaw","youtube-search","youtube-transcript"],"license":"mit","html_url":"https://github.com/ZeroPointRepo/youtube-skills","pushed_at":"2026-04-29T18:46:05Z","description":"YouTube Transcript API skills for AI agents. Get transcripts, search videos, browse channels. Works with OpenClaw, Hermes-Agent, Claude Code, Cursor, Windsurf.","skill_md_sha":"dc46f18205a77cfd077c89922b7f5446259da104","skill_md_path":"skills/video-transcript/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/ZeroPointRepo/youtube-skills/tree/main/skills/video-transcript"},"layout":"multi","source":"github","category":"youtube-skills","frontmatter":{"name":"video-transcript","description":"Use when video content needs to be extracted as text: pasted YouTube links or IDs, requests to transcribe, summarize, quote, translate, convert video to text, or extract information from video content. Also use when a user shares a video URL without explanation and wants to know what it says. Not for uploads or account management.","compatibility":"Requires internet access to reach transcriptapi.com. No additional runtimes or dependencies needed."},"skills_sh_url":"https://skills.sh/ZeroPointRepo/youtube-skills/video-transcript"},"updatedAt":"2026-05-02T12:54:56.703Z"}}