██╗ ██╗████████╗██╗ ██╗██╗
╚██╗ ██╔╝╚══██╔══╝██║ ██║██║
╚████╔╝ ██║ ██║ ██║██║
╚██╔╝ ██║ ██║ ██║██║
██║ ██║ ╚██████╔╝██║
╚═╝ ╚═╝ ╚═════╝ ╚═╝
A terminal UI for downloading videos and audio using yt-dlp.
Disclaimer: This application was developed with the assistance of AI using OpenCode. It is provided “as is” without any warranty, express or implied, including but not limited to accuracy, reliability, or fitness for a particular purpose. The developer assumes no responsibility for any consequences resulting from its use. Users should independently verify any information and use the application at their own risk.
- Clipboard integration - automatically detects URLs in clipboard
- Interactive TUI built with Bubble Tea and huh
- Video/Audio download selection
- Resolution selection: 720p, 1080p, 1440p, 4K
- Format selection: MP4, MKV, WebM (video) / MP3, M4A, FLAC, WAV (audio)
- Custom download folder
- Desktop notifications on completion/error
- Automatic fallback if requested resolution unavailable
- Embeds thumbnail and metadata
- yt-dlp installed
- FFmpeg for merging video+audio and audio conversion
notify-sendfor desktop notifications (usually comes with libnotify)- Clipboard tools:
wl-paste,xclip, orxsel(for clipboard detection)
pacman -S yt-dlp ffmpeg libnotify
# For clipboard support (choose one):
pacman -S wl-clipboard # Wayland
pacman -S xclip # X11
pacman -S xsel # X11 alternative# Clone and build
git clone https://github.com/yourusername/ytui.git
cd ytui
go build -o ytui
# Or install globally
go installFor a smaller binary:
go build -ldflags="-s -w" -o ytuiFor a static binary (requires musl-gcc):
CGO_ENABLED=1 CC=musl-gcc go build -ldflags="-linkmode external -extldflags -static" -o ytui- Copy a video URL to your clipboard
- Run
ytui - If URL is detected in clipboard, it will be pre-filled
- Follow the prompts:
- Confirm URL (or enter manually if not detected)
- Choose Video or Audio
- Select resolution (for video)
- Select format
- Choose download folder (default: ~/Downloads)
- Press Enter to confirm and download
Enter- Confirm selection / Start download↑/↓orj/k- Navigate optionsCtrl+C- Cancel/QuitR- Retry after error (in error state)
| Prompt | Default |
|---|---|
| Type | Video |
| Resolution | 1080p |
| Video Format | MP4 |
| Audio Format | MP3 |
| Download Folder | ~/Downloads |
yt-dlp config file (optional): ~/.config/yt-dlp/config
Example:
--format bv*+ba
--merge-output-format mp4
--embed-thumbnail
--add-metadata
Make sure yt-dlp is in your PATH:
which yt-dlpInstall one of: wl-clipboard, xclip, or xsel
Make sure notify-send works:
notify-send "Test" "Hello"