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. 🤯
🚀 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 | ✅ | ❌ | ❌ | ❌ |
| ✅ | ❌ | ❌ | ❌ |
🛠 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 | ✅ | ❌ |
| ✅ | Sometimes | |
| ✅ | 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!
- Fork the repo
- Create your feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
📜 License
MIT © 2026 royalashu4u
⭐ Star this repo if you find it useful! ⭐
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 voxi-1.1.0.tar.gz.
File metadata
- Download URL: voxi-1.1.0.tar.gz
- Upload date:
- Size: 22.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f6884b69de79b47cb366310dbcf471de057a1a4c88affe091effbf4a3bc857e7
|
|
| MD5 |
982aa2e9c458d84c46dd99c556e43514
|
|
| BLAKE2b-256 |
c4d14908683814c3fbc616db40b13bfa4381a0b2b03883dbaeafeb061d8310e1
|
File details
Details for the file voxi-1.1.0-py3-none-any.whl.
File metadata
- Download URL: voxi-1.1.0-py3-none-any.whl
- Upload date:
- Size: 30.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1418f07a88b25252c92f17f8d3da9c202e3dd2d646c1e63b3e67a4194d891980
|
|
| MD5 |
06662713b3899e0014bb0a81263060e6
|
|
| BLAKE2b-256 |
2a1ec73a83158bfbfe66a9940014f73fb8ad347fbb3d60bbecfa247486a1a1c0
|