Violin
Скилл и CLI для перевода и озвучки видео: расшифровка речи, перевод, синтез голоса и субтитры
Средний риск
Средний уровень ставим, когда инструмент запускает код, ходит в сеть или читает файлы проекта. Перед установкой посмотрите, что именно он делает.
Почему такой уровень
- Отправляет аудио и текст во внешние сервисы с ключами
- Запускает обработку видео и пишет файлы на диск
Установка
В терминале, через SkillFoxx CLI
npx skillfoxx add skills/violinОпределит агенты на машине, проверит риск и зафиксирует версию.
Другие способы установки
Выполните в терминале в папке проекта
npx skills add shang-zhu/violin --skill video-translator -a claude-code -yУтилита skills ставит текущую версию из репозитория. Чтобы скилл работал во всех проектах, добавьте флаг -g.
Без сторонних утилит, из коммита 7a86852
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/shang-zhu/violin.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /.claude/skills/video-translator/
git -C "$tmp" checkout 7a86852ced84624b1849abee6d7444c0904a73ea
mkdir -p .claude/skills
cp -R "$tmp/.claude/skills/video-translator" .claude/skills/video-translatorКоманды для macOS и Linux, на Windows выполните их в Git Bash.
Выполните в терминале в папке проекта
npx skills add shang-zhu/violin --skill video-translator -a cursor -yУтилита skills ставит текущую версию из репозитория. Чтобы скилл работал во всех проектах, добавьте флаг -g.
Без сторонних утилит, из коммита 7a86852
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/shang-zhu/violin.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /.claude/skills/video-translator/
git -C "$tmp" checkout 7a86852ced84624b1849abee6d7444c0904a73ea
mkdir -p .agents/skills
cp -R "$tmp/.claude/skills/video-translator" .agents/skills/video-translatorКоманды для macOS и Linux, на Windows выполните их в Git Bash.
Выполните в терминале в папке проекта
npx skills add shang-zhu/violin --skill video-translator -a github-copilot -yУтилита skills ставит текущую версию из репозитория. Чтобы скилл работал во всех проектах, добавьте флаг -g.
Без сторонних утилит, из коммита 7a86852
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/shang-zhu/violin.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /.claude/skills/video-translator/
git -C "$tmp" checkout 7a86852ced84624b1849abee6d7444c0904a73ea
mkdir -p .github/skills
cp -R "$tmp/.claude/skills/video-translator" .github/skills/video-translatorКоманды для macOS и Linux, на Windows выполните их в Git Bash.
Выполните в терминале в папке проекта
npx skills add shang-zhu/violin --skill video-translator -a codex -yУтилита skills ставит текущую версию из репозитория. Чтобы скилл работал во всех проектах, добавьте флаг -g.
Без сторонних утилит, из коммита 7a86852
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/shang-zhu/violin.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /.claude/skills/video-translator/
git -C "$tmp" checkout 7a86852ced84624b1849abee6d7444c0904a73ea
mkdir -p .agents/skills
cp -R "$tmp/.claude/skills/video-translator" .agents/skills/video-translatorКоманды для macOS и Linux, на Windows выполните их в Git Bash.
Выполните в терминале в папке проекта
npx skills add shang-zhu/violin --skill video-translator -a gemini-cli -yУтилита skills ставит текущую версию из репозитория. Чтобы скилл работал во всех проектах, добавьте флаг -g.
Без сторонних утилит, из коммита 7a86852
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/shang-zhu/violin.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /.claude/skills/video-translator/
git -C "$tmp" checkout 7a86852ced84624b1849abee6d7444c0904a73ea
mkdir -p .agents/skills
cp -R "$tmp/.claude/skills/video-translator" .agents/skills/video-translatorКоманды для macOS и Linux, на Windows выполните их в Git Bash.
Выполните в терминале в папке проекта
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/shang-zhu/violin.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /.claude/skills/video-translator/
git -C "$tmp" checkout 7a86852ced84624b1849abee6d7444c0904a73ea
mkdir -p .devin/skills
cp -R "$tmp/.claude/skills/video-translator" .devin/skills/video-translatorКоманды для macOS и Linux, на Windows выполните их в Git Bash.
Бывший Windsurf.
Выполните в терминале в папке проекта
npx skills add shang-zhu/violin --skill video-translator -a cline -yУтилита skills ставит текущую версию из репозитория. Чтобы скилл работал во всех проектах, добавьте флаг -g.
Без сторонних утилит, из коммита 7a86852
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/shang-zhu/violin.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /.claude/skills/video-translator/
git -C "$tmp" checkout 7a86852ced84624b1849abee6d7444c0904a73ea
mkdir -p .cline/skills
cp -R "$tmp/.claude/skills/video-translator" .cline/skills/video-translatorКоманды для macOS и Linux, на Windows выполните их в Git Bash.
Выполните в терминале в папке проекта
npx skills add shang-zhu/violin --skill video-translator -a roo -yУтилита skills ставит текущую версию из репозитория. Чтобы скилл работал во всех проектах, добавьте флаг -g.
Без сторонних утилит, из коммита 7a86852
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/shang-zhu/violin.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /.claude/skills/video-translator/
git -C "$tmp" checkout 7a86852ced84624b1849abee6d7444c0904a73ea
mkdir -p .roo/skills
cp -R "$tmp/.claude/skills/video-translator" .roo/skills/video-translatorКоманды для macOS и Linux, на Windows выполните их в Git Bash.
Форк Roo Code, папки .roo те же.
Выполните в терминале в папке проекта
npx skills add shang-zhu/violin --skill video-translator -a opencode -yУтилита skills ставит текущую версию из репозитория. Чтобы скилл работал во всех проектах, добавьте флаг -g.
Без сторонних утилит, из коммита 7a86852
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/shang-zhu/violin.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /.claude/skills/video-translator/
git -C "$tmp" checkout 7a86852ced84624b1849abee6d7444c0904a73ea
mkdir -p .agents/skills
cp -R "$tmp/.claude/skills/video-translator" .agents/skills/video-translatorКоманды для macOS и Linux, на Windows выполните их в Git Bash.
Выполните в терминале в папке проекта
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/shang-zhu/violin.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /.claude/skills/video-translator/
git -C "$tmp" checkout 7a86852ced84624b1849abee6d7444c0904a73ea
mkdir -p .agents/skills
cp -R "$tmp/.claude/skills/video-translator" .agents/skills/video-translatorКоманды для macOS и Linux, на Windows выполните их в Git Bash.
Выполните в терминале в папке проекта
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/shang-zhu/violin.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /.claude/skills/video-translator/
git -C "$tmp" checkout 7a86852ced84624b1849abee6d7444c0904a73ea
mkdir -p .agents/skills
cp -R "$tmp/.claude/skills/video-translator" .agents/skills/video-translatorКоманды для macOS и Linux, на Windows выполните их в Git Bash.
Установи CLI: uv tool install violin (или pip install violin), затем один раз выполни violin --install-skill, чтобы скопировать скилл в ~/.claude/skills. Ключи сервисов пользователь задает сам.
Другие способы из описания автора
uv tool install violinМожно и pip install violin. Нужен ffmpeg.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Violin переводит видео на другой язык и делает субтитры. Он расшифровывает речь, переводит ее, синтезирует голос на целевом языке и вшивает дорожку обратно в видео с выравниванием по таймингу, при желании с SRT-субтитрами. Работает с файлами mp4, mkv и webm, поддерживает десятки языков и подбор голоса по описанию. Устанавливается как CLI violin (и сервер violin-api), а поверх есть скилл для Claude Code, который вызывает CLI. Модели для перевода и синтеза подключаются через YAML: Together, OpenAI, ElevenLabs и другие.
Для кого. Для авторов контента и локализаторов, которым нужно переводить и озвучивать видео.
Подходит, если
- Нужно перевести и озвучить видео на другой язык
- Нужны субтитры к видео с выравниванием по таймингу
- Нужно локализовать ролик через агента с помощью CLI
Не подходит, если
- Нет ключей к сервисам перевода и синтеза речи
- Нужен только текстовый перевод без работы с видео
Пример запроса к агенту
Переведи и озвучь это видео на английский и сделай субтитрыОграничения
Нужны ключи внешних сервисов, по умолчанию Together для перевода и Cartesia для синтеза, часть моделей платная. Для установки и запуска нужны Python и ffmpeg. Скилл через глобальный CLI работает на конфиге по умолчанию, для OpenAI, ElevenLabs и своих настроек запускают проект напрямую. Доступность части сервисов из России без VPN не гарантирована.
Как отключить. Удалите скилл video-translator из ~/.claude/skills и снимите CLI командой uv tool uninstall violin.
Проверка безопасности
- Отправляет аудио и текст во внешние сервисы с ключами
- Запускает обработку видео и пишет файлы на диск
Коротко о README
README представляет Violin как открытый инструмент перевода видео, доступный как CLI, веб-приложение на FastAPI и скилл для Claude Code. Он расшифровывает речь, переводит, синтезирует озвучку и вшивает дорожку обратно с выравниванием, при желании с субтитрами. Поддерживаются десятки языков, подбор голоса по описанию и сменный стек моделей через YAML. Установка идет через uv или pip, скилл копируется командой violin --install-skill. Лицензия MIT.
SKILL.md
--- name: video-translator description: 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. allowed-tools: Bash, Read --- # Violin — operating skill Always uses the default config (Together for translation, `cartesia/sonic-3` for TTS).
Частые вопросы
Какие модели поддерживаются?
Стек сменный через YAML: Together, OpenAI, ElevenLabs и другие для перевода и синтеза. Скилл через глобальный CLI работает на стеке по умолчанию.
Нужны ли ключи?
Да, для перевода и синтеза речи нужны ключи внешних сервисов.
Похожие
Скиллы и CLI от HeyGen: агент пишет HTML-композиции и рендерит из них MP4-ролики, субтитры, моушн-графику и слайды
Blender MCP
MCP for Blender
MCP-сервер и аддон для Blender: агент создает и меняет объекты, материалы и сцены, подгружает ассеты и выполняет Python в Blender
Скиллы Remotion
Remotion Agent Skills
Официальные скиллы Remotion для создания видео на React: композиции, анимации, субтитры, карты и рендер
Агентная видеостудия для Claude Code, Cursor и Codex: сценарий, озвучка, картинки, стоковые кадры, музыка, субтитры и рендер