Ведущий в круге + экраны-состояния
Внизу вы в круглой рамке, над вами сменяются экраны-состояния: гонки, счётчики, графики, сравнения, финальный призыв.
- деньги
- частично платно
- выход
- MP4 1080×1920, 60 fps, раскадровка по полсекунды, запись в реестр.
- время
- рендер 10–17 минут на ролик 30–40 секунд
что на видеоДемо из пака: «уволил монтажёра» — белые экраны-состояния над кругом с ведущим.
01Как выглядит
- Вертикаль 60 fps. Внизу — круг с вырезом вокруг лица из вашего же видео.
- Над кругом экраны-состояния: экран — это состояние, а не предмет. Гонка, пульс, счётчик, график, датчик, сплит, призыв.
- У круга бежит строка речи по словам.
- Звуки событий (тик счётчика, удар прилёта) по умолчанию выключены — агент спрашивает при старте.
02Когда брать
- ✓сторителлинг с цифрами и поворотами
- ✓хочется «дорогого» ролика на своей съёмке
- →нужны настоящие скриншоты на весь кадр →
/reels-brolls-remotion - →нет своей съёмки →
/reels-expert-audio
Что нужно на входе: Видео с говорящей головой, slug латиницей, по желанию кодовое слово и подводка под кругом.
03Как запустить
Напишите агенту обычными словами или наберите команду. Например:
Или коротко: /reels-pronin — агент сам задаст недостающие вопросы.
04Что происходит по шагам
- 1
Вопрос про звук
делаете выАгент одним вопросом спрашивает про звуки событий. Не ответили — собирает без них и говорит об этом.
- 2
Подготовка
делает агентВидео в кит, разметка речи по словам, замер рамки лица по двенадцати кадрам.
- 3
Битмап
делает агентАгент пишет сценарий экранов по правилам кита и по принятым образцам.
- 4
Лист кадров
делаете выПроверки без рендера, лист кадров в бот на вердикт.
- 5
Рендер
делает агентФоновой задачей, 10–17 минут. Раскадровка и ролик — в бот.
05Шаблоны файлов
export const BEATMAP: Beatmap = {
slug: '<slug>',
labelStyle: 'caption',
screens: [
{ // ЭКРАН 1 — хук-созвездие: кольцо однородных случаев вокруг общего центра
n: 1, kind: 'scene',
from: 'первое', to: 'последнее', // имена слов из разметки; повтор — с номером: 'года,#2'
thought: 'что здесь ПРОИСХОДИТ, а не что здесь лежит',
hook: {
kind: 'constellation',
title: ['первая строка,', 'вторая строка?'],
center: 'objects/<файл>.png',
ring: ['objects/a.png', 'objects/b.png', 'objects/c.png',
'objects/d.png', 'objects/e.png', 'objects/f.png'],
},
objects: [{ name: 'heart', at: 'первое', event: 'appear', life: 'breath' }],
},
{ // ЭКРАН 2 — состояние: гонка двух величин
n: 2, kind: 'plate', from: 'слово', to: 'слово',
plate: { format: 'Race', title: 'мелкий серый заголовок', max: 60, unit: 'лет',
rows: [{ object: 'rat', value: 3, label: 'три года' },
{ object: 'elephant', value: 60 }] },
plateBeats: ['первое', 'второе', 'третье'],
},
{ // ЭКРАН 5 — финал, точка покоя
n: 5, kind: 'plate', from: 'слово', to: 'слово', rest: true,
plate: { format: 'Cta', badge: 'забирай в телеге', title: 'КОДОВОЕ СЛОВО', cursor: true },
},
],
};
// В битмапе нет ни одного числа времени: границы экранов — слова из разметки речи.Chat вопрос и ответ, переписка, возражение клиента
Doc текст, правка, «вот это слово», подмена термина
Stat число, цена, срок, процент
Notifications поток событий, заявки, напоминания, тревога
Segments «занято N из M», лимит, остаток
DotGrid «из ста только десять»
Split «раньше — теперь», «они — мы»
Cta финал, «пиши слово»
Card тезис, не сводимый к остальным
ChartCard величина набралась за срок
Gauge величина падает по шкале
Race одна шкала на двоих, у них разная
Counter «столько набежало»
Constellation хук: кольцо однородных случаев вокруг общего
Pronin биты Пронина: chat, graphs, nodes, code, counter, cards, folders06Команды движков
Обычно их запускает агент. Пригодятся, если хотите повторить шаг сами или понять, что он делает.
node scripts/reels/reels-pronin/prepare.mjs <видео> <slug> # видео в кит, слова, рамка лица
cd tools/figma-reels-remotion
node scripts/check-beatmap.ts <slug> # проверки без рендера
npm run typecheck
node scripts/reels/reels-pronin/sheet.mjs <slug> --plan # стиллы на вердикт
node scripts/reels/reels-pronin/sheet.mjs <slug> --build --send # лист кадров в телеграм
node scripts/reels/reels-pronin/storyboard.mjs <slug>
node scripts/reels/reels-pronin/register.mjs <slug> --name "Рилс «…»"07Грабли и правила
года,#2), иначе объект не появится.