video_office · pipeline v1

Instagram UGC-видео
от брифа до публикации

Универсальный процесс создания вертикального ролика 30-45 сек для клиента. Первый прогон — стоматология RSTOM в Алматы. Если процесс переиспользуется ≥3 раза, оформляется в Claude-skill.

Формат
9:16 · 1080×1920 · 30-45 сек
Динамика
cut ≤ 3 сек · ~10-14 шотов
Первый клиент
rstom.kz · Алматы
Тулинг
Seedance · Veo 3 · ElevenLabs · ffmpeg

Архитектура шотов

Ролик = последовательность 4-6 секундных шотов трёх типов. Каждый тип маршрутизируется в свой движок.

Тип 1 · с речью

Talking-head

Персонаж смотрит в камеру, говорит реплику. Lip-sync обязателен — губы синхронны с озвучкой.

Higgsfield Seedance 2.0 · image + audio
Тип 2 · без речи

B-roll persona

Персонаж взаимодействует с продуктом / окружением. Off-camera narration — голос накладывается на сборке.

Seedance image-only · Veo 3 i2v
Тип 3 · абстракт

Blueprint / схема

Графики, цифры, чертежи на blueprint-фоне. Анимированные линии и числа подсвечивают преимущества.

Veo 3 motion-prompt · Higgsfield

Ключевой технический трюк всего пайплайна — split voiceover от видео. Полная озвучка 30-45 сек генерится одним файлом через ElevenLabs ДО генерации видео. Потом нарезается на per-shot куски. В Seedance с lip-sync идут только talking-head шоты; b-roll и blueprint-анимации генерятся вообще без аудио. На финальной склейке поверх кладётся полный voiceover-трек.

Это в 3-5× дешевле полного lip-sync на каждом кадре и в разы стабильнее: Seedance video+audio комбо падает в status: failed без debug-сообщения — известное ограничение, проверено на прошлом UGC-хуке.

Опорная раскадровка — 35 сек

Шаблон beat'ов. Под конкретного клиента и оффер тайминги двигаются ±2 сек, но порядок «hook → проблема → решение → преимущества → оффер → CTA» сохраняется.

Тайминг Beat Тип кадра Содержание
0—3sHooktalking-headЦеплящая фраза в камеру — intriguing claim или вопрос
3—6sHook reinforcepersona b-rollПерсонаж делает что-то, voiceover продолжает hook
6—12sProblemmix · persona + blueprintБоль ЦА. Blueprint-схема визуализирует «как обычно»
12—18sSolutiontalking-head + productПерсонаж представляет решение, голос продолжает
18—26sBenefitsblueprint анимация3 преимущества — анимированные стрелки, графики, цифры
26—33sOffertalking-headКонкретное предложение: цена, срок, гарантия, консультация
33—38sCTAstatic brand cardЛоготип, адрес, телефон, Instagram, «запишись»

8 фаз процесса

Последовательно. У каждой фазы — артефакт и чекпоинт перед следующей.

00

Project setup

10 минут · разово

Развернуть структуру проекта-клиента. На VPS уже сделано для RSTOM.

  • Структура папок: brief/ script/ frames/ voiceover/ shots/ final/
  • Этот pipeline-документ как «контракт процесса»
Артефакт: projects/video_office/ со скелетом
01

Discovery & бриф

15-20 минут

Понять оффер клиента, тон, ЦА, USP — чтобы концепция не была generic. Без этого ролик звучит как все остальные UGC и игнорится.

  • WebFetch https://www.rstom.kz/ — услуги, цены, гарантии, тон сайта
  • Гипотеза ЦА: возраст, доход, триггер обращения
  • Флагман услуги (что у клиента на главной)
  • Тон бренда: премиум / семейный / технологичный
  • Что точно НЕ показываем (кровь, страх, шок)
Артефакт: brief/brief.md — 1 страница
02

Concept & script

30-40 минут

Бриф превращается в раскадровку по секундам. Каждая реплика прописана дословно, с эмоцией в скобках.

  • Под каждым шотом: длительность, тип кадра, prompt для image-frame, prompt для video-shot, текст субтитра
  • Эмоции в скобках: (уверенно), (с улыбкой), (заговорщически)
  • Cut ≤ 3 сек — если шот 4-6 сек, режется внутри через speed-ramp или zoom
Артефакт: script/script.md — полная раскадровка
03

Voiceover (pre-production)

15 минут

Озвучка делается ДО видео, не после. Это нелогично, но именно так Seedance lip-sync даёт стабильный результат.

  • Full voiceover через ElevenLabs (ключ в ~/.claude/.gemini.env)
  • A/B: женский Svetlana-like + мужской вариант на сравнение
  • Slice через ffmpeg на per-shot куски точно по таймингам
Артефакт: voiceover/full.mp3 + voiceover/shot-NN.mp3
04

Key frames

30-40 минут

Опорные изображения для каждого шота. Качество шота на 70% определяется качеством опорного кадра — все video-генерации reference-driven.

  • Persona — 4-6 кадров, одна identity (character lock в Higgsfield)
  • Blueprint — 3-5 кадров, схемы и графики на синем фоне
  • Product/clinic — 2-3 кадра, интерьер или close-up улыбки
Артефакт: frames/shot-NN.jpg · 1080×1920
05

Video shots generation

60-90 минут · параллельно

Каждый кадр превращается в 4-6 секундный шот. Все генерации ставятся в очередь одновременно.

  • Talking-head → Seedance 2.0 · medias=[start_image, audio] · 1080p std 9:16
  • B-roll persona → Seedance image-only или Veo 3 i2v
  • Blueprint анимация → Veo 3 motion-prompt («lines drawing themselves», «numbers animating in»)
  • Бюджет: ≈50-80 кредитов на шот · хватит на 2-3 итерации полного ролика
Артефакт: shots/shot-NN.mp4 · h264 · 4-6 сек
06

Assembly & subtitles

20-30 минут

Склейка шотов, наложение полной озвучки, выжигание субтитров в Instagram safe-zone.

  • Concat шотов через ffmpeg · speed-ramp внутри длинных шотов для cut ≤ 3s
  • Mux полной озвучки поверх (для talking-head — тот же файл, что и в reference)
  • Subtitle burn-in · MarginV=480 · Inter Bold 64px · белый + чёрная обводка 6px
  • Опционально: progress-bar сверху или beat-sound на cut'ах
Артефакт: final/v1.mp4 · 1080×1920 · ≤30 MB для Instagram
07

QA & deliver

15 минут

Чеклист перед отправкой клиенту. Любая красная галочка — назад на пересборку конкретного шота.

  • Hook сработал — первые 3 сек без звука ясна тема?
  • Cuts ≤ 3 сек на всём ролике
  • Субтитры читаются, не перекрываются Instagram UI (top 14%, bottom 22%)
  • Voiceover ровный, без артефактов на стыках
  • Lip-sync не выглядит как «китайский дубляж»
  • CTA и контакты клиента видны на endcard
Публикация: quick-publish на Netlify для шаринга превью клиенту

Instagram safe-zone для субтитров

Где Instagram UI режет видео и куда нельзя класть субтитры.

ЗонаКоординаты (1080×1920)Что там
TopY=0—270 · 14%username, время публикации, кнопка close
BottomY=1500—1920 · 22%caption, лайк, комментарий, share, music-плашка
RightX=950—1080 · 12%actions sidebar
Safe для субтитровY=1150—1350 · X=60—1020читаемо, не перекрывается UI

Дефолты для первого прогона (RSTOM)

Если Тимур не редактирует — беру эти решения сам, аргументы рядом.

РешениеDefaultАргумент
Персонаж Женщина 27-32, типаж «довольная пациентка после процедуры» UGC-эстетика, ЦА стоматологии = женщины 25-45 с располагаемым доходом
Тон оффера Нативный, не агрессивный (бесплатная консультация + панорама) Премиум-вертикаль, агрессивный таймер режет доверие
Флагман Определю в Phase 1 по главной странице rstom.kz Пока не парсил сайт
Голос voiceover Женский Svetlana-like (тёплый, не диктор) + мужской вариант A/B без полной перегенерации
Размещение projects/video_office/ · переиспользуется для других клиентов Не лезу в ai-targetolog/creatives/ — там Performante, другой бренд