Agent skill · Backend & API

video-translator

Dub a video into another language and generate subtitles using the default Together + Cartesia stack. Trigger when the user wants to translate / dub / voice-over a video file, or generate subtitles for it. Handles `.mp4` / `.mkv` / `.webm`. Installs as the `violin` CLI (and `violin-api` for the FastAPI server) via `uv tool install`. For alternative models (OpenAI / ElevenLabs) or custom configs, point the user to the repo: https://github.com/shang-zhu/violin.

shang-zhugithub.com/shang-zhuGitHub ↗
claude-codecan modify filesMIT
Install
npx skills add shang-zhu/violin --skill video-translator --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 1
SKILL.md size: 4 KB
Bundled scripts: none
Allowed tools: BashRead
Path: .claude/skills/video-translator/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 1,032
Language: Python

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# Violin — operating skill Always uses the default config (Together for translation, `cartesia/sonic-3` for TTS). If the user asks for OpenAI, ElevenLabs, or custom configs, **stop and point them to the Violin repo** — those flows aren't supported through the global CLI. ## Pre-flight Run these silently first. Abort if any fails: ```bash command -v violin # 1. CLI on PATH test -f "<input>" # 2. Input exists printenv TOGETHER_API_KEY # 3. Key available ``` If `violin` is missing: tell the user to `uv tool install violin`, then `violin --install-skill` to refresh this skill file. Do not auto-install. If `TOGETHER_API_KEY` is missing: - Inside the Violin repo → populate `.env` (auto-loaded) - Elsewhere → `export TOGETHER_API_KEY=...` in `~/.zshrc` / `~/.bashrc`, then `source` it ## Decisions - **CLI vs API**: single run-and-wait file → CLI (`violin`). Multi-job / HTTP / web UI → API server (`violin-api`); print the command, don't auto-start it. - **Style** (`--style`): default `standard`. Kids content → `kids`, formal/lecture → `academic`, casual → `casual`, dramatic → `storyteller`, news → `news`. Run `violin --style list` if unsure. - **Voiceover**: keep default (mix dubbed audio ov

What's inside
Steps it walks through
  1. Pre-flight
  2. Decisions
  3. Run
  4. Flags
  5. Language coverage
  6. Report back
  7. Don'ts
Commands it runs
command -v violin                 # 1. CLI on PATH
test -f "<input>"                 # 2. Input exists
printenv TOGETHER_API_KEY         # 3. Key available
violin <input> <output> --language <Lang> [flags]
About this skill
What does the video-translator skill do?

Dub a video into another language and generate subtitles using the default Together + Cartesia stack. Trigger when the user wants to translate / dub / voice-over a video file, or generate subtitles for it. Handles `.mp4` / `.mkv` / `.webm`. Installs as the `violin` CLI (and `violin-api` for the FastAPI server) via `uv tool install`. For alternative models (OpenAI / ElevenLabs) or custom configs, point the user to the repo: https://github.com/shang-zhu/violin.

How do I install it?

Run `npx skills add shang-zhu/violin --skill video-translator --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From shang-zhu/violin, a repository with 1,032 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going