YouTube Video Downloader
Download YouTube videos with full control over quality and format settings.
Quick Start
The simplest way to download a video:
uv run python scripts/download_video.py "https://www.youtube.com/watch?v=VIDEO_ID"
This downloads the video in best available quality as MP4 to ./downloads/, or to
OPENAKITA_OUTPUT_DIR when that environment variable is set.
Options
Quality Settings
Use -q or --quality to specify video quality:
best(default): Highest quality available1080p: Full HD720p: HD480p: Standard definition360p: Lower qualityworst: Lowest quality available
Example:
uv run python scripts/download_video.py "URL" -q 720p
Format Options
Use -f or --format to specify output format (video downloads only):
mp4(default): Most compatiblewebm: Modern formatmkv: Matroska container
Example:
uv run python scripts/download_video.py "URL" -f webm
Audio Only
Use -a or --audio-only to download only audio as MP3:
uv run python scripts/download_video.py "URL" -a
Custom Output Directory
Use -o or --output to specify a different output directory:
uv run python scripts/download_video.py "URL" -o /path/to/directory
Complete Examples
- Download video in 1080p as MP4:
uv run python scripts/download_video.py "https://www.youtube.com/watch?v=dQw4w9WgXcQ" -q 1080p
- Download audio only as MP3:
uv run python scripts/download_video.py "https://www.youtube.com/watch?v=dQw4w9WgXcQ" -a
- Download in 720p as WebM to custom directory:
uv run python scripts/download_video.py "https://www.youtube.com/watch?v=dQw4w9WgXcQ" -q 720p -f webm -o /custom/path
How It Works
The skill uses yt-dlp, a robust YouTube downloader that:
- Reports a clear installation requirement if
yt-dlpis unavailable - Fetches video information before downloading
- Selects the best available streams matching your criteria
- Merges video and audio streams when needed
- Supports a wide range of YouTube video formats
Important Notes
- Downloads are saved to
OPENAKITA_OUTPUT_DIRor./downloads/by default - Video filename is automatically generated from the video title
- Install the dependency with
uv tool install yt-dlpwhen it is not managed by OpenAkita - Only single videos are downloaded (playlists are skipped by default)
- Higher quality videos may take longer to download and use more disk space