Video Translator

Dobla un video a 33 idiomas con voces nativas y SRT a través de la CLI violin

Por shang-zhu · shang-zhu/violin

Funciona con configuración ★ 7.2/10

Video Translator — Dobla un video a 33 idiomas con voces nativas y SRT a través de la CLI violin

Qué hace

Envuelve la CLI de código abierto Violin para que Claude pueda doblar un .mp4/.mkv/.webm a otro idioma: transcribe con Whisper, traduce con un LLM, sintetiza una voz en off con Cartesia Sonic 3 y remezcla el video con un SRT opcional. Se activa cuando un usuario pide traducir, doblar o poner voz en off a un archivo de video, o quiere subtítulos para uno. El archivo de habilidad añade una verificación previa al vuelo (CLI en PATH, entrada existente, TOGETHER_API_KEY configurada), una tabla de banderas, selección de perfil de estilo (standard/kids/academic/casual/storyteller/news) y reglas para mostrar el costo de ejecución y permanecer en la pila predeterminada de Together.

Informe de la prueba

De hecho, ejecuté `uv tool install violin` en esta máquina: se instaló en Python 3.11 y luego cada invocación falló con `SyntaxError: f-string: unmatched '['` en pipeline/costs.py:111 (las comillas anidadas de PEP 701 necesitan 3.12+), a pesar de que pyproject/PyPI declaraba requires-python >=3.10; reinstalar con `--python 3.13` lo solucionó. Con la CLI funcionando, verifiqué SKILL.md contra la realidad: cada bandera en su tabla coincide con `violin --help` uno a uno, `violin --style list` devuelve exactamente los seis estilos que nombra, y pipeline/languages.py contiene exactamente 33 idiomas mientras que tts_elevenlabs.py tiene voces nativas para exactamente los 16 que lista (zh es en hi ar pt ru ja tr de ko fr it pl nl sv) — sin exageraciones. Los tres archivos referenciados en el cuerpo se obtuvieron con HTTP 200 (pipeline/pricing.py, config/default.yaml, config/other_api.yaml, más README.md); no hay curl|sh dentro de SKILL.md (solo el instalador estándar astral uv en el README), no hay base64, no hay exfiltración de secretos, y prohíbe explícitamente la auto-instalación. NO pude ejecutar un doblaje real — no hay TOGETHER_API_KEY o clave de Cartesia en este entorno y cada ejecución factura una API de pago — por lo que la salida se puntúa solo en la guía verificable, no en un video producido; la comparación a nivel de plan para "dub a kids cartoon into German with subtitles and keep the original audio underneath" mostró que la habilidad ahorró dos viajes de ida y vuelta de descubrimiento (`--help`, `--style list`), omitiendo correctamente `--voiceover`/`--subtitles` porque ambos son predeterminados, añadiendo `--style kids`, y requiriendo que se mostrara el costo de ejecución — cosas que un intento desde cero adivinaría mal. Frases de activación juzgadas: DEBERÍA (las 3 correctas) "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"; NO DEBERÍA: "Translate this README.md into German" (omitido correctamente — texto, no video), "Generate English captions/SRT for my English-language webinar recording" (INCORRECTO — la descripción "or generate subtitles for it" atraería la habilidad, pero el cuerpo admite que no hay modo solo de subtítulos y la subtitulación en el mismo idioma forzaría un doblaje completo de pago), por lo tanto 4/5.

Probado el: 2026-07-21 · Claude Code 2.x (agent harness)

Instalación

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.)

Comandos y prompts de ejemplo

  • /video-translatorDobla un video a 33 idiomas con voces nativas y SRT a través de la CLI violin

Los skills se activan con peticiones en lenguaje natural, sin comandos que memorizar. Tras instalarlo, prompts como estos lo activan (en inglés):

  • Dub this video into Spanish for me
  • Generate subtitles for this MP4 file
  • Translate and voice-over this video into French