Video Translator

Synchronisiert ein Video in 33 Sprachen mit nativen Stimmen und SRT über die violin CLI

von shang-zhu · shang-zhu/violin

Funktioniert mit Setup ★ 7.2/10

Video Translator — Synchronisiert ein Video in 33 Sprachen mit nativen Stimmen und SRT über die violin CLI

Was es kann

Umschließt die Open-Source Violin CLI, damit Claude eine .mp4/.mkv/.webm in eine andere Sprache synchronisieren kann: Es transkribiert mit Whisper, übersetzt mit einem LLM, synthetisiert eine Sprachausgabe mit Cartesia Sonic 3 und remuxt das Video mit einem optionalen SRT. Wird ausgelöst, wenn ein Benutzer ein Video übersetzen, synchronisieren oder vertonen möchte oder Untertitel dafür wünscht. Die Skill-Datei fügt eine Vorabprüfung hinzu (CLI auf PATH, Eingabe vorhanden, TOGETHER_API_KEY gesetzt), eine Flag-Tabelle, Stilprofilauswahl (standard/kids/academic/casual/storyteller/news) und Regeln, um die Laufkosten anzuzeigen und auf dem Standard-Together-Stack zu bleiben.

Testbericht

Ich habe tatsächlich `uv tool install violin` auf dieser Maschine ausgeführt: Es wurde unter Python 3.11 installiert, und dann starb jeder Aufruf mit `SyntaxError: f-string: unmatched '['` in pipeline/costs.py:111 (PEP 701 verschachtelte Anführungszeichen benötigen 3.12+), obwohl pyproject/PyPI `requires-python >=3.10` deklarierte; die Neuinstallation mit `--python 3.13` behob das Problem. Mit der funktionierenden CLI habe ich die SKILL.md gegen die Realität überprüft: Jedes Flag in seiner Tabelle stimmt eins zu eins mit `violin --help` überein, `violin --style list` gibt genau die sechs Stile zurück, die es benennt, und pipeline/languages.py enthält genau 33 Sprachen, während tts_elevenlabs.py native Stimmen für genau die 16 auflistet (zh es en hi ar pt ru ja tr de ko fr it pl nl sv) — keine Übertreibung. Alle drei im Text referenzierten Dateien wurden mit HTTP 200 abgerufen (pipeline/pricing.py, config/default.yaml, config/other_api.yaml, plus README.md); kein curl|sh innerhalb von SKILL.md (nur der Standard-Astral-uv-Installer in der README), kein base64, keine geheime Exfiltration, und es verbietet explizit die automatische Installation. Ich konnte keine echte Synchronisation durchführen — keine TOGETHER_API_KEY oder Cartesia-Schlüssel in dieser Umgebung, und jeder Lauf wird als kostenpflichtige API abgerechnet — daher wird die Ausgabe nur nach überprüfbarer Anleitung bewertet, nicht nach einem produzierten Video; der Plan-Vergleich für „Synchronisiere einen Kinderzeichentrickfilm ins Deutsche mit Untertiteln und behalte das Originalaudio darunter“ zeigte, dass der Skill zwei Discovery-Roundtrips (`--help`, `--style list`) einsparte, `--voiceover`/`--subtitles` korrekt wegließ, da beide Standard sind, `--style kids` hinzufügte und die Anzeige der Laufkosten erforderte — Dinge, die ein Versuch von Grund auf falsch erraten hätte. Trigger-Formulierungen bewertet: SOLLTE (alle 3 korrekt) „Synchronisiere demo.mp4 ins Spanische für unseren LATAM-Launch“, „Ich habe eine Produktpräsentation auf Englisch — erstelle eine chinesische Voice-Over-Version“, „Übersetze lecture.mkv ins Deutsche und gib mir eine SRT“; SOLLTE NICHT: „Übersetze diese README.md ins Deutsche“ (korrekt übersprungen — Text, nicht Video), „Generiere englische Untertitel/SRT für meine englischsprachige Webinar-Aufzeichnung“ (FALSCH — die Beschreibung „oder generiere Untertitel dafür“ würde den Skill einbeziehen, aber der Text gibt zu, dass es keinen reinen Untertitelmodus gibt und die Untertitelung in derselben Sprache eine kostenpflichtige vollständige Synchronisation erzwingen würde), also 4/5.

Getestet am: 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.)

Befehle & Beispiel-Prompts

  • /video-translatorSynchronisiert ein Video in 33 Sprachen mit nativen Stimmen und SRT über die violin CLI

Skills reagieren auf normale Anfragen — keine Slash-Befehle nötig. Nach der Installation aktivieren Prompts wie diese den Skill (auf Englisch):

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