Video Translator
Dubt een video in 33 talen met native stemmen en SRT via de violin CLI
Werkt met setup
Wat het doet
Wrapt de open-source Violin CLI zodat Claude een .mp4/.mkv/.webm kan dubben in een andere taal: het transcribeert met Whisper, vertaalt met een LLM, synthetiseert een voice-over met Cartesia Sonic 3, en remuxt de video met een optionele SRT. Activeert wanneer een gebruiker vraagt om een videobestand te vertalen, dubben of voice-overen, of ondertitels wil voor een video. Het skill-bestand voegt een pre-flight check toe (CLI op PATH, input bestaat, TOGETHER_API_KEY ingesteld), een vlaggentabel, stijlprofielselectie (standard/kids/academic/casual/storyteller/news), en regels om de runkosten weer te geven en op de standaard Together-stack te blijven.
Testrapport
Ik heb daadwerkelijk `uv tool install violin` op deze machine uitgevoerd: het installeerde op Python 3.11 en daarna stierf elke aanroep met `SyntaxError: f-string: unmatched '['` in pipeline/costs.py:111 (PEP 701 geneste aanhalingstekens vereisen 3.12+), ondanks dat pyproject/PyPI requires-python >=3.10 declareerde; opnieuw installeren met `--python 3.13` loste het op. Met de werkende CLI verifieerde ik de SKILL.md tegen de realiteit: elke vlag in de tabel komt één-op-één overeen met `violin --help`, `violin --style list` retourneert precies de zes stijlen die het noemt, en pipeline/languages.py bevat precies 33 talen terwijl tts_elevenlabs.py native stemmen heeft voor precies de 16 die het opsomt (zh es en hi ar pt ru ja tr de ko fr it pl nl sv) — geen overdreven claims. Alle drie de in de body genoemde bestanden werden HTTP 200 opgehaald (pipeline/pricing.py, config/default.yaml, config/other_api.yaml, plus README.md); geen curl|sh in SKILL.md (alleen de standaard astral uv installer in de README), geen base64, geen geheime exfiltratie, en het verbiedt expliciet auto-installatie. Ik kon geen echte dub uitvoeren — geen TOGETHER_API_KEY of Cartesia-sleutel in deze omgeving en elke run brengt een betaalde API in rekening — dus de output wordt alleen beoordeeld op verifieerbare begeleiding, niet op een geproduceerde video; de vergelijking op planniveau voor "dub a kids cartoon into German with subtitles and keep the original audio underneath" toonde dat de skill twee discovery round-trips bespaarde (`--help`, `--style list`), correct `--voiceover`/`--subtitles` weglatend omdat beide defaults zijn, `--style kids` toevoegend, en vereisend dat de runkosten worden weergegeven — dingen die een from-scratch poging verkeerd zou raden. Triggerzinnen beoordeeld: MOET (alle 3 correct) "Dub demo.mp4 into Spanish for our LATAM launch", "I have a product walkthrough in English — make a Chinese voice-over version", "Translate lecture.mkv into German and give me an SRT"; MOET NIET: "Translate this README.md into German" (correct overgeslagen — tekst, geen video), "Generate English captions/SRT for my English-language webinar recording" (VERKEERD — de beschrijving's "or generate subtitles for it" zou de skill aantrekken, maar de body geeft toe dat er geen subtitles-only modus is en ondertiteling in dezelfde taal zou een betaalde volledige dub afdwingen), dus 4/5.
Getest op: 2026-07-21 · Claude Code 2.x (agent harness)
Installatie
git clone --depth 1 https://github.com/shang-zhu/violin.git /tmp/video-translator-src mkdir -p ~/.claude/skills cp -R /tmp/video-translator-src/.claude/skills/video-translator ~/.claude/skills/video-translator # The skill is a wrapper — it needs the violin CLI to do anything: # brew install ffmpeg # uv tool install --python 3.13 violin # pin 3.12+: the published 0.1.1 sdist claims >=3.10 but SyntaxErrors on 3.10/3.11 # export TOGETHER_API_KEY=... # get one at https://api.together.ai # Verify: violin --help && violin --style list # (`violin --install-skill` copies the same SKILL.md itself.)
Commando's en voorbeeldprompts
/video-translatorDubt een video in 33 talen met native stemmen en SRT via de violin CLI
Skills reageren op gewone verzoeken — geen commando's om te onthouden. Na installatie activeren prompts zoals deze de skill (in het Engels):
Dub this video into Spanish for meGenerate subtitles for this MP4 fileTranslate and voice-over this video into French