Skip to main content

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 a custom folder or default 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 globally using pipx:

pipx install ytmagic


Or for local testing (developer mode):

```bash
git clone https://github.com/owais-shafi/Yt_Magic.git
cd ytmagic
pipx install --force --editable .

✅ Now you can use the ytmagic (or yt) command from anywhere in your terminal.

🎯 How to Use

Basic command format:

ytmagic [options] URL1 [URL2 ... URLn]

🔤 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 -p ~/Music https://youtu.be/example4
# 🎧 Downloads MP3 and saves it in ~/Music

ytmagic https://youtu.be/example5 https://youtu.be/example6
# ⬇️ Downloads multiple videos in order

ytmagic -f https://youtu.be/example7 https://youtu.be/example8
# 📊 Shows available qualities/formats for multiple videos

ytmagic --resume https://youtu.be/example9
# 🔁 Resumes interrupted download

⚙️ 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 Folder to save downloaded file (default: ~/Downloads)
-a, --audio Download audio only and convert to MP3 (requires FFmpeg)
-f, --formats Show available formats for all given URLs
--resume Resume interrupted downloads
-v, --version Show ytmagic version

📦 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

💡 Tips

  • Combine options for multiple features:
ytmagic -a -q best -p ~/Music https://youtu.be/example1 https://youtu.be/example2
  • This downloads multiple best-quality audio files, converts them to MP3, and saves them to ~/Music.

  • Use -f before downloading if you want to check available formats:

ytmagic -f https://youtu.be/example1 https://youtu.be/example2
  • Use --resume to continue interrupted downloads:
ytmagic --resume https://youtu.be/example1

📱 Run on Android (via Termux)

Yes — ytmagic works on Android too using Termux!

✅ Steps to Set It Up

  1. Install Termux from Play store.
  2. Open Termux and run:
pkg update && pkg upgrade
pkg install python ffmpeg termux-api
pip install pipx
pipx ensurepath
source ~/.bashrc  # Or restart Termux

3.Install ytmagic:

pipx install ytmagic

4.Grant storage access to Termux:

termux-setup-storage

5.Save downloads to phone storage:

ytmagic -p /sdcard/Download/ <URL>

6.Make media files appear in apps:

termux-media-scan /sdcard/Download/

7.(Optional) Add handy shortcuts in ~/.bashrc:

alias sc='termux-media-scan /sdcard/Music/'
alias yt='ytmagic -p /sdcard/Download/'
source ~/.bashrc

Run sc after every download so media files appear in music/video apps.


👨‍🔧 Built With


📜 License

MIT License — free for personal or commercial use.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ytmagic-1.2.9.tar.gz (6.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ytmagic-1.2.9-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

Details for the file ytmagic-1.2.9.tar.gz.

File metadata

  • Download URL: ytmagic-1.2.9.tar.gz
  • Upload date:
  • Size: 6.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ytmagic-1.2.9.tar.gz
Algorithm Hash digest
SHA256 4a0196abebeb6cd552c99b03f891ebb83989c296504138a2c2dfa2a7d091a203
MD5 4360c6931459bad65c2b3d606b6affef
BLAKE2b-256 8a6c380a0ed4a349676deb98e3e3d9a9ec48cf68b0daaf2f800029bef02c1b91

See more details on using hashes here.

File details

Details for the file ytmagic-1.2.9-py3-none-any.whl.

File metadata

  • Download URL: ytmagic-1.2.9-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

Hashes for ytmagic-1.2.9-py3-none-any.whl
Algorithm Hash digest
SHA256 282b0da47afa69047411a981dab4bd897e628fbfa1627719e68f7e97607b6a9f
MD5 bc8e34abddb2cd2a45dd8af84c98fa99
BLAKE2b-256 160c10627e303b2dd27f9ca5032f8aea67f9370156b35624f06a102f4ecfd9de

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page