[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6EGPGDJ804CSWM20FD7567G":3,"skill-same:01M6EGPGDJ804CSWM20FD7567G":48},{"skillNo":4,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":21,"linkOnly":22,"markdownContent":23,"markdownBody":23,"frontMatter":24,"refName":25,"commitSha":26,"skillDirectory":27,"forksCount":28,"repositoryHtmlUrl":29,"repositoryHomepageUrl":30,"ownerHtmlUrl":31,"ownerBlogUrl":6,"ownerDescription":32,"updatedAt":33,"install":34,"resources":47},"01M6EGPGDJ804CSWM20FD7567G","youtube-transcription",null,"ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",66,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002FTerminalSkills\u002Fskills\u002Fyoutube-transcription\u002FSKILL.md",[],[18,19,20],"youtube","transcription","youtube transcription","2026-11-10 10:12:30",false,"# YouTube Video Transcription\n\nTranscribe YouTube videos to text using OpenAI Whisper and yt-dlp.\n\n## Overview\n\nThis skill downloads audio from YouTube videos using yt-dlp and transcribes it using OpenAI's Whisper model. Supports multiple output formats (txt, srt, vtt, json) and various model sizes for different accuracy\u002Fspeed tradeoffs.\n\n## Instructions\n\n### 1. Install dependencies\n\n```bash\n# Install whisper and yt-dlp\npip install openai-whisper yt-dlp\n\n# Verify ffmpeg is installed (required for audio processing)\nffmpeg -version\n```\n\nIf ffmpeg is missing:\n- macOS: `brew install ffmpeg`\n- Ubuntu\u002FDebian: `sudo apt install ffmpeg`\n- Windows: Download from https:\u002F\u002Fffmpeg.org\u002Fdownload.html\n\n### 2. Download audio from YouTube\n\n```bash\n# Download best audio quality as WAV\nyt-dlp -x --audio-format wav -o \"%(title)s.%(ext)s\" \"YOUTUBE_URL\"\n\n# Download as MP3 (smaller file)\nyt-dlp -x --audio-format mp3 -o \"%(title)s.%(ext)s\" \"YOUTUBE_URL\"\n\n# Download with video ID as filename (safer for special characters)\nyt-dlp -x --audio-format wav -o \"%(id)s.%(ext)s\" \"YOUTUBE_URL\"\n```\n\n### 3. Choose Whisper model\n\n| Model | Parameters | VRAM | Relative Speed | Use Case |\n|-------|------------|------|----------------|----------|\n| tiny | 39M | ~1 GB | ~32x | Quick drafts, testing |\n| base | 74M | ~1 GB | ~16x | Fast transcription |\n| small | 244M | ~2 GB | ~6x | Good balance |\n| medium | 769M | ~5 GB | ~2x | High accuracy |\n| large | 1550M | ~10 GB | 1x | Best accuracy |\n\nEnglish-only models (`tiny.en`, `base.en`, `small.en`, `medium.en`) are faster for English content.\n\n### 4. Run transcription\n\n**CLI approach:**\n```bash\n# Basic transcription (auto-detect language)\nwhisper audio.wav --model medium\n\n# Specify language for better accuracy\nwhisper audio.wav --model medium --language en\n\n# Output specific format\nwhisper audio.wav --model medium --output_format srt\n\n# All formats at once\nwhisper audio.wav --model medium --output_format all\n\n# Specify output directory\nwhisper audio.wav --model medium --output_dir .\u002Ftranscripts\n```\n\n**Python approach:**\n```python\nimport whisper\n\n# Load model (downloads on first run)\nmodel = whisper.load_model(\"medium\")\n\n# Transcribe\nresult = model.transcribe(\"audio.wav\", language=\"en\")\n\n# Get plain text\nprint(result[\"text\"])\n\n# Get segments with timestamps\nfor segment in result[\"segments\"]:\n    print(f\"[{segment['start']:.2f} - {segment['end']:.2f}] {segment['text']}\")\n```\n\n### 5. One-liner pipeline\n\nCombine download and transcription:\n```bash\n# Download and transcribe in one command\nyt-dlp -x --audio-format wav -o \"audio.wav\" \"YOUTUBE_URL\" && whisper audio.wav --model medium --output_format all\n```\n\n### 6. Alternative: yt-whisper tool\n\nFor simpler workflow, use the dedicated yt-whisper package:\n```bash\n# Install\npip install git+https:\u002F\u002Fgithub.com\u002Fm1guelpf\u002Fyt-whisper.git\n\n# Transcribe directly from URL\nyt_whisper \"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=VIDEO_ID\"\n\n# With options\nyt_whisper \"YOUTUBE_URL\" --model medium --language en --output_format srt\n```\n\n## Output Formats\n\n| Format | Extension | Description |\n|--------|-----------|-------------|\n| txt | .txt | Plain text transcript |\n| srt | .srt | SubRip subtitle format (with timestamps) |\n| vtt | .vtt | WebVTT subtitle format |\n| tsv | .tsv | Tab-separated values |\n| json | .json | Full data with word-level timestamps |\n\n## Examples\n\n\u003Cexample>\nUser: Transcribe this YouTube video to text\nSteps:\n1. yt-dlp -x --audio-format wav -o \"video.wav\" \"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=dQw4w9WgXcQ\"\n2. whisper video.wav --model medium --language en --output_format txt\nOutput: video.txt with full transcript\n\u003C\u002Fexample>\n\n\u003Cexample>\nUser: Generate SRT subtitles for a YouTube lecture\nSteps:\n1. yt-dlp -x --audio-format wav -o \"lecture.wav\" \"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=LECTURE_ID\"\n2. whisper lecture.wav --model medium --output_format srt\nOutput: lecture.srt with timestamped subtitles\n\u003C\u002Fexample>\n\n\u003Cexample>\nUser: Transcribe a Spanish YouTube video\nSteps:\n1. yt-dlp -x --audio-format wav -o \"spanish.wav\" \"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=VIDEO_ID\"\n2. whisper spanish.wav --model medium --language es --output_format all\nOutput: spanish.txt, spanish.srt, spanish.vtt, spanish.json\n\u003C\u002Fexample>\n\n\u003Cexample>\nUser: Quick transcription of a short video (speed over accuracy)\nCommand: yt-dlp -x --audio-format mp3 -o \"quick.mp3\" \"URL\" && whisper quick.mp3 --model tiny.en\n\u003C\u002Fexample>\n\n\u003Cexample>\nUser: Get transcript with timestamps in Python\n```python\nimport whisper\nmodel = whisper.load_model(\"medium\")\nresult = model.transcribe(\"audio.wav\")\nfor seg in result[\"segments\"]:\n    print(f\"[{seg['start']:.1f}s] {seg['text']}\")\n```\n\u003C\u002Fexample>\n\n## Guidelines\n\n- Use `--language` flag when you know the spoken language for significantly better accuracy\n- For long videos (>1 hour), use `small` or `medium` model to balance speed and accuracy\n- English-only models (`.en` suffix) are faster and more accurate for English content\n- GPU with CUDA dramatically speeds up transcription; CPU works but is 5-10x slower\n- If transcription fails, ensure ffmpeg is properly installed and in PATH\n- For videos with background music, larger models (medium\u002Flarge) handle it better\n- Clean up audio files after transcription to save disk space\n- Use `--output_format all` to get every format at once, then choose what you need\n",{},"main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002FTerminalSkills\u002Fskills\u002Fyoutube-transcription",24,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub","https:\u002F\u002Fskillshub.wtf","https:\u002F\u002Fgithub.com\u002FComeOnOliver","AI & Blockchain Engineer\r\n","2026-06-24 22:07:19",{"source":7,"skillName":5,"commands":35,"prompt":45,"zipAvailable":46},[36,39,42],{"tool":37,"command":38},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill youtube-transcription",{"tool":40,"command":41},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill youtube-transcription",{"tool":43,"command":44},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill youtube-transcription","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002FTerminalSkills\u002Fskills\u002Fyoutube-transcription\u002FSKILL.md",true,[],[49,63,73,82,88,95],{"skillNo":50,"name":51,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":52,"categories":53,"keywords":59,"publishedAt":21},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[54],{"categoryNo":55,"categoryName":56,"taxonomyType":57,"taxonomyTypeDesc":58},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[60,61,62],"model","model hierarchy","model hierarchy skill",{"skillNo":64,"name":65,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":66,"categories":67,"keywords":69,"publishedAt":21},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[68],{"categoryNo":55,"categoryName":56,"taxonomyType":57,"taxonomyTypeDesc":58},[70,71,72],"MCP","zoom","zoom mcp",{"skillNo":74,"name":75,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":76,"categories":77,"keywords":78,"publishedAt":21},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[79,80,81,71],"sdk","zoom apps sdk","apps",{"skillNo":83,"name":84,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":85,"categories":86,"keywords":87,"publishedAt":21},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[84],{"skillNo":89,"name":90,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":91,"categories":92,"keywords":94,"publishedAt":21},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[93],{"categoryNo":55,"categoryName":56,"taxonomyType":57,"taxonomyTypeDesc":58},[90],{"skillNo":96,"name":97,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":98,"categories":99,"keywords":100,"publishedAt":21},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[97]]