Usage Guide
This guide walks through everything you can do in the app, from basic downloads to advanced automation.
📥 Downloading a Video
The Basic Way
- Go to the Dashboard (home page)
- Paste a URL in the input field (e.g.,
https://youtube.com/watch?v=...) - Select a Preset (see below for what each does)
- Click Download
The job appears in the list below with a progress bar, speed, and ETA.
The Quick Way
Press Ctrl+K from anywhere in the app to open the download panel instantly. Same steps — paste URL, pick preset, download.
The Analyze Way
Not sure what’s behind a URL? Click Analyze instead of Download. The app fetches video metadata (title, thumbnail, duration) so you can preview before committing.
🎛️ Using Presets
Built-in Presets
| Preset | What it does | Best for |
|---|---|---|
| General Video | Best available quality, keeps original container | Everyday downloads |
| Audio Only | Extracts audio, converts to MP3 320kbps | Music, podcasts |
| Jellyfin | Remuxes to MKV with embedded metadata, thumbnails, subtitles | Media server libraries |
| Plex | MP4 container with metadata and subtitles | Plex Media Server |
| Archive | Downloads everything — all subs, descriptions, thumbnails, info JSON | Complete preservation |
Creating Custom Presets
- Go to Settings → Presets
- Click Add Preset
- Give it a name and description
- Configure yt-dlp options (format, quality, subtitles, etc.)
- Save
Your custom preset now appears in the download dropdown alongside the built-in ones.
Editing or Deleting Presets
- Edit: Settings → Presets → click the preset → modify → Save
- Delete: Settings → Presets → click the preset → Delete (built-in presets cannot be deleted)
📊 Monitoring Downloads
The Dashboard shows all active and recent jobs:
| Status | What it means |
|---|---|
| Parsing | App is reading the URL |
| Queued | Waiting for a download slot |
| Analyzing | Fetching video metadata |
| Downloading | Actively downloading |
| Post-processing | Converting or merging files |
| Completed | Done! File is ready |
| Failed | Something went wrong |
Actions
- Cancel — Stop a running or queued download
- Retry — Try a failed download again
- Clear — Remove a completed/failed job from the list (files stay on disk)
⚠️ Cancel stops the download but keeps partial files. Use Clear after Cancel to clean up.
📜 Browsing History
The History page shows every download that’s ever run. You can filter by:
- Domain — show only YouTube, Vimeo, etc.
- Status — completed or failed
- Preset — which preset was used
Each entry shows the URL, title, file size, format, and when it happened.
🕐 Scheduling Downloads
Want a download to start at a specific time?
Creating a Scheduled Job
- Paste your URL in the download panel
- Click Schedule instead of Download
- Pick a date and time
- Choose a preset
- Confirm
The job waits patiently until the scheduled time, then starts automatically. You can see scheduled jobs on the Dashboard with their scheduled time.
🔁 Playlist Monitoring
This feature watches a playlist and downloads new videos automatically.
Setting It Up
- Go to Monitoring page
- Click Add Playlist
- Enter:
- Playlist URL — the playlist to watch
- Name — a label to remember it by
- Preset — which preset to use for new downloads
- Check interval — how often to check (default: 60 minutes)
- Output path — where to save files (optional)
- Toggle Auto-download ON
- Save
What Happens Next
Every N minutes, the app fetches the playlist’s first 50 entries, compares with previously downloaded videos, and auto-downloads any new ones.
You can also toggle Notify on new video to get a webhook alert when new content is found.
Managing Monitored Playlists
- Pause — turn off monitoring without deleting
- Edit — change preset, interval, or output path
- Delete — remove the playlist from monitoring
🔔 Notifications
Setting Up Webhooks
- Go to Settings → Notifications
- Enter a Webhook URL (e.g., your Slack/Discord webhook)
- Choose what to be notified about:
- Download complete
- Download failed
- Save
Setting Up Email
- Configure SMTP settings in Settings → Notifications:
- Mail server (e.g.,
smtp.gmail.com) - Port (e.g.,
587) - Username and password
- From address
- Mail server (e.g.,
- Enter your email address
- Choose notification preferences
- Save
💡 Note: Email requires the
fastapi-mailpackage and valid SMTP credentials.
🔧 System Management
The System page provides:
yt-dlp Version
- See what version of yt-dlp is currently installed
- Click Check for Updates to see if a newer version is available
- Click Update to upgrade with one click
Dependency Status
Shows whether required tools are installed:
| Dependency | Dashboard Indicator |
|---|---|
| ffmpeg | ✅ Installed / ❌ Missing |
| ffprobe | ✅ Installed / ❌ Missing |
| Python version | ✅ Supported / ❌ Unsupported |
🧹 Cache Cleanup
The app automatically cleans up yt-dlp’s temporary files behind the scenes:
- Checks every: 60 seconds
- Removes files older than: 10 minutes
- Targets:
.part,.ytdl,.temp,.info.json,.description
Your completed downloads are never touched. Only intermediate/cache files are removed.
🎨 Pro Tips
- Organize your downloads — Enable “Organize by domain” in settings to group downloads into folders by site
- Rate limiting — Set a rate limit to avoid saturating your internet connection
- Download archive — Set the archive path to avoid re-downloading videos you already have
- Cookies — Upload a cookies.txt file to access private videos or age-restricted content
- Keyboard shortcuts —
Ctrl+Kopens the download panel instantly from any page