Skip to main content

Transcribe social media videos locally. No cloud, no APIs, unlimited use.

Project description

██╗   ██╗ ██████╗ ██╗  ██╗██╗
██║   ██║██╔═══██╗╚██╗██╔╝██║
██║   ██║██║   ██║ ╚███╔╝ ██║
╚██╗ ██╔╝██║   ██║ ██╔██╗ ██║
 ╚████╔╝ ╚██████╔╝██╔╝ ██╗██║
    ╚═══╝   ╚═════╝ ╚═╝  ╚═╝╚═╝                
  

Voxi

Transcribe social media videos locally

No cloud. No paid APIs. Unlimited use. 🤯

MIT License Python 3.8+ PRs Welcome MCP Ready Buy Me a Coffee


🚀 What is Voxi?

A terminal tool that downloads and transcribes any social media video into clean text with timestamps.

Paste an Instagram Reel, YouTube video, TikTok, Twitter/X clip, or Facebook video — get back a full transcript. All on your machine. Forever free.

Pipeline:

YouTube/Instagram/TikTok/Twitter/X/Facebook ──► yt-dlp ──► ffmpeg ──► Whisper ──► JSON + Text

⚡ Quick Start

Option A — Clone & run (30 seconds)

git clone https://github.com/royalashu4u/voxi.git
cd voxi
pip install -e .
voxi "https://www.instagram.com/reel/..."

Option B — One-click setup (auto)

git clone https://github.com/royalashu4u/voxi.git
cd voxi
bash scripts/setup.sh        # Linux / macOS
powershell -File scripts/setup.ps1    # Windows

Option C — pip install (from anywhere)

pip install voxi
voxi "https://www.youtube.com/watch?v=..."

🎮 Usage

Interactive mode

voxi
# Paste a URL at the prompt — or type / to see command suggestions
# Try /help, /lang hi, /history, /config

Direct mode

voxi "https://www.instagram.com/voxi/..."

🤖 MCP Integration — Use Voxi inside Claude, Cursor, Windsurf

Voxi can run as an MCP server, letting AI assistants transcribe videos on your behalf. You say "transcribe this reel" — the AI calls Voxi locally, gets the text, and replies.

Step 1 — Install MCP support (Python 3.10+ required):

pip install voxi[mcp]

Step 2 — Add to your Claude Desktop config (~/.config/claude/claude_desktop_config.json on Linux/macOS, %APPDATA%\Claude\claude_desktop_config.json on Windows):

{
  "mcpServers": {
    "voxi": {
      "command": "python",
      "args": ["-m", "voxi_transcriber.mcp_server"]
    }
  }
}

Step 3 — Restart Claude Desktop. Done! 🎉

Two tools are exposed to the AI:

Tool Returns
transcribe_video(url) Full plain-text transcript
transcribe_video_with_timestamps(url) [MM:SS → MM:SS] text per segment

Works with Claude Desktop, Cursor, Windsurf, Zed, and any MCP-compatible client.


💸 vs Cloud APIs

Feature Voxi AssemblyAI Rev.ai Whisper API
Cost $0 $0.015/min $0.25/min $0.006/min
Unlimited
Offline
Privacy
MCP support
Instagram

🛠 Commands

Command What it does
Paste a URL Transcribe the video
/help Show commands
/lang [code] Set language
/history View transcripts
/config Show settings
/cache View/clear cache
/clear Clear screen
/exit Quit

⚙️ Configuration

Edit voxi_transcriber/config.py:

Setting Default Options Description
MODEL_SIZE base tiny, base, small, medium, large-v3 Model size
DEVICE auto auto, cuda, cpu Compute device
COMPUTE_TYPE int8 int8, float16, float32 Precision
LANGUAGE auto auto, en, hi, es, ... Language
USE_COOKIES True True, False Instagram cookies
USE_CACHE True True, False Enable caching

🌐 Platform Support

Platform Works out of the box Needs cookies
YouTube
TikTok
Twitter / X
Facebook Sometimes
Instagram Always

❓ FAQ

Missing dependencies: faster-whisper
pip install faster-whisper
"Instagram blocked the request"
yt-dlp --cookies-from-browser firefox --cookies cookies.txt "https://www.instagram.com/"
Missing ffmpeg
sudo apt install ffmpeg  # Ubuntu/Debian
brew install ffmpeg      # macOS

📁 Folder Structure

voxi/
├── voxi_transcriber/         # Python package
│   ├── __init__.py
│   ├── __main__.py
│   ├── app.py                # ← Textual TUI (main entry point)
│   ├── cli.py                # Rich REPL (legacy)
│   ├── config.py             # All settings
│   ├── mcp_server.py         # MCP server for AI agents
│   ├── transcribe.py         # Core pipeline
│   ├── utils.py              # Cache, download, formatting
│   └── ui/
│       ├── header.py
│       ├── history_viewer.py
│       └── transcript_viewer.py
├── scripts/
│   ├── setup.sh              # Linux / macOS auto-setup
│   └── setup.ps1             # Windows auto-setup
├── outputs/                  # Saved transcripts (auto-created)
├── .cache/                   # Cache directory (auto-created)
├── cookies.txt               # Instagram auth (you generate this)
├── pyproject.toml
├── README.md
└── AGENTS.md

🤝 Contributing

Contributions welcome!

  1. Fork the repo
  2. Create your feature branch
  3. Commit your changes
  4. Push to the branch
  5. Open a Pull Request

📜 License

MIT © 2026 royalashu4u


⭐ Star this repo if you find it useful! ⭐

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

voxi-1.1.1.tar.gz (23.5 kB view details)

Uploaded Source

Built Distribution

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

voxi-1.1.1-py3-none-any.whl (31.4 kB view details)

Uploaded Python 3

File details

Details for the file voxi-1.1.1.tar.gz.

File metadata

  • Download URL: voxi-1.1.1.tar.gz
  • Upload date:
  • Size: 23.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for voxi-1.1.1.tar.gz
Algorithm Hash digest
SHA256 72fae2adc1e19ac404c4273d632249b444f699916f046c4bb8b1497cc9bd64f9
MD5 c48d8f083715a1c515977f2e5fbcd64c
BLAKE2b-256 7474910a77a4094d4a2044d0d5ca955bb766a84858612c50843a8d3a89dd29cb

See more details on using hashes here.

File details

Details for the file voxi-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: voxi-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 31.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for voxi-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 139ddf01d4a00412e9d709f8b971d3da38a00f527471d9d1dca92e7b3de24e21
MD5 f08c3ebf396b76fa00afc59814820d66
BLAKE2b-256 88c9e1c6d71a28bd6f276a1ef2137b1d75fe361fd024880477184500c352712a

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