Violin

Скилл и CLI для перевода и озвучки видео: расшифровка речи, перевод, синтез голоса и субтитры

Скилл

Средний риск

Средний уровень ставим, когда инструмент запускает код, ходит в сеть или читает файлы проекта. Перед установкой посмотрите, что именно он делает.

Почему такой уровень

  • Отправляет аудио и текст во внешние сервисы с ключами
  • Запускает обработку видео и пишет файлы на диск
Все причины и проверки

shang-zhu/violin

Установка

В терминале, через 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.

Понадобится: Node.js

Сверено с репозиторием 25 сент. 2026, коммит 7a86852.

Текст для агента

Установи 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-ролики, субтитры, моушн-графику и слайды

СкиллСредний риск53,9 тыс.Звезды репозитория

Blender MCP

MCP for Blender

Выбор редакции

MCP-сервер и аддон для Blender: агент создает и меняет объекты, материалы и сцены, подгружает ассеты и выполняет Python в Blender

MCP-серверВысокий риск29,5 тыс.Звезды репозитория

Скиллы Remotion

Remotion Agent Skills

Выбор редакции

Официальные скиллы Remotion для создания видео на React: композиции, анимации, субтитры, карты и рендер

СкиллНизкий риск4,8 тыс.Звезды репозитория

Агентная видеостудия для Claude Code, Cursor и Codex: сценарий, озвучка, картинки, стоковые кадры, музыка, субтитры и рендер

ВоркфлоуСредний риск61,8 тыс.Звезды репозитория
Foxx AIViolin

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.