Video Translator
Doppia un video in 33 lingue con voci native e SRT tramite la CLI violin
Richiede configurazione
Cosa fa
Avvolge la CLI open-source Violin in modo che Claude possa doppiare un .mp4/.mkv/.webm in un'altra lingua: trascrive con Whisper, traduce con un LLM, sintetizza una voce fuori campo con Cartesia Sonic 3 e remixa il video con un SRT opzionale. Si attiva quando un utente chiede di tradurre, doppiare o fare una voce fuori campo per un file video, o vuole i sottotitoli per uno. Il file della skill aggiunge un controllo pre-volo (CLI su PATH, input esistente, TOGETHER_API_KEY impostato), una tabella di flag, la selezione del profilo di stile (standard/kids/academic/casual/storyteller/news) e regole per mostrare il costo di esecuzione e rimanere sullo stack Together predefinito.
Rapporto di test
Ho effettivamente eseguito `uv tool install violin` su questa macchina: si è installato su Python 3.11 e poi ogni invocazione è morta con `SyntaxError: f-string: unmatched '['` in pipeline/costs.py:111 (le virgolette annidate di PEP 701 richiedono 3.12+), nonostante pyproject/PyPI dichiarasse requires-python >=3.10; la reinstallazione con `--python 3.13` ha risolto il problema. Con la CLI funzionante ho verificato SKILL.md rispetto alla realtà: ogni flag nella sua tabella corrisponde a `violin --help` uno a uno, `violin --style list` restituisce esattamente i sei stili che nomina, e pipeline/languages.py contiene esattamente 33 lingue mentre tts_elevenlabs.py ha voci native per esattamente le 16 che elenca (zh es en hi ar pt ru ja tr de ko fr it pl nl sv) — nessuna esagerazione. Tutti e tre i file referenziati nel corpo sono stati recuperati con HTTP 200 (pipeline/pricing.py, config/default.yaml, config/other_api.yaml, più README.md); nessun curl|sh all'interno di SKILL.md (solo l'installer uv standard nel README), nessun base64, nessuna esfiltrazione di segreti, e proibisce esplicitamente l'installazione automatica. NON ho potuto eseguire un vero doppiaggio — nessun TOGETHER_API_KEY o chiave Cartesia in questo ambiente e ogni esecuzione fattura un'API a pagamento — quindi l'output è valutato solo sulla guida verificabile, non su un video prodotto; il confronto a livello di piano per "dub a kids cartoon into German with subtitles and keep the original audio underneath" ha mostrato che la skill ha risparmiato due round-trip di scoperta (`--help`, `--style list`), omettendo correttamente `--voiceover`/`--subtitles` perché entrambi sono predefiniti, aggiungendo `--style kids`, e richiedendo che il costo di esecuzione fosse mostrato — cose che un tentativo da zero avrebbe sbagliato. Frasi trigger giudicate: DOVREBBE (tutte e 3 corrette) "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"; NON DOVREBBE: "Translate this README.md into German" (correttamente saltato — testo, non video), "Generate English captions/SRT for my English-language webinar recording" (SBAGLIATO — la descrizione "or generate subtitles for it" attirerebbe la skill, ma il corpo ammette che non esiste una modalità solo sottotitoli e la sottotitolazione nella stessa lingua forzerebbe un doppiaggio completo a pagamento), quindi 4/5.
Testato il: 2026-07-21 · Claude Code 2.x (agent harness)
Installazione
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.)
Comandi e prompt di esempio
/video-translatorDoppia un video in 33 lingue con voci native e SRT tramite la CLI violin
Gli skill si attivano con richieste in linguaggio naturale, senza comandi da ricordare. Dopo l'installazione, prompt come questi lo attivano (in inglese):
Dub this video into Spanish for meGenerate subtitles for this MP4 fileTranslate and voice-over this video into French