CodeariaAcademy
AI
Codearia Academy

Это не просто один гайд

11 курсов и 25 бесплатных гайдов по AI-автоматизации бизнеса и не только.

Видео как код: шаблон в Remotion, который пересобирается из данных
Remotion + Claude Code

Видео как код: шаблон в Remotion, который пересобирается из данных

Поменяли одну цифру, и весь ролик перестроился: заголовок, диаграмма, финальный кадр. Здесь та самая заготовка из рилса: три сцены, данные в отдельном файле, готовые промпты для Claude Code и настройка, после которой новый заголовок не вылезет за экран.

БесплатноОколо 15 минутБез навыков монтажа
Забрать заготовку
Идея

Ролик, собранный как программа

В обычном редакторе каждая сцена делается руками. Поменялся заголовок, и вы открываете проект, ищете слой, перепечатываете текст, проверяете тайминг. В Remotion ролик это проект на React: расположение элементов и анимация записаны в коде, а тексты, цифры и цвета приходят снаружи, как данные. Сцена не знает, что написано в заголовке. Она знает, где он стоит, каким большим может быть и как появляется.

Работа делится на две части. Один раз вы собираете шаблон. Дальше правите только маленький файл с данными, и шаблон сам собирает новую версию. Большую часть шаблона пишет Claude Code, ваша задача описать сцены и задать правила.

1 файл

со всеми текстами и цифрами

3 сцены

заголовок, диаграмма, финал

1 команда

чтобы собрать новую версию

Светящийся регулятор меняет одну цифру, и три стеклянных кадра (заголовок, столбчатая диаграмма и финальный кадр) перестраиваются вместе
Меняется одно значение в данных, и обновляются все сцены, где оно используется: заголовок, столбик диаграммы, финальный кадр.

Ни разу не открывали Remotion? В нашем гайде «Motion-видео с Claude» по шагам разобраны установка и первая сцена. Этот гайд идёт дальше: один шаблон, много роликов.

Гайд по основам Remotion
Заготовка

Шаблон: три сцены и файл с данными

Такую структуру Claude Code соберёт по промптам ниже. Она нарочно маленькая: трёх сцен хватает, чтобы увидеть, как один файл с данными управляет всем роликом, и её легко расширить потом.

Структура проекта

video-template/
video-template/
├── src/
│   ├── index.ts          # entry point
│   ├── Root.tsx          # registers "Report" + the data schema
│   ├── Video.tsx         # plays the 3 scenes in a <Series>
│   ├── limits.ts         # all the rules in one place
│   └── scenes/
│       ├── TitleScene.tsx
│       ├── ChartScene.tsx
│       └── EndScene.tsx
├── data/
│   ├── example.json      # default props
│   ├── stress.json       # the worst case
│   └── week-42.json      # a new version = a new file
└── public/
    └── music.mp3

Файл с данными

data/week-42.json
{
  "title": "Online store: week 42",
  "subtitle": "Sales, Oct 13-19",
  "chart": [
    { "label": "Mon", "value": 120 },
    { "label": "Tue", "value": 95 },
    { "label": "Wed", "value": 140 },
    { "label": "Thu", "value": 160 }
  ],
  "highlight": "+18% vs last week",
  "cta": "Full report in the channel"
}

Здесь лежит всё, что меняется от ролика к ролику. Новая неделя, новый клиент, новый урок означают новый JSON-файл рядом с этим. Сцены остаются нетронутыми.

Файл с правилами

Ограничения собраны в одном месте, чтобы настраивать их, не копаясь в сценах: какой длины может быть заголовок, до какого размера уменьшается шрифт, сколько столбиков влезает в диаграмму.

src/limits.ts
export const LIMITS = {
  titleMaxChars: 48,
  titleMaxLines: 2,
  titleFontMax: 120,   // px
  titleFontMin: 64,    // px, never smaller
  chartMaxBars: 7,
  scenes: { title: 3, chart: 5, end: 3 }, // seconds
  musicVolume: 0.35,
};
01

Заголовок

Заголовок и подзаголовок из данных. Размер шрифта подбирается так, чтобы текст влез в кадр, а переносы идут по словам, а не посреди слова.

02

Диаграмма

Столбики растут по значениям из данных. Поменяли одну цифру, и вместе сдвигаются её столбик, подпись и шкала. Ничего не перерисовывается руками.

03

Финальный кадр

Главный результат и призыв к действию. Он берёт те же данные, поэтому итоговая цифра всегда совпадает с диаграммой.

Стеклянная карточка с рядами значений передаёт свет в машину, которая выпускает три готовых кадра ролика
Данные живут отдельно от шаблона. Шаблон знает только, где что стоит и как движется.
Готовые промпты

Промпты для Claude Code

Запускайте по очереди в пустой папке, с Claude Code в терминале. После каждого шага открывайте превью и смотрите, прежде чем идти дальше.

Шаг 0. Дайте Claude Code правила Remotion

Remotion выпускает официальные навыки (skills) для ИИ-агентов: как правильно делать анимацию, вёрстку, шрифты и звук. Поставьте их в папку проекта один раз, и Claude Code будет следовать им сам.

terminal
npx skills add remotion-dev/skills

Шаг 1. Соберите шаблон

Создаёт проект, три сцены, схему данных и файл с правилами.

>Создай в этой папке проект Remotion для вертикального ролика 1080x1920, 30 fps. Структура: src/Root.tsx регистрирует одну композицию "Report"; src/Video.tsx проигрывает три сцены подряд через <Series>: TitleScene (3 с), ChartScene (5 с), EndScene (3 с). Все тексты и цифры приходят через props и описаны схемой zod: title, subtitle, chart (массив {label, value}, до 7 элементов), highlight, cta. Пример положи в data/example.json и используй его как defaultProps. Все ограничения (максимальная длина заголовка, минимальный и максимальный размер шрифта, максимум столбиков, длительность сцен) вынеси в src/limits.ts. Никакого захардкоженного текста внутри сцен. В конце запусти превью и скажи, как его открыть.

Шаг 2. Сделайте шаблон устойчивым

Шаг, который отличает шаблон от разового ролика. Без него первый же длинный заголовок ломает кадр.

>Сделай шаблон устойчивым к любым данным. 1) Заголовок: подбирай размер шрифта через fitText из @remotion/layout-utils, но не меньше минимума из limits.ts; если всё равно не влезает, переноси по словам максимум на 2 строки, а если и этого мало, показывай в превью понятную ошибку, а не обрезай текст. 2) Диаграмма: шкала подстраивается под самое большое значение, подписи не наезжают друг на друга, столбиков больше лимита дают ошибку. 3) Движение: одинаковое плавное появление (ease-in-out) у всех элементов, тайминги из limits.ts. 4) Звук: фоновая музыка из public/music.mp3 с плавным началом и затуханием, громкость задаётся в limits.ts. Потом создай data/stress.json с самым длинным заголовком, самыми большими числами и максимумом столбиков и проверь на нём каждую сцену.

Шаг 3. Подстройте под свою тему

Когда механика работает, меняйте внешний вид и содержание. Вместо примера в скобках опишите свой случай.

>Адаптируй шаблон под мою тему: [еженедельный обзор продаж интернет-магазина / ежемесячный отчёт для клиента / короткий урок с тремя главными мыслями]. Измени схему данных под неё, переоформи сцены: тёмный фон, один акцентный цвет [#a855f7], крупный узкий шрифт для заголовков. Сохрани правила из limits.ts и стресс-тест. Покажи, что поменялось в схеме, чтобы я знал, какие поля заполнять.

Claude Code может назвать файлы немного иначе или предложить структуру лучше. Это нормально. Главное, чтобы тексты и цифры оставались в файле с данными, а ограничения в одном месте.

До первой новой версии

Настройте шаблон, иначе заголовок вылезет за экран

Шаблон экономит время, только если новые данные его не ломают. Четыре вещи, которые нужно настроить один раз, прежде чем доверять ему настоящий ролик.

Длина текста

Решите, сколько символов может быть в заголовке, подзаголовке и подписи. Слишком длинный текст должен давать ошибку, которую видно в превью, а не ролик, который тихо уйдёт в публикацию с половиной фразы.

Переносы и размер шрифта

Шрифт уменьшается под ширину кадра, но не ниже читаемого минимума. Дальше текст переносится по словам на вторую строку. Проверьте на каждом языке, на котором публикуете: русские и ивритские слова длиннее, а иврит идёт справа налево.

Движение

Одна кривая сглаживания и один набор таймингов на весь шаблон. Тогда новый ролик двигается так же, как прошлый, а длинному заголовку хватает времени на чтение, потому что длительность считается из данных.

Звук

Музыка с плавным началом и затуханием и фиксированной громкостью, чтобы она не обрывалась, когда ролик стал на пару секунд длиннее. Если есть закадровый голос, музыка под ним тише.

Стресс-тест

Держите файл данных с худшим случаем: самый длинный заголовок, самое большое число, максимум столбиков. Прогоняйте его после каждой правки шаблона. Если он выглядит нормально, настоящие данные тоже будут.

Два вертикальных кадра рядом: слева заголовок вылезает за край кадра, справа тот же заголовок аккуратно перенесён внутри
Один и тот же длинный заголовок: без ограничений он уходит за край, с подобранным размером и переносами остаётся в кадре.
Сборка

Новая версия из новых данных

Когда шаблон настроен, новый ролик это новый файл с данными и одна команда.

  1. 01

    Скопируйте файл данных

    Сделайте копию data/example.json, переименуйте (например, week-42.json) и поменяйте значения.

  2. 02

    Проверьте в превью

    Откройте студию, вставьте новые значения в панель props справа и прокрутите ролик целиком. Именно здесь ловится слишком длинный заголовок.

    terminal
    npx remotion studio
  3. 03

    Соберите видео

    Передайте файл с данными в команду рендера. В Windows используйте файл, а не JSON прямо в команде: оболочка съедает кавычки.

    terminal
    npx remotion render src/index.ts Report out/week-42.mp4 --props=data/week-42.json
  4. 04

    Много сразу

    Папка с файлами данных превращается в папку с роликами коротким циклом. Или попросите Claude Code: «добавь npm-скрипт, который рендерит каждый файл из data/ в out/».

    bash
    for f in data/*.json; do
      npx remotion render src/index.ts Report "out/$(basename "$f" .json).mp4" --props="$f"
    done
Одна светящаяся машина-шаблон выпускает ряд готовых вертикальных роликов, у каждого своя диаграмма и цвет
Один шаблон, много версий: каждый файл с данными становится отдельным готовым роликом.
Где окупается

Когда шаблон видео стоит своих усилий

Собрать и настроить шаблон займёт вечер. Он окупается там, где формат повторяется, а меняется только содержание.

Регулярные обзоры

Новости недели, рынок, обновления продукта: каждый раз та же структура, новые цифры и заголовки.

Отчёты

Итоги месяца для клиента или команды: продажи, трафик, прогресс. Данные из таблицы идут прямо в JSON.

Обучающие ролики

Короткие уроки серией: тема, три главные мысли, вывод. Внешний вид одинаковый на весь курс.

Когда не стоит

Разовый креативный ролик с уникальными сценами быстрее сделать руками или в обычном редакторе. Шаблон выигрывает примерно с третьего ролика в одном формате.

Лицензия Remotion

Remotion бесплатен для частных лиц, некоммерческих организаций и компаний до 3 человек. Более крупным коммерческим компаниям нужна платная лицензия. Условия, версии и цены меняются, поэтому перед коммерческим использованием проверьте актуальную лицензию на remotion.dev.

Что осталось за кадром

Шаблон это только начало

Этот гайд даёт рабочий шаблон, который собирается из данных. На курсе мы идём дальше:

  • Планирование ролика с Claude: сценарий и раскадровка до кода
  • Несколько сцен в одной композиции и переходы между ними
  • Музыка, звук и голос синхронно с картинкой
  • Рендер, экспорт и публикация готового ролика
Следующий шаг

Курс: motion-видео с ИИ

От первой титульной сцены до готового ролика: планирование, сцены, переходы, звук и рендер в Remotion с Claude Code.

Remotion, его навыки для агентов и Claude Code часто обновляются: команды, названия пакетов и условия лицензии могут меняться. Если что-то не совпадает, сверьтесь с актуальной документацией на remotion.dev.

Бесплатный гайд

Этот гайд на 100% бесплатный

Вся заготовка и все промпты бесплатно. А если хотите глубже, у нас 11 курсов по ИИ, контенту и автоматизации. Полный доступ за $44.90.

Комментарии

Видео как код: шаблон Remotion из данных | Codearia Academy