yt-dlp Documentation Guide
yt-dlp is a feature-rich command-line audio/video downloader with support for thousands of sites. It's a maintained fork of youtube-dl with many additional features and fixes.
Documentation Structure
This skill includes the complete README.md and the official wiki. When working with yt-dlp, reference the appropriate documentation based on the task:
For Installation and Setup
- README.md - Section:
# INSTALLATION - Installation methods, dependencies, and updates
- wiki/Installation.md - Detailed installation guide for various platforms
- wiki/FAQ.md - Common installation issues and solutions
For Basic Downloads
- README.md - Section:
# USAGE AND OPTIONS - Complete command-line reference
- README.md - Section:
## Download Options: - File selection, rate limiting, retries
- README.md - Section:
## Video Selection: - Playlist handling, filtering, date ranges
For Format Selection (Quality, Audio/Video)
- README.md - Section:
## Video Format Options: - Format selection syntax and filtering
- README.md - Section:
# FORMAT SELECTION - Detailed format selection guide
- wiki/FAQ.md - Common format selection questions
For Audio Extraction
- README.md - Section:
## Post-Processing Options: - Audio extraction, conversion, embedding
- Look for examples with
-x or --extract-audio flags
- Format selection for audio-only downloads
For Subtitles and Captions
- README.md - Section:
## Subtitle Options: - Subtitle downloading, conversion, embedding
- Examples with
--write-subs, --write-auto-subs, --sub-lang
For Output Customization
- README.md - Section:
# OUTPUT TEMPLATE - Filename templates and field formatting
- README.md - Section:
## Filesystem Options: - Path formatting, file naming
- Use this for custom file naming patterns and organization
For Metadata and Embedding
- README.md - Section:
# MODIFYING METADATA - Adding/modifying metadata during download
- README.md - Section:
## Post-Processing Options: - Embedding thumbnails, metadata, chapters
For Authentication and Cookies
- README.md - Section:
## Authentication Options: - Username/password, cookies, netrc
- README.md - Section:
# CONFIGURATION - Subsection: ### Authentication with netrc
- Use for sites requiring login
For Troubleshooting
- wiki/FAQ.md - Frequently asked questions and common issues
- README.md - Section:
## Workarounds: - Handling rate limits, geo-restrictions, errors
- README.md - Section:
## Extractor Options: - Site-specific options
- wiki/Extractors.md - List of supported sites and extractor-specific details
For YouTube-Specific Issues
- wiki/PO-Token-Guide.md - YouTube PO Token authentication (for bot detection issues)
- wiki/EJS.md - YouTube cipher decryption setup
- README.md - Section:
## SponsorBlock Options: - SponsorBlock integration for YouTube
For Playlists and Channels
- README.md - Section:
## Video Selection: - Playlist filtering, item selection
- Use
--playlist-start, --playlist-end, --playlist-items options
- Archive functionality to track downloaded items
For Configuration Files
- README.md - Section:
# CONFIGURATION - Configuration file locations and syntax
- Configuration file examples and environment variables
For Advanced Usage
- wiki/Plugins.md - Using community plugins for additional functionality
- wiki/Plugin-Development.md - Creating custom plugins
- README.md - Section:
# EMBEDDING - Using yt-dlp as a Python library
For Proxy and Network Issues
- README.md - Section:
## Network Options: - Proxy configuration, network settings
- README.md - Section:
## Geo-restriction: - Bypassing geo-blocks
Common Usage Patterns
When the user asks to:
- Download a video → Check
# USAGE AND OPTIONS and ## Download Options:
- Extract audio → Check
## Post-Processing Options: and look for -x examples
- Download best quality → Check
# FORMAT SELECTION for format sorting
- Download playlists → Check
## Video Selection: for playlist options
- Fix download errors → Check
wiki/FAQ.md and ## Workarounds:
- Customize filenames → Check
# OUTPUT TEMPLATE
- Download with cookies → Check
## Authentication Options:
- Handle YouTube issues → Check
wiki/PO-Token-Guide.md and wiki/EJS.md
Related Skills
For audio transcription workflows:
- parakeet - Transcribe downloaded audio to text (SRT format)
- llm - Clean up transcripts into articles using
audio-to-article.yaml template
Example workflow (download → transcribe → article):
yt-dlp -x --audio-format mp3 "URL"
uvx parakeet-mlx audio.mp3
python3 srt_to_text.py audio.srt | llm -t audio-to-article.yaml
Important Notes
- Always check README.md first - It contains the complete command-line reference
- Use the wiki for troubleshooting - FAQ.md covers most common issues
- Format selection is powerful - The
# FORMAT SELECTION section has extensive examples
- YouTube requires special handling - See wiki/PO-Token-Guide.md and wiki/EJS.md for modern YouTube downloads
- Post-processing requires ffmpeg - Many features depend on ffmpeg being installed
Quick Reference
Installation
# macOS via Homebrew
brew install yt-dlp
# Python pip
pip install yt-dlp
# Update
yt-dlp -U
Basic Commands
# Download video (best quality)
yt-dlp URL
# Extract audio
yt-dlp -x --audio-format mp3 URL
# Download playlist
yt-dlp -o "%(playlist_index)s-%(title)s.%(ext)s" PLAYLIST_URL
# List available formats
yt-dlp -F URL
# Download specific format
yt-dlp -f FORMAT_ID URL
File Locations
- README.md - Complete command-line reference and documentation
- wiki/FAQ.md - Frequently asked questions and troubleshooting
- wiki/Installation.md - Detailed installation instructions
- wiki/PO-Token-Guide.md - YouTube authentication guide
- wiki/EJS.md - YouTube cipher decryption setup
- wiki/Extractors.md - Supported sites and extractor details
- wiki/Plugins.md - Plugin usage guide
- wiki/Plugin-Development.md - Plugin development guide
When in Doubt
- Read the relevant section from README.md
- Check wiki/FAQ.md for common issues
- Use
yt-dlp --help for complete option list
- For site-specific issues, check wiki/Extractors.md
1---2name: yt-dlp3description: Download audio and video from thousands of websites using yt-dlp. Feature-rich command-line tool supporting format selection, subtitle extraction, playlist handling, metadata embedding, and post-processing. This skill is triggered when the user says things like "download this video", "download from YouTube", "extract audio from video", "download this playlist", "get the mp3 from this video", "download subtitles", or "save this video locally".4---56# yt-dlp Documentation Guide78yt-dlp is a feature-rich command-line audio/video downloader with support for thousands of sites. It's a maintained fork of youtube-dl with many additional features and fixes.910## Documentation Structure1112This skill includes the complete README.md and the official wiki. When working with yt-dlp, reference the appropriate documentation based on the task:1314### For Installation and Setup15- **README.md** - Section: `# INSTALLATION` - Installation methods, dependencies, and updates16- **wiki/Installation.md** - Detailed installation guide for various platforms17- **wiki/FAQ.md** - Common installation issues and solutions1819### For Basic Downloads20- **README.md** - Section: `# USAGE AND OPTIONS` - Complete command-line reference21- **README.md** - Section: `## Download Options:` - File selection, rate limiting, retries22- **README.md** - Section: `## Video Selection:` - Playlist handling, filtering, date ranges2324### For Format Selection (Quality, Audio/Video)25- **README.md** - Section: `## Video Format Options:` - Format selection syntax and filtering26- **README.md** - Section: `# FORMAT SELECTION` - Detailed format selection guide27- **wiki/FAQ.md** - Common format selection questions2829### For Audio Extraction30- **README.md** - Section: `## Post-Processing Options:` - Audio extraction, conversion, embedding31- Look for examples with `-x` or `--extract-audio` flags32- Format selection for audio-only downloads3334### For Subtitles and Captions35- **README.md** - Section: `## Subtitle Options:` - Subtitle downloading, conversion, embedding36- Examples with `--write-subs`, `--write-auto-subs`, `--sub-lang`3738### For Output Customization39- **README.md** - Section: `# OUTPUT TEMPLATE` - Filename templates and field formatting40- **README.md** - Section: `## Filesystem Options:` - Path formatting, file naming41- Use this for custom file naming patterns and organization4243### For Metadata and Embedding44- **README.md** - Section: `# MODIFYING METADATA` - Adding/modifying metadata during download45- **README.md** - Section: `## Post-Processing Options:` - Embedding thumbnails, metadata, chapters4647### For Authentication and Cookies48- **README.md** - Section: `## Authentication Options:` - Username/password, cookies, netrc49- **README.md** - Section: `# CONFIGURATION` - Subsection: `### Authentication with netrc`50- Use for sites requiring login5152### For Troubleshooting53- **wiki/FAQ.md** - Frequently asked questions and common issues54- **README.md** - Section: `## Workarounds:` - Handling rate limits, geo-restrictions, errors55- **README.md** - Section: `## Extractor Options:` - Site-specific options56- **wiki/Extractors.md** - List of supported sites and extractor-specific details5758### For YouTube-Specific Issues59- **wiki/PO-Token-Guide.md** - YouTube PO Token authentication (for bot detection issues)60- **wiki/EJS.md** - YouTube cipher decryption setup61- **README.md** - Section: `## SponsorBlock Options:` - SponsorBlock integration for YouTube6263### For Playlists and Channels64- **README.md** - Section: `## Video Selection:` - Playlist filtering, item selection65- Use `--playlist-start`, `--playlist-end`, `--playlist-items` options66- Archive functionality to track downloaded items6768### For Configuration Files69- **README.md** - Section: `# CONFIGURATION` - Configuration file locations and syntax70- Configuration file examples and environment variables7172### For Advanced Usage73- **wiki/Plugins.md** - Using community plugins for additional functionality74- **wiki/Plugin-Development.md** - Creating custom plugins75- **README.md** - Section: `# EMBEDDING` - Using yt-dlp as a Python library7677### For Proxy and Network Issues78- **README.md** - Section: `## Network Options:` - Proxy configuration, network settings79- **README.md** - Section: `## Geo-restriction:` - Bypassing geo-blocks8081## Common Usage Patterns8283When the user asks to:84- **Download a video** → Check `# USAGE AND OPTIONS` and `## Download Options:`85- **Extract audio** → Check `## Post-Processing Options:` and look for `-x` examples86- **Download best quality** → Check `# FORMAT SELECTION` for format sorting87- **Download playlists** → Check `## Video Selection:` for playlist options88- **Fix download errors** → Check `wiki/FAQ.md` and `## Workarounds:`89- **Customize filenames** → Check `# OUTPUT TEMPLATE`90- **Download with cookies** → Check `## Authentication Options:`91- **Handle YouTube issues** → Check `wiki/PO-Token-Guide.md` and `wiki/EJS.md`9293## Related Skills9495For audio transcription workflows:96- **parakeet** - Transcribe downloaded audio to text (SRT format)97- **llm** - Clean up transcripts into articles using `audio-to-article.yaml` template9899Example workflow (download → transcribe → article):100```bash101yt-dlp -x --audio-format mp3 "URL"102uvx parakeet-mlx audio.mp3103python3 srt_to_text.py audio.srt | llm -t audio-to-article.yaml104```105106## Important Notes1071081. **Always check README.md first** - It contains the complete command-line reference1092. **Use the wiki for troubleshooting** - FAQ.md covers most common issues1103. **Format selection is powerful** - The `# FORMAT SELECTION` section has extensive examples1114. **YouTube requires special handling** - See wiki/PO-Token-Guide.md and wiki/EJS.md for modern YouTube downloads1125. **Post-processing requires ffmpeg** - Many features depend on ffmpeg being installed113114## Quick Reference115116### Installation117```bash118# macOS via Homebrew119brew install yt-dlp120121# Python pip122pip install yt-dlp123124# Update125yt-dlp -U126```127128### Basic Commands129```bash130# Download video (best quality)131yt-dlp URL132133# Extract audio134yt-dlp -x --audio-format mp3 URL135136# Download playlist137yt-dlp -o "%(playlist_index)s-%(title)s.%(ext)s" PLAYLIST_URL138139# List available formats140yt-dlp -F URL141142# Download specific format143yt-dlp -f FORMAT_ID URL144```145146## File Locations147148- **README.md** - Complete command-line reference and documentation149- **wiki/FAQ.md** - Frequently asked questions and troubleshooting150- **wiki/Installation.md** - Detailed installation instructions151- **wiki/PO-Token-Guide.md** - YouTube authentication guide152- **wiki/EJS.md** - YouTube cipher decryption setup153- **wiki/Extractors.md** - Supported sites and extractor details154- **wiki/Plugins.md** - Plugin usage guide155- **wiki/Plugin-Development.md** - Plugin development guide156157## When in Doubt1581591. Read the relevant section from README.md1602. Check wiki/FAQ.md for common issues1613. Use `yt-dlp --help` for complete option list1624. For site-specific issues, check wiki/Extractors.md