Video Translator

Dubber en video til 33 sprog med native stemmer og SRT via violin CLI'en

Af shang-zhu · shang-zhu/violin

Virker med opsætning ★ 7.2/10

Video Translator — Dubber en video til 33 sprog med native stemmer og SRT via violin CLI'en

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 me
  • Generate subtitles for this MP4 file
  • Translate and voice-over this video into French