Video Translator

Dabuje video do 33 jazyků s nativními hlasy a SRT přes violin CLI

od shang-zhu · shang-zhu/violin

Funguje s nastavením ★ 7.2/10

Video Translator — Dabuje video do 33 jazyků s nativními hlasy a SRT přes violin CLI

Co umí

Obaluje open-source Violin CLI, takže Claude může dabovat .mp4/.mkv/.webm do jiného jazyka: transkribuje pomocí Whisper, překládá pomocí LLM, syntetizuje hlasový doprovod s Cartesia Sonic 3 a remuxuje video s volitelným SRT. Spouští se, když uživatel požádá o překlad, dabing nebo hlasový doprovod video souboru, nebo chce titulky k němu. Soubor dovednosti přidává předletovou kontrolu (CLI na PATH, vstup existuje, TOGETHER_API_KEY nastaven), tabulku flagů, výběr stylu profilu (standard/kids/academic/casual/storyteller/news) a pravidla pro zobrazení nákladů na spuštění a setrvání na výchozím Together stacku.

Testovací report

Skutečně jsem spustil `uv tool install violin` na tomto stroji: nainstaloval se na Python 3.11 a poté každé vyvolání zemřelo s `SyntaxError: f-string: unmatched '['` v pipeline/costs.py:111 (vnořené uvozovky PEP 701 potřebují 3.12+), přestože pyproject/PyPI deklaruje requires-python >=3.10; přeinstalace s `--python 3.13` to opravila. S funkčním CLI jsem ověřil SKILL.md proti realitě: každý flag v jeho tabulce odpovídá `violin --help` jedna ku jedné, `violin --style list` vrací přesně šest stylů, které jmenuje, a pipeline/languages.py obsahuje přesně 33 jazyků, zatímco tts_elevenlabs.py má nativní hlasy pro přesně 16, které uvádí (zh es en hi ar pt ru ja tr de ko fr it pl nl sv) — žádné přehánění. Všechny tři soubory odkazované v těle byly načteny HTTP 200 (pipeline/pricing.py, config/default.yaml, config/other_api.yaml, plus README.md); žádné curl|sh uvnitř SKILL.md (pouze standardní astral uv instalátor v README), žádné base64, žádná exfiltrace tajemství a explicitně zakazuje automatickou instalaci. NEMOHL jsem spustit skutečný dabing — v tomto prostředí nemám TOGETHER_API_KEY ani Cartesia klíč v tomto prostředí a každé spuštění účtuje placené API — takže výstup je hodnocen pouze na ověřitelném vedení, nikoli na vyprodukovaném videu; srovnání na úrovni plánu pro "dubovat dětský kreslený film do němčiny s titulky a ponechat původní zvuk pod ním" ukázalo, že dovednost ušetřila dvě objevitelské cesty (`--help`, `--style list`), správně vynechala `--voiceover`/`--subtitles`, protože obě jsou výchozí, přidala `--style kids` a vyžadovala zobrazení nákladů na spuštění — věci, které by pokus od nuly uhodl špatně. Spouštěcí fráze posouzeny: MĚLO by se spustit (všechny 3 správně) "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"; NEMĚLO by se spustit: "Translate this README.md into German" (správně přeskočeno — text, nikoli video), "Generate English captions/SRT for my English-language webinar recording" (ŠPATNĚ — popis "nebo generovat titulky k němu" by dovednost přitáhl, ale tělo připouští, že neexistuje režim pouze titulků a titulkování ve stejném jazyce by vynutilo placený plný dabing), tedy 4/5.

Testováno: 2026-07-21 · Claude Code 2.x (agent harness)

Instalace

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

Příkazy a ukázkové prompty

  • /video-translatorDabuje video do 33 jazyků s nativními hlasy a SRT přes violin CLI

Skilly se spouštějí běžnými požadavky — žádné příkazy k zapamatování. Po instalaci ho aktivují prompty jako tyto (anglicky):

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