Video Translator
Double une vidéo en 33 langues avec des voix natives et des SRT via la CLI violin
Fonctionne avec configuration
Ce que fait
Enveloppe la CLI open-source Violin afin que Claude puisse doubler un .mp4/.mkv/.webm dans une autre langue : elle transcrit avec Whisper, traduit avec un LLM, synthétise une voix off avec Cartesia Sonic 3, et remixe la vidéo avec un SRT optionnel. Se déclenche lorsqu'un utilisateur demande de traduire, doubler ou faire une voix off pour un fichier vidéo, ou souhaite des sous-titres pour celui-ci. Le fichier de compétence ajoute une vérification pré-vol (CLI sur PATH, entrée existante, TOGETHER_API_KEY défini), un tableau de flags, une sélection de profil de style (standard/enfants/académique/décontracté/conteur/actualités), et des règles pour afficher le coût d'exécution et rester sur la pile Together par défaut.
Rapport de test
J'ai réellement exécuté `uv tool install violin` sur cette machine : il s'est installé sur Python 3.11 et ensuite chaque invocation a échoué avec `SyntaxError: f-string: unmatched '['` dans pipeline/costs.py:111 (les guillemets imbriqués de PEP 701 nécessitent 3.12+), malgré pyproject/PyPI déclarant requires-python >=3.10 ; la réinstallation avec `--python 3.13` a résolu le problème. Avec la CLI fonctionnelle, j'ai vérifié le SKILL.md par rapport à la réalité : chaque flag de son tableau correspond à `violin --help` un pour un, `violin --style list` renvoie exactement les six styles qu'il nomme, et pipeline/languages.py contient exactement 33 langues tandis que tts_elevenlabs.py a des voix natives pour exactement les 16 qu'il liste (zh es en hi ar pt ru ja tr de ko fr it pl nl sv) — pas de surestimation. Les trois fichiers référencés dans le corps ont été récupérés HTTP 200 (pipeline/pricing.py, config/default.yaml, config/other_api.yaml, plus README.md) ; pas de curl|sh à l'intérieur de SKILL.md (seulement l'installeur uv astral standard dans le README), pas de base64, pas d'exfiltration de secrets, et il interdit explicitement l'auto-installation. Je n'ai PAS pu exécuter un vrai doublage — pas de TOGETHER_API_KEY ou de clé Cartesia dans cet environnement et chaque exécution facture une API payante — donc la sortie est évaluée uniquement sur des conseils vérifiables, pas sur une vidéo produite ; la comparaison au niveau du plan pour "doubler un dessin animé pour enfants en allemand avec des sous-titres et garder l'audio original en dessous" a montré que la compétence économisait deux allers-retours de découverte (`--help`, `--style list`), omettant correctement `--voiceover`/`--subtitles` car les deux sont des valeurs par défaut, ajoutant `--style kids`, et exigeant que le coût d'exécution soit affiché — des choses qu'une tentative à partir de zéro aurait mal devinées. Phrases de déclenchement jugées : DEVRAIT (les 3 correctes) "Doubler demo.mp4 en espagnol pour notre lancement LATAM", "J'ai une présentation produit en anglais — faire une version voix off chinoise", "Traduire lecture.mkv en allemand et me donner un SRT" ; NE DEVRAIT PAS : "Traduire ce README.md en allemand" (correctement ignoré — texte, pas vidéo), "Générer des légendes/SRT anglais pour mon enregistrement de webinaire en anglais" (FAUX — le "ou générer des sous-titres pour cela" de la description attirerait la compétence, mais le corps admet qu'il n'y a pas de mode sous-titres uniquement et le sous-titrage dans la même langue forcerait un doublage complet payant), donc 4/5.
Testé le: 2026-07-21 · Claude Code 2.x (agent harness)
Installation
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.)
Commandes et exemples de prompts
/video-translatorDouble une vidéo en 33 langues avec des voix natives et des SRT via la CLI violin
Les skills se déclenchent sur des demandes en langage courant — aucune commande à retenir. Après installation, des prompts comme ceux-ci l'activent (en anglais) :
Dub this video into Spanish for meGenerate subtitles for this MP4 fileTranslate and voice-over this video into French