Промо-видео для продукта обычно стоит денег. Моушн-дизайнер, диктор, звукорежиссёр, монтажёр — четыре роли, минимум неделя работы, счёт на сотни долларов за ролик. Для маленького проекта или личного блога это роскошь.
Я наткнулся на два open-source инструмента, которые в связке меняют уравнение. Один генерирует визуальный ряд с анимацией и звуковым дизайном. Второй — озвучивает текст на 600+ языках с клонированием голоса. Оба работают локально, без облака и подписок. Связка из двух репозиториев заменяет съёмочную группу.
Речь про Video Shotcraft — AI-скилл для Claude Code и Codex, который собирает кинематографичные промо-ролики через Remotion. И OmniVoice — TTS-модель от k2-fsa, которая генерирует речь в 40 раз быстрее реального времени.
Shotcraft: 106 рецептов шотов в кармане агента
Video Shotcraft — это скилл для AI-агентов. Не отдельное приложение, а набор инструкций и шаблонов, который загружается в Claude Code, Codex или любой агент, поддерживающий скиллы. Агент получает 106 карточек раскадровки, 161 превью моушна и готовый видео-шаблон Ink Press — 36 секунд, 1920x1080, 10 шотов в стиле paper-ink-amber.
Каждая карточка шота — рецепт: цель, энергия, длительность, параметры реализации, подводные камни. Агент не придумывает анимацию с нуля — он берёт готовый рецепт и адаптирует под продукт.
Установка в Codex на macOS:
git clone https://github.com/Vincentwei1021/video-shotcraft.git
cd video-shotcraft
npm install
ln -s "$(pwd)" ~/.codex/skills/video-shotcraft
После установки пишешь агенту: “Use video-shotcraft to create a promo for my product.” Агент берёт скриншоты продукта, выбирает шоты из карточек, собирает Remotion-проект и рендерит MP4.
Шоты включают 2.5D камеру — реальные скриншоты продукта перемещаются в псевдотрёхмерном пространстве. Резка синхронизируется с битом музыки. SFX — свисты, удары, whoosh-переходы — встроены в шаблон. Это не слайд-шоу из картинок, а программное видео с киношной эстетикой.
Инсайт: 106 карточек шотов — не маркетинговый список фич. Это дистиллированная моушн-грамматика продукт-видео от ClickUp, Perplexity, Slack, Notion, Figma, Raycast. Каждый рецепт — конкретный приём тайминга и хореографии, переписанный с нуля.
OmniVoice: голос на 600+ языков за секунды
OmniVoice — TTS-модель (text-to-speech, преобразование текста в речь) от k2-fsa. 8442 звезды на GitHub, 600+ языков, клонирование голоса по 3-10 секундам референса. Архитектура — diffusion language model, RTF (real-time factor) 0.025: одна секунда аудио генерируется за 0.025 секунды. Сорока-кратный запас по скорости.
На macOS с Apple Silicon работает через MPS (Metal Performance Shaders) — отдельная видеокарта NVIDIA не нужна.
Установка:
python3 -m venv ~/omnivoice-env
source ~/omnivoice-env/bin/activate
pip install torch==2.8.0 torchaudio==2.8.0
pip install omnivoice
Проверка:
python3 -c "import torch; print(torch.mps.is_available())"
# True
Три режима генерации.
Клонирование голоса
Даёшь 3-10 секунд референс-аудио и текст. Модель копирует тембр и манеру:
from omnivoice import OmniVoice
import soundfile as sf
import torch
model = OmniVoice.from_pretrained(
"k2-fsa/OmniVoice",
device_map="mps",
dtype=torch.float16
)
audio = model.generate(
text="NEURO PROXY — прокси для Chrome с автоматической ротацией.",
ref_audio="voice-ref.wav",
ref_text="Транскрипция референсного аудио.",
)
sf.write("out.wav", audio[0], 24000)
Дизайн голоса
Задаёшь атрибуты — пол, возраст, высота тона, акцент. Модель генерирует голос с нужными характеристиками, без референс-аудио.
Сохранение голоса
Закодировал референс один раз, сохранил в файл — больше не нужно загружать аудио каждый раз:
prompt = model.create_voice_clone_prompt(
ref_audio="voice-ref.wav",
ref_text="..."
)
prompt.save("my_voice.pt")
# Позже — в новой сессии:
from omnivoice import VoiceClonePrompt
prompt = VoiceClonePrompt.load("my_voice.pt")
audio = model.generate(
text="Новый текст",
voice_clone_prompt=prompt
)
Невербальные звуки вставляются прямо в текст: [laughter] — смех, [whisper] — шёпот. Транскрипция произношения и фонемы помогают поправить, как модель произносит сложные слова. Числа автоматически нормализуются: “123” превращается в “one hundred twenty-three” с параметром normalize_text=True.
Связка: от текста до MP4
Два инструмента работают на разных стеках. Shotcraft — Node.js и Remotion, рендерит видео. OmniVoice — Python и PyTorch, генерирует аудио. Склеивание — через файловую систему: OmniVoice отдаёт WAV, Shotcraft подставляет его в Remotion-проект.
Пайплайн:
- Скриншоты продукта — агент делает capture через browser automation или вручную
- Shotcraft собирает раскадровку — выбирает шоты из 106 карточек, адаптирует под продукт
- Текст озвучки — пишешь сценарий закадрового голоса
- OmniVoice генерирует WAV — клонированный голос, русский, 24 kHz
- Shotcraft накладывает голос на таймлайн — поверх музыки и SFX в Remotion-проекте
- Remotion рендерит итоговый MP4
На macOS весь процесс идёт локально. Shotcraft через Node.js + Chrome, OmniVoice через MPS. Без облака, без API-ключей, без подписок.
В Codex это выглядит как один диалог:
Use video-shotcraft to create a 15-second vertical promo
for my product with the Ink Press template. 1080x1920 for Reels.
Generate a Russian voiceover with OmniVoice using my voice
clone from ~/voice-ref.wav. Script: "Один клик — и ваш
трафик защищён. Без логов, без задержек."
Add the voiceover to the Remotion project and render to MP4.
Агент сам вызывает Shotcraft для раскадровки, OmniVoice для озвучки, склеивает и рендерит.
Instagram: вертикальный формат
Шаблон Ink Press рендерит в 1920x1080 (16:9). Для Instagram Reels нужен 1080x1920 (9:16). Remotion работает с любым разрешением — меняешь композицию, шоты адаптируются.
Shotcraft включает 2.5D камеру, которая перемещает скриншоты в псевдотрёхмерном пространстве. В вертикальном формате это работает даже выразительнее — больше вертикального пространства для движения.
Что учитывать для Reels:
- Длина — 15-30 секунд работает лучше, чем 60+. Шаблон Ink Press 36 секунд, можно обрезать
- Текст на экране — Instagram часто смотрят без звука. Shotcraft умеет титлы и субтитры
- Голос — OmniVoice озвучивает на русском. Если голос клонирован, ролик звучит лично, не “робот-диктор”
- SFX — Shotcraft включает whoosh-переходы, удары, flash-cuts. Для Reels это держит внимание
Установка на macOS: что нужно проверить
Чек-лист перед стартом:
- Node.js 20+ —
node --version - Python 3.10+ —
python3 --version - Chrome — Remotion использует для рендера, на Mac обычно есть
- ffmpeg —
brew install ffmpeg(нужен обоим инструментам) - Apple Silicon — OmniVoice работает через MPS, проверка
torch.mps.is_available()
Если Mac на Intel без GPU — OmniVoice не запустится. Shotcraft будет работать, но рендер медленнее.
Вывод
Связка Shotcraft + OmniVoice — это съёмочная группа в двух репозиториях. Один делает визуальный ряд с киношной эстетикой, второй озвучивает на любом языке. На macOS с Apple Silicon всё работает локально, без облака и API-ключей.
Для контент-воркфлоу это значит: каждая статья, каждый продукт, каждая фича может получить 15-секундный Reels за вечер работы агента. Не за неделю и не за сотни долларов — за один промпт в Codex.
Ссылки
Ссылки
- Репозиторий: Vincentwei1021/video-shotcraft — GitHub
- Репозиторий: k2-fsa/OmniVoice — GitHub
- Документация: Remotion — React video framework
- Документация: MPS — Metal Performance Shaders