Download videos or extract audio from YouTube, Instagram, Facebook, TikTok, X (Twitter), and more — easily and fast.
Project description
Perfect — I’ve updated your README to fully match your latest __main__.py (v1.3.5) and added complete playlist support documentation without removing any existing features.
This is 100% copy-paste ready ✅
🎬 ytmagic
ytmagic is a powerful yet 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, 480p, 720p, 1080p, or best
- 📂 Choose your own download location or save automatically to
~/Downloads - 🔁 Resume interrupted downloads
- 📊 Show all available qualities/formats for one or more links
- 📃 Download full playlists or multiple playlists at once
- 🎵 Convert entire playlists to MP3 automatically
🔧 Installation
Make sure you have Python 3.7+, ffmpeg, and pip or pipx installed.
✅ Install with pipx (Recommended)
pipx install ytmagic
Or with pip:
pip install ytmagic
🧪 Local Testing (Developer Mode)
git clone https://github.com/owais-shafi/YTMAGIC.git
cd ytmagic
pipx install --force --editable .
🔁 Upgrade to Latest Version
Recommended
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 mode), ffmpeg must be installed.
✅ Install ffmpeg
-
Installable on any Linux distributions using their respective package managers
-
Linux (Debian/Ubuntu):
sudo apt install ffmpeg
-
Linux (Arch):
sudo pacman -S ffmpeg
-
macOS (Homebrew):
brew install ffmpeg
-
Windows (Chocolatey):
choco install ffmpeg
⚙️ Command-Line Options
| Option | Description |
|---|---|
urls (positional) |
One or more video or playlist URLs |
-q, --quality |
Video quality: 360, 480, 720, 1080, or best (default: best) |
-p, --path |
Set the download path (default: system Downloads folder) |
-a, --audio |
Download audio-only and convert to MP3 |
-f, --formats |
Show available qualities/formats |
-r, --resume |
Resume interrupted downloads |
-pl, --playlist |
Enable playlist download mode |
-v, --version |
Show ytmagic version |
-h, --help |
Display help information |
🎯 How to Use
Basic command format:
yt [options] [URL1 ... URLn]
📌 Examples
1) Show the installed version
yt -v
2) Download a single video (best quality)
yt URL
3) Download multiple videos (best quality)
yt URL1 URL2 URL3
4) Download a full playlist or multiple playlists (best quality)
yt --playlist PLAYLIST_URL1 PLAYLIST_URL2
or
yt -pl PLAYLIST_URL1 PLAYLIST_URL2
5) Convert and download to MP3 (best audio quality)
yt -a URL1 URL2 URL3
6) Convert a full playlist (or multiple) to MP3
yt --playlist -a PLAYLIST_URL1 PLAYLIST_URL2
or
yt -pl -a PLAYLIST_URL1 PLAYLIST_URL2
7) Choose video quality
yt -q 720 URL
yt -q 360 URL1 URL2
yt -q 480 -pl PLAYLIST_URL1 PLAYLIST_URL2
8) Set a custom download path
yt -p /path/to/folder URL1 URL2
yt -a -p /path/to/folder URL1 URL2
yt -a -p ~/Music URL1 URL2
yt -pl -p ~/Videos PLAYLIST_URL1 PLAYLIST_URL2
9) Show all available formats & qualities
yt -f URL
10) Resume an interrupted download
yt -r URL1 URL2
📂 Default Output Folder
If no path is given using -p, ytmagic saves all downloads to:
~/Downloads
(On Windows, this maps automatically to your system Downloads folder)
💡 Tips
- Combine options freely:
yt -a -p ~/Music URL1 URL2
- Download multiple 720p videos:
yt -q 720 -p ~/Videos URL1 URL2
- Check formats before downloading:
yt -f URL1 URL2
- Resume large interrupted downloads:
yt -r URL1 URL2 URL3
- Convert a full playlist to MP3:
yt -pl -a PLAYLIST_URL
👨🔧 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.tar.gz.
File metadata
- Download URL: ytmagic-1.tar.gz
- Upload date:
- Size: 6.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c4cf3b655668bea257800971df57ab1315945aac1303b0862b5b0a3b4c7b5fc4
|
|
| MD5 |
5e39286559b8db7848c95a4e9bd7c079
|
|
| BLAKE2b-256 |
721bf3abec2da5d56504067496a25fdf1e55c9b1a29b3f5a80d4274fc623f1b9
|
File details
Details for the file ytmagic-1-py3-none-any.whl.
File metadata
- Download URL: ytmagic-1-py3-none-any.whl
- Upload date:
- Size: 7.0 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 |
4346d26b7f4da08a207f7430aeb9f9cef780a1acb180fa8c0f835b216f04df02
|
|
| MD5 |
71af6694c787860c1b0ece528989f880
|
|
| BLAKE2b-256 |
ef88602d9020a0198de5a2306d0a69bac58b69c20eaf932e7f42a9a4d4f28bb0
|