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 full video with best quality
- 🎧 Download audio only and convert it to MP3
- 📥 Choose specific video quality like 360p, 720p, 1080p
- 📁 Save to custom folder or default to
~/Downloads
🔧 Installation
Make sure you have Python 3.7+, ffmpeg, and pip/pipx installed.
Then install ytmagic globally using pipx:
pipx install ytmagic
Or for local testing (developer mode):
git clone https://github.com/owais-shafi/Yt_Magic.git
cd ytmagic
pipx install --force --editable .
✅ Now you can use the ytmagic command from anywhere in your terminal.
🎯 How to Use
Basic command format:
ytmagic [options] URL
🔤 Examples
ytmagic https://youtu.be/example1
# ▶️ Downloads best video+audio to ~/Downloads
ytmagic https://youtu.be/example2 -q 720
# ⬇️ Downloads 720p video
ytmagic https://youtu.be/example3 -a
# 🎵 Downloads and converts audio to MP3
ytmagic -a https://youtu.be/example4 -p ~/Music
# 🎧 Downloads MP3 and saves it in ~/Music
⚙️ Command-Line Options
| Option | Description |
|---|---|
url (positional) |
Video URL (YouTube, Instagram, Facebook, TikTok, etc.) |
-q, --quality |
Video quality: 360, 480, 720, 1080, or best (default: best) |
-p, --path |
Folder to save downloaded file (default: ~/Downloads) |
-a, --audio |
Download audio only and convert to MP3 (requires FFmpeg) |
📦 Dependencies
To use the -a (audio-only MP3) option, ffmpeg must be installed on your system.
✅ Install ffmpeg:
-
Linux (Debian/Ubuntu):
sudo apt install ffmpeg
-
Linux (Arch):
sudo pacman -S ffmpeg
-
macOS (with Homebrew):
brew install ffmpeg
-
Windows (with Chocolatey):
choco install ffmpeg
-
Or download manually and add it to your system PATH.
📂 Default Output Folder
If no path is given using -p, ytmagic saves all downloads to:
~/Downloads
💡 Tip
You can combine options! For example:
ytmagic -a -q best -p ~/Music https://youtu.be/example
This downloads the best audio, converts it to MP3, and saves it in your Music folder.
To upgrade ytmagic:
pipx upgrade ytmagic
📱 Run on Android (via Termux)
Yes — ytmagic works on Android too using Termux!
✅ Steps to Set It Up:
-
Install Termux from Play store.
-
Open Termux and run:
pkg update && pkg upgrade pkg install python ffmpeg termux-api pip install pipx pipx ensurepath source ~/.bashrc # Or restart Termux
-
Install ytmagic:
pipx install ytmagic
-
Grant storage access to Termux:
termux-setup-storage
-
To save downloads to your phone storage, use:
ytmagic -p /sdcard/Download/ <URL>
-
To make media files appear in your music/video apps, run:
termux-media-scan /sdcard/Download/ -
(Optional) Add handy shortcuts by editing your bash config:
nano ~/.bashrcAdd these lines at the end:
alias sc='termux-media-scan /sdcard/Music/' alias yt='ytmagic -p /sdcard/Download/'
Then save and apply:
source ~/.bashrc
🔁 After Every Download
Run:
sc
to make the audio/video visible in your media apps. Without this, downloaded files might not appear in players.
👨🔧 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.1.5.tar.gz.
File metadata
- Download URL: ytmagic-1.1.5.tar.gz
- Upload date:
- Size: 5.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3847303888cfd9281151b13da5c38cc4a554c86606e8af9478f4703f3c8fb893
|
|
| MD5 |
de3af29758acc03b16bd644df24d1657
|
|
| BLAKE2b-256 |
c8e9a0acb3247502f8c100dfaf572ed3c8f6450d51fc5d23e50247f35f352f37
|
File details
Details for the file ytmagic-1.1.5-py3-none-any.whl.
File metadata
- Download URL: ytmagic-1.1.5-py3-none-any.whl
- Upload date:
- Size: 5.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 |
ed252210062d26a4af1131ee94ce8d44c6720dcfc35aba345428f8c8f1d39abe
|
|
| MD5 |
127cd1cf63aa63699b86d03079c356fa
|
|
| BLAKE2b-256 |
2db567f233500d3bdac454a3126146eb39e41f1bd8fbec01c93d8bc6d005fffc
|