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 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 -f before downloading if you want to check available formats/qualities:

yt -f URL1 URL2
  • Use --resume to continue interrupted downloads:
yt -r URL1 URL2 URL3

👨‍🔧 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.3.4.tar.gz (6.2 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.3.4-py3-none-any.whl (6.7 kB view details)

Uploaded Python 3

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

Hashes for ytmagic-1.3.4.tar.gz
Algorithm Hash digest
SHA256 e781a39df9d208bdef510dd240d778c2b75ae0f8ee1a6cfc137383e39880c4e2
MD5 358067bc4e48fa2c786eefbdaf40bf84
BLAKE2b-256 9185e59c211959e9eb03fd30ed4e571f8027add038baa11d647ade7d5484d02f

See more details on using hashes here.

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

Hashes for ytmagic-1.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 50481e1b57d070223c680d7860ec22425a32b178a211ee10fb61ed883324a1f3
MD5 0d99a2f7cd078db94800233e812e1dbe
BLAKE2b-256 0285f12bb08ce379fd4c48191379d7e4473ea45a82b338cac3eb23b5de5fe8b9

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