Zaytsv — контент-завод
Конвейер из десяти стадий, который собирает вертикальный ролик из одного брифа: тема, сценарий, раскадровка, кадры, анимация, озвучка, субтитры, монтаж на ffmpeg, метаданные и публикация в Reels, Shorts и TikTok.

Контекст
Генераторы видео обычно работают как чёрный ящик: на входе промпт, на выходе ролик, который почти подходит — и починить в нём ничего нельзя, только перегенерировать целиком и заплатить второй раз. Мы разложили производство на стадии, между которыми человек смотрит результат и решает, идти дальше или переделать текущий шаг. Так неудачный кадр стоит один кадр, а не весь ролик.

Конвейер из десяти стадий
1. Тема — из брифа рождается тема и главный тезис. 2. Сценарий — хук, аргументы, вывод и вопрос, разбитые на сегменты. 3. Раскадровка — промпт на каждый кадр плюс общий промпт анимации. 4. Кадры — генерация вертикальных 9:16 изображений; любой кадр можно перегенерировать поштучно или заменить своим файлом. 5. Анимация — кадры оживают в короткие клипы. 6. Озвучка — выбор голоса диктора и синтез речи. 7. Субтитры — из сценария, с таймингом по длительности озвучки. 8. Монтаж — сборка финального вертикального видео. 9. Метаданные — заголовок, описание и хэштеги под площадку. 10. Публикация — Reels, Shorts или TikTok, сразу или по расписанию.

Три стадии тратят деньги — кадры, анимация и озвучка. Перед каждой сервис показывает расчёт стоимости и остаток бюджета, и только потом запускает. Бюджет живёт в тарифе и обновляется каждый месяц.

Как это устроено внутри
Модели. Текстовые стадии (тема, сценарий, раскадровка, метаданные) идут через Gemini, кадры — через image-модель по промпту раскадровки, анимация — через Veo, озвучка — через TTS Gemini с выбором голоса. Каждый провайдер спрятан за своим интерфейсом: модель меняется конфигурацией, продуктовый код о ней не знает.
Монтаж — не «ещё одна модель», а ffmpeg. Клипы склеиваются, поверх прожигаются субтитры в формате ASS (крупный белый шрифт с чёрной обводкой — тот, что читается в ленте с выключенным звуком), сверху при необходимости ложится водяной знак бесплатного тарифа. Длительность реплик считается по фактической длине озвучки, а не по числу символов, поэтому субтитры не разъезжаются. У процесса есть таймаут и разбор кода возврата: если ffmpeg упал, пользователь видит стадию с ошибкой, а не вечный спиннер.
Очередь и деньги. Проект живёт в очереди со статусами, фронтенд опрашивает его только пока стадия реально выполняется. Бюджет считается в копейках, каждая платная стадия списывает по факту, а сгенерированные медиа подчищаются фоновой уборкой, чтобы диск не рос бесконечно.
Тарифы. От бесплатного (720p с водяным знаком) до планов с 1080p и 4K, где отличается только месячный бюджет генераций и разрешение, — вся линейка описана одной моделью плана без ветвлений в коде.
Стек
- Бэкенд: Spring Boot 3.4 на Java 17, MongoDB, фоновая очередь проектов, ffmpeg на хосте.
- Провайдеры: Gemini (текст и TTS), image-модель для кадров, Veo для анимации — за общими интерфейсами.
- Фронтенд: Next.js 16 (App Router), React 19, пошаговый мастер со стадиями, показом стоимости и предпросмотром промежуточных результатов.
- Публикация: через уже подключённые в кабинете аккаунты Instagram, YouTube и TikTok — те же, что используются в автопостинге.
Роль и результат
Мы проектировали и делали сервис целиком: модель проекта и конвейер стадий, интеграции с моделями генерации, монтажный слой на ffmpeg с субтитрами и водяным знаком, расчёт стоимости и бюджет, очередь и уборку медиа, пошаговый мастер во фронтенде и публикацию в вертикальные форматы. Сервис работает на zaytsv.com/content-factory.
Расскажите о своём проекте

