Syncpod is a YouTube audio downloader that extracts audio from any YouTube video or playlist and saves it as a high-quality MP3. It's built around two modes: a web interface powered by Flask, and a terminal CLI for quick command-line use.
Both modes use the same core download engine under the hood (yt-dlp + ffmpeg), so you get the same 192kbps MP3 output either way.
Syncpod accepts a YouTube URL, downloads the best available audio stream, and converts it to MP3 using ffmpeg. Files are saved to ~/Downloads by default, or to any path you specify.
First, clone the repo and go into the folder:
git clone https://github.com/pratikaher88/SyncPod.git
cd SyncPodThen follow the Setup steps below to install dependencies and make the syncpod command available.
Start Syncpod as a local web server:
syncpod --serverOr just run it with no arguments:
syncpodThen open your browser to:
http://localhost:5000
- Paste a YouTube URL into the input field
- Optionally enter a custom save path (defaults to
~/Downloads) - Click Download
- The page shows a success or error message when the download completes
Good for one-off downloads when you don't want to type in a terminal.
Pass a YouTube URL directly as an argument. Syncpod downloads and converts, then exits.
Download a single video to the default folder (~/Downloads):
syncpod "https://www.youtube.com/watch?v=9ZYjf3TC2LU"Download to a custom folder:
syncpod "https://www.youtube.com/watch?v=9ZYjf3TC2LU" --path ~/Music
syncpod "https://www.youtube.com/watch?v=9ZYjf3TC2LU" -p ~/MusicDownload a full playlist:
syncpod "https://www.youtube.com/playlist?list=RDEs4NrOnoNb4"Show all options:
syncpod --helpGood for scripting, batch work, or when you want something fast without opening a browser.
git clone https://github.com/pratikaher88/SyncPod.git
cd SyncPodCheck if you already have it:
python3 --versionIf not, download it from python.org or via Homebrew:
brew install pythonuv is used to manage the virtual environment and dependencies:
curl -LsSf https://astral.sh/uv/install.sh | shffmpeg handles the audio conversion to MP3. Install it via Homebrew:
brew install ffmpeguv syncThis creates a .venv folder and installs everything needed.
Add it to your PATH so you can call syncpod from anywhere:
# Add this line to your ~/.zshrc or ~/.bashrc
export PATH="$PWD/bin:$PATH"Then reload your shell:
source ~/.zshrcWeb interface:
syncpod --serverThen open http://localhost:5000 in your browser.
Terminal:
syncpod "https://www.youtube.com/watch?v=9ZYjf3TC2LU"- Python 3.9+
- ffmpeg (audio conversion)
- uv (dependency management)
- yt-dlp (YouTube extraction, installed via
uv sync) - Flask (web server mode, installed via
uv sync)
Have an idea or a feature request? Reach out at pratikaher88@gmail.com.
