Download videos or extract audio from YouTube, Instagram, Facebook, TikTok, X (Twitter), and more — easily and fast.
Project description
🎬 ytmagic
ytmagic is a simple command-line tool that lets anyone download videos or extract audio from YouTube, Instagram, Facebook, TikTok, X, and more using yt-dlp — no technical knowledge needed.
It works on Linux, macOS, and Windows.
🧠 What Can It Do?
- ✅ Download one or multiple videos at once in best available quality
- 🎧 Convert and download videos as audio-only (MP3)
- 📥 Choose specific video quality like 360p, 720p, 1080p, best
- 📂 Choose your own download location or save automatically to ~/Downloads
- 🔁 Resume interrupted downloads
- 📊 Show all available qualities/formats for one or more links
🔧 Installation
Make sure you have Python 3.7+, ffmpeg, and pip/pipx installed.
Install ytmagic using pip/pipx:
pipx install ytmagic
Or
pip install ytmagic
for local testing (developer mode):
git clone https://github.com/owais-shafi/YTMAGIC.git
cd ytmagic
pipx install --force --editable .
Upgrade ytmagic to latest version:
pipx upgrade ytmagic
Or
pip install --upgrade ytmagic
✅ Now you can use the ytmagic (or yt) command from anywhere in your terminal.
📦 Dependencies
To convert videos to MP3(audio only), ffmpeg must be installed on your system.
✅ Install ffmpeg
-
Linux (Debian/Ubuntu or any other distro using their own package manager):
sudo apt install ffmpeg
-
Linux (Arch):
sudo pacman -S ffmpeg
-
macOS (with Homebrew):
brew install ffmpeg
-
Windows (with Chocolatey):
choco install ffmpeg
⚙️ Command-Line Options
| Option | Description |
|---|---|
urls (positional) |
One or more video URLs (YouTube, Instagram, Facebook, TikTok, etc.) |
-q, --quality |
Video quality: 360, 480, 720, 1080, or best (default: best) |
-p, --path |
Path to save downloaded file (default: ~/Downloads) |
-a, --audio |
Download audio only and convert to MP3 (requires FFmpeg) |
-f, --formats |
Show available qualities/formats for all given URLs |
-r, --resume |
Resume interrupted downloads |
-v, --version |
Show ytmagic version |
🎯 How to Use
Basic command format:
yt [options] [URL1... URLn]
🔤 Examples
1 Show the version of ytmagic:
yt -v
2 Download a video in best quality (auto save to Downloads folder):
yt https://youtu.be/VIDEO_URL
3 Download multiple videos in best quality to Downloads folder:
yt URL1 URL2 URL3
4 Convert to MP3(Audio only) and Download to Music folder:
yt -a -p ~/Music URL1 URL2 URL3
5 Download videos in different Qualities to a user-specified folder/Path:
yt -q 720 -p ~/Videos URL1 URL2 URL3
yt -q 360 -p ~/Videos URL1 URL2 URL3
yt -q best -p ~/Videos URL1 URL2 URL3
6 Show available Qualities/formats for multiple videos:
yt -f URL1 URL2 URL3
7 Resume interrupted downloads:
yt -r URL1 URL2 URL3
yt --resume URL1 URL2 URL3
📂 Default Output Folder
If no path is given using -p, ytmagic saves all downloads to:
~/Downloads
💡 Tips
- Combine options for multiple features:
yt -a -p ~/Music URL1 URL2
- This downloads multiple best-quality audio files, converts them to MP3, and saves them to
~/Music.
yt -q 720 -p ~/Videos URL1 URL2
-
This downloads multiple 720p-quality videos, and saves them to
~/Videos. -
Use
-fbefore downloading if you want to check available formats/qualities:
yt -f URL1 URL2
- Use
--resumeto continue interrupted downloads:
yt -r URL1 URL2 URL3
👨🔧 Built With
📜 License
MIT License — free for personal or commercial use.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ytmagic-1.3.4.tar.gz.
File metadata
- Download URL: ytmagic-1.3.4.tar.gz
- Upload date:
- Size: 6.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e781a39df9d208bdef510dd240d778c2b75ae0f8ee1a6cfc137383e39880c4e2
|
|
| MD5 |
358067bc4e48fa2c786eefbdaf40bf84
|
|
| BLAKE2b-256 |
9185e59c211959e9eb03fd30ed4e571f8027add038baa11d647ade7d5484d02f
|
File details
Details for the file ytmagic-1.3.4-py3-none-any.whl.
File metadata
- Download URL: ytmagic-1.3.4-py3-none-any.whl
- Upload date:
- Size: 6.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
50481e1b57d070223c680d7860ec22425a32b178a211ee10fb61ed883324a1f3
|
|
| MD5 |
0d99a2f7cd078db94800233e812e1dbe
|
|
| BLAKE2b-256 |
0285f12bb08ce379fd4c48191379d7e4473ea45a82b338cac3eb23b5de5fe8b9
|