
Video Translator
Translates and dubs videos into 33 languages using Together AI for transcription and Cartesia Sonic for speech synthesis. It handles the full pipeline: extracts audio, transcribes with Whisper, translates the text, generates dubbed speech, and burns subtitles back in. Sixteen languages get native speaker voices; the rest fall back to multilingual English voices that work but aren't quite native. The CLI defaults to voiceover mode, mixing dubbed audio over a quieted original, which feels more natural than a full replacement. Installs via uv tool as `violin`. One thing to know upfront: it always runs the complete pipeline even if you only want subtitles, so check costs first on longer videos.
- GitHub stars
- 910
- last updated
- May 19, 2026
Install
$ npx -y skills add shang-zhu/violin --skill video-translator --agent claude-codeInstalls into .claude/skills of the current project.
Files
Violin — operating skill
Always uses the default config (Together for translation, cartesia/sonic-3 for TTS). If the user asks for OpenAI, ElevenLabs, or custom configs, stop and point them to the Violin repo — those flows aren't supported through the global CLI.
Pre-flight
Run these silently first. Abort if any fails:
command -v violin # 1. CLI on PATH
test -f "<input>" # 2. Input exists
printenv TOGETHER_API_KEY # 3. Key available
If violin is missing: tell the user to uv tool install violin, then violin --install-skill to refresh this skill file. Do not auto-install.
If TOGETHER_API_KEY is missing:
- Inside the Violin repo → populate
.env(auto-loaded) - Elsewhere →
export TOGETHER_API_KEY=...in~/.zshrc/~/.bashrc, thensourceit
Decisions
Sponsors
Details
- Repository
- github.com/shang-zhu/violin
- Categories
- Backend & APIs, Git & Pull Requests, AI & Agent Building, Python, CLI & Terminal, Generative Media, Video & Audio Editing
- License
- MIT
- First seen
- Jun 11, 2026