Синтез-вердикт по 8 потокам ресёрча + 2 проектам кода. Что сломано, что строить, что брать готовым.
Билдер прогоняет каждый бит с хардкодом kind=framed — N одинаковых карточек в фиксированной рамке подряд = слайдшоу by construction. TSX уже умеет caption / meme / fullscreen — мост это выбрасывает. Починить = полдня, $0.
Поток «реальные продакшн-стеки» рекомендует купить Submagic как движок монтажа, Remotion оставить только под брендовые слои. 5 из 6 потоков — «оставить Remotion». Разрешается прототипом на Шаге 7, не дискуссией.
remotion_props.py:103-116 выбрасывает всю вариативность примитивов на стыке AD→рендер. Лечится на Шаге 0.
Ноль обводок / стрелок / выносок / счётчиков. Глазу не за что зацепиться внутри кадра, кроме зума. Это причина №1 ощущения «один шаблон». Лечится на Шаге 2.
@remotion/transitions не установлен. Каты = голые границы Sequence. Нет ритма «1 визуальное изменение каждые 1.5–2с». Лечится на Шаге 1.
| Направление | Вывод | Что берём | build/buy |
|---|---|---|---|
| Программные фреймворки | Remotion оставить; cloud-API понижают потолок | Remotion + @remotion/transitions + gl-transitions (123 шейдера, MIT) | buy движок / build примитивы |
| AI авто-редакторы | Не наш кейс — режут одно длинное видео, а мы собираем из кусков | Submagic — только финишер сабов; CapCutAPI — резерв Road B | buy точечно |
| Источники футажа | Нужны два пула, не один | Пул B (смысл 60–80%): archive.org / Wikimedia / NASA. Пул A (атмосфера 20–40%): Pexels / Pixabay / Coverr | buy доступ (free) / build подбор |
| База мемов | Giphy/Tenor — нельзя (ToS + Tenor закрывается + Giphy $99/мес) | Своя медиатека (Pexels / Pixabay + green-screen) + Imgflip генеративка; авто-подбор CLIP+FAISS+DistilBERT; обтравка RVM | buy источники / build индекс |
| Переходы / эффекты / оверлеи | Изобретать не нужно | gl-transitions + ProductionCrate ProRes4444 alpha (локально). .mogrt — тупик (Adobe) | buy ассеты / build сборку |
| Моушн-графика / вектор | Главная нехватка — строится нативно | 90% SVG (stroke-dashoffset) + инфографика сами; 10% Lottie-паки (только expression-free) | build 90% / buy 10% |
| AD-driven AI-видео | keyframe-first, не выпрашивать у text-to-video | Nano Banana Pro → Veo 3.1 Fast i2v 9:16 через fal.ai / Vertex. ≤10% роликов | buy pay-per-output |
| Стеки топ-каналов | Монтируют руками в Premiere / AE + плагины | В наш код вписывается только Lottie (JSON). .mogrt / AE-плагины — нет | — |
Хирургия только на узле EDL→props→render. Pipeline/ не трогаем.
idea → script → ART-DIRECTION (партитура) → voice+align → assets (2 пула) → EDL-генератор v2 → props-билдер v2 (мульти-примитив) → Remotion: библиотека монтажных компонентов → render (Lambda / self-host VPS по-одному)
3 ключевых сдвига:
Единый adjustment поверх всех — чтобы графика / AI-вставка садились в кадр, а не лежали наклейкой.
1 BG (крутящийся фирменный фон) ← есть 2 КОНТЕНТ-ШОТ (движение ОБЯЗАТЕЛЬНО) ← есть (Framed/Fullscreen) 3 ПЕРЕХОД (TransitionSeries+gl) ← НЕТ, добавить (Шаг 1) 4 BLEND-ОВЕРЛЕЙ (alpha-MOV, mix-blend) ← механизм есть, расширить 5 ВЕКТОР-ГРАФИКА (SVG обводки/стрелки) ← НЕТ ВООБЩЕ, главная нехватка (Шаг 2) 6 ИНФОГРАФИКА (счётчики/бары) ← НЕТ, добавить (Шаг 3) 7 ТИПОГРАФИКА (Cap/AccentNum) ← есть 8 WORD-POP СУБТИТРЫ (Subs) ← есть 9 SFX (whoosh на переход, hit на акцент) ← есть + ЕДИНЫЙ adjustment поверх всех
Расширить контракт бита в contracts.py полями shot_kind / transition / annotations[] / infographic? / overlay? / pool. Этап AD эмитит их в EDL из раскадровки (панели). EDL v2 раскладывает партитуру, props v2 пробрасывает без схлопывания. Итог: решение «фуллскрин-панч с красной обводкой на цифре и whip-переходом» доезжает до пикселя, а не превращается в «ещё одну framed-карточку».
@remotion/transitions + @remotion/lottie.| Шаг | Что делаем | Срок | Verifiable |
|---|---|---|---|
| 0 | Починить мост: убрать хардкод kind=framed в remotion_props.py:103-116, расширить Beat-контракт | полдня, $0 | Один старый ролик пересобрать — биты разъехались на разные типы |
| 1 | npm i @remotion/transitions, обернуть в TransitionSeries, EDL ставит пресет на кат + авто-whoosh | 1 день | Каты — больше не голые границы, видна склейка |
| 2 | Слой графики восприятия — VectorAnnotation: circle / arrow / underline, SVG stroke-dashoffset, поле annotations[] в EDL | 1–2 дня | Цифра обведена кружком по таймингу, без фликера |
| 3 | Инфографика — Counter / Bar, interpolate по frame | 1 день | Число накручивается под голос |
| 4 | @remotion/lottie опц. + паки (expression-free, canvas, memoize) | 1 день | Иконки без мерцания в пакетном рендере |
| 5 | Два пула футажа + LLM-query-подбор (расширить harvester / material_recon) | 2–3 дня | 15–22 релевантных куска, 60%+ из Пула B |
| 6 | Alpha-оверлеи + общий грейд на все слои | 1 день | AI / реал / графика в одном цвете, «спекается» |
| 7 | РЕШАЮЩИЙ: один ролик новым пайплайном до приёмки. Если усреднёнка — активировать Road B (CapCutAPI + человек) для сравнения бок-о-бок | 1 день | Приёмка Тимура |
| 8 | AI-вставки ≤10% + CLIP-индекс — только после приёмки | после | — |
Шаги 0+1+2 = ~80% лечения «слайдшоу». Шаг 7 = прямой урок: 1 хороший ролик руками → потом автоматизировать проверенное. Дорогие Veo / CLIP-прогоны до приёмки базы — не запускать.
Решается одним сравнительным роликом на Шаге 7, не дискуссией.
100% код — Remotion + готовые ассеты, монтаж = детерминированные правила склейки в EDL. Headless, масштабируется на ежедневный ролик, твой стек.
Код собирает черновик CapCut → человек докручивает (CapCutAPI, Apache-2.0, $0, MCP-интерфейс). Для случаев, где нужен авторский ритм, который код не вытягивает.
Кириллица в CapCutAPI-черновиках не задокументирована — для Road B первый тест = один черновик с русским текстом.
Verify + Critique фазы прогона НЕ запускались (остановлены ради эконом-режима). Несущие утверждения KC-1…KC-10 не прошли скептиков. Исключение: KC-1 (корень = мост kind=framed) подтверждён чтением реального кода — это самое сильное звено. Остальное — на доверии к качеству ресёрча, без адверсариальной проверки.