Video Translator
Dubber en video til 33 sprog med native stemmer og SRT via violin CLI'en
Virker med opsætning
Hvad det gør
Wrapper den open-source Violin CLI, så Claude kan dubbe en .mp4/.mkv/.webm til et andet sprog: den transskriberer med Whisper, oversætter med en LLM, syntetiserer en voice-over med Cartesia Sonic 3 og remuxer videoen med en valgfri SRT. Udløses, når en bruger beder om at oversætte, dubbe eller voice-over en videofil, eller ønsker undertekster til en. Skill-filen tilføjer en pre-flight-kontrol (CLI på PATH, input eksisterer, TOGETHER_API_KEY sat), en flag-tabel, stilprofil-valg (standard/kids/academic/casual/storyteller/news) og regler for at vise kørselsomkostninger og forblive på standard Together-stacken.
Testrapport
Jeg kørte faktisk `uv tool install violin` på denne maskine: den installerede på Python 3.11, og derefter døde hver invocation med `SyntaxError: f-string: unmatched '['` i pipeline/costs.py:111 (PEP 701 indlejrede citater kræver 3.12+), på trods af at pyproject/PyPI erklærede requires-python >=3.10; geninstallation med `--python 3.13` løste det. Med den fungerende CLI verificerede jeg SKILL.md mod virkeligheden: hvert flag i dens tabel matcher `violin --help` én-til-én, `violin --style list` returnerer præcis de seks stilarter, den navngiver, og pipeline/languages.py indeholder præcis 33 sprog, mens tts_elevenlabs.py har native stemmer for præcis de 16, den lister (zh es en hi ar pt ru ja tr de ko fr it pl nl sv) — ingen overdrivelse. Alle tre kropsrefererede filer blev hentet HTTP 200 (pipeline/pricing.py, config/default.yaml, config/other_api.yaml, plus README.md); ingen curl|sh inde i SKILL.md (kun den standard astrale uv-installer i README), ingen base64, ingen hemmelig exfiltration, og den forbyder eksplicit auto-installation. Jeg kunne IKKE køre en reel dub — ingen TOGETHER_API_KEY eller Cartesia-nøgle i dette miljø, og hver kørsel fakturerer en betalt API — so output is scored on verifiable guidance only, not a produced video; the plan-level comparison for "dub a kids cartoon into German with subtitles and keep the original audio underneath" showed the skill saving two discovery round-trips (`--help`, `--style list`), correctly omitting `--voiceover`/`--subtitles` because both are defaults, adding `--style kids`, and requiring the run cost be surfaced — things a from-scratch attempt would guess wrong. Trigger-fraseringer bedømt: SKAL (alle 3 korrekte) "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"; SKAL IKKE: "Translate this README.md into German" (korrekt sprunget over — tekst, not video), "Generate English captions/SRT for my English-language webinar recording" (FORKERT — beskrivelsens "or generate subtitles for it" ville trække skill'en ind, but the body admits there is no subtitles-only mode and same-language captioning would force a paid full dub), so 4/5.
Testet: 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.)
Kommandoer og eksempelprompter
/video-translatorDubber en video til 33 sprog med native stemmer og SRT via violin CLI'en
Skills udløses af almindelige forespørgsler — ingen kommandoer at huske. Efter installationen aktiverer prompter som disse skillen (på engelsk):
Dub this video into Spanish for meGenerate subtitles for this MP4 fileTranslate and voice-over this video into French