Extract transcripts, subtitles, and metadata from YouTube videos. Use this skill whenever a user shares a YouTube URL or asks to extract scripts, subtitles, transcripts, or captions from a video. Also triggers on keywords like 유튜브, 스크립트, 자막, 트랜스크립트, or any youtube.com / youtu.be link.
Extract full transcripts from YouTube videos with timestamps, using youtube-transcript-api (fast) with yt-dlp fallback.
~/.youtube-venv/bin/python3youtube-transcript-api, yt-dlp# Full transcript extraction
~/.youtube-venv/bin/python3 /home/zhugehyuk/2lab.ai/tools/youtube/scripts/extract_transcript.py "YOUTUBE_URL" [lang]
# Examples
~/.youtube-venv/bin/python3 .../extract_transcript.py "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
~/.youtube-venv/bin/python3 .../extract_transcript.py "https://youtu.be/dQw4w9WgXcQ" ko
~/.youtube-venv/bin/python3 .../extract_transcript.py "dQw4w9WgXcQ" en
JSON with:
video_id: YouTube video IDmetadata: title, channel, duration, views, upload datelanguage: detected language code (ko, en, etc.)is_generated: whether subtitles are auto-generatedfull_text: complete transcript as single stringsegments: array of {text, start, duration} with timestampssegment_count: number of segmentsko)en)Manual (human-written) subtitles are preferred over auto-generated.
https://www.youtube.com/watch?v=VIDEO_IDhttps://youtu.be/VIDEO_IDhttps://www.youtube.com/embed/VIDEO_IDhttps://www.youtube.com/shorts/VIDEO_ID| Error | Cause | Fix |
|---|---|---|
| No transcript available | Video has no captions | Nothing to do — video has no subs |
| Subtitles disabled | Creator disabled captions | Try yt-dlp fallback (auto-generated) |
| Video unavailable | Private/deleted/region-locked | Cannot extract |
| Network timeout | Slow connection | Retry with longer timeout |