ITUZOV LAB
← Все статьи
Практический гайд

Как сделать мультик с помощью ИИ и Claude Code

Как сделать 3D-мультик с нейросетью: Claude Code пишет код на Remotion, а ты режиссируешь. Девять шагов от идеи до ролика и грабли, на которых я терял время.

10 минНачальный20 октября 2026 г.

Мультик, в котором я не нарисовал ни кадра

Мой Clawd, маскот Claude Code, стоит на пасмурном берегу рядом с мультяшным мной и спрашивает: «Ты что, ни разу не довёл проект до прода?» Дальше монолог о том, что на небесах только и говорят что о проде, падение, и Clawd на лету рассыпается на кубики. Над кучей всплывает «Сжимаю контекст…», музыка обрывается в тишину, кубики слетаются обратно: «Привет! Чем могу помочь?»

Финал «Достучаться до прода»: развал на кубики, «Сжимаю контекст…» и перезагрузка. Всё это код

Это пародия на финал «Достучаться до небес» (прод на языке разработчиков это рабочая версия, которой пользуются люди). Ни одного нарисованного кадра, ни After Effects, ни Blender: главный файл ролика это около 330 строк React, и написал их Claude Code. Я был режиссёром: придумал, утвердил, забраковал лишнее.

К концу гайда у тебя будет свой первый мультик, сделанный с помощью нейросети: два героя из кубиков, диалог живыми голосами, субтитры и готовый mp4 для вертикального видео. Код писать не придётся, но с терминалом подружиться нужно.

Что понадобится

  • Claude Code: он пишет весь код.
  • Remotion, библиотека, которая делает видео из React. Установка и первый ролик в отдельном гайде. Для мультиков к ней добавляется пакет @remotion/three с 3D на three.js.
  • ElevenLabs для голоса: вместе со звуком он отдаёт разметку времени.

Шаг 1. Боль зрителя плюс сцена, которую все узнают

Формула моих роликов: боль, знакомая каждому, кто работает с AI, плюс сцена из фильма, которую все помнят. Агент забыл всё, потому что кончился контекст. Лимиты закончились в разгар работы. Ассистент на любую романтику отвечает дисклеймером.

Сцена должна работать на шутку. В фильме Руди ни разу не видел моря, а на небесах только о нём и говорят. У меня говорят о проде, и тогда «там тебя окрестят вайбкодером» звучит как приговор: стыдно только тому, у кого прода не было. Боль тоже подбирается под панч, финальную шутку. «Привет! Чем могу помочь?» смешно, только если агент всё забыл, поэтому ролик про контекст, а не про лимиты.

«Бойцовский клуб» про мои пет-проекты я выкинул целиком: «очень непонятно, что происходит». Твои проекты зрителю ничего не говорят, говорит его собственная боль.

Что должно получиться

фраза «боль плюс сцена плюс панч». Например: агент забыл контекст, финал «Достучаться до небес», «Привет! Чем могу помочь?».

Шаг 2. Сценарий и голос

Сценарий это реплики и то, кто их говорит. Для голоса понадобится API ElevenLabs, а не сайт: только через него вместе со звуком приходит разметка времени. Удобнее всего озвучка диалога, обе роли одним запросом. Положи ключ в .env и попроси Claude написать скрипт, который озвучит реплики и сохранит время каждого слова в JSON.

От этого JSON считается весь ролик: кто когда поворачивается, падает, когда всплывает надпись. Перегенерил голос, и ролик пересобрался сам.

Разметке не верь вслепую: в «Сумерках» одно слово звучит на пять кадров раньше своей метки. Реплики ставь по самому звуку. А цитаты из фильмов говори своим голосом: Instagram сверяет звук с файлами правообладателей и может заглушить ролик. Поэтому «I'll be back» у меня говорит сам Clawd.

Что должно получиться

звук и JSON, где у каждого слова есть время начала и конца.

«I'll be back» своим голосом, и кран опускает Clawd в металл. Над ним табличка лимитов, как в команде /usage

Шаг 3. Герои из кубиков

Персонажа не нужно рисовать: попроси Claude собрать его из простых фигур three.js. Мой Clawd собран из кубиков не сразу. Сначала был Clawd со звёздочкой-логотипом, потом «мягкий», потом с толстым контуром и бликами, «кринжово мультяшный». С кубиками всё встало на место, да и рассыпаются они красиво.

В коде персонаж это React-компонент, а костюм это его настройка. Для «Терминатора» Clawd получил очки и красный сбоящий глаз, для «Сумерек» бледность Эдварда Каллена и второй облик, оборотня. Каждая деталь по умолчанию выключена, поэтому старые ролики от новых костюмов не меняются.

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

стоп-кадр, где каждого героя можно узнать без подписи.

Шаг 4. Место действия на стоп-кадрах

Прежде чем что-то задвигается, утверди сцену на стоп-кадрах: анимировать то, что не нравится, значит выбросить время. В «Достучаться» закат заменили на пасмурное небо, как в фильме, а низкие облака подняли выше, иначе они съедали горизонт.

Что должно получиться

стоп-кадры места действия, которые нравятся тебе ещё до движения.

Шаг 5. Камера

Самая частая моя правка за серию: «очень близко». Вертикальный кадр узкий, и герой, который кажется на нормальном расстоянии, превращается в стену. В одном ролике я сказал это пять раз, и теперь в навыке Claude записано: по умолчанию полный рост и шире.

Дальше, но не мельче, помогает длинный объектив: камера далеко и смотрит узко, как бинокль. Герой того же размера, а фон сжимается и нависает над ним. Так в «Достучаться» волны заполняют весь кадр.

И ещё два правила: сначала раскадровка табличкой, план, крупность и что происходит, а код потом. И меньше обрывков: 7–10 планов на 25 секунд, мелкие планы по одной фразе смотрятся рвано.

Когда камеру не объяснить словами, её ставят мышью в режиссёрском пульте прямо в Remotion Studio и пишут заметки к кадрам, а Claude правит ролик по ним. Собрать такой пульт с нуля это отдельная работа, а не одна просьба. Мой, тот самый, что на скриншоте, лежит в наборе для подписчиков: агент ставит его одной командой. Финальные камеры «Сумерек» я ставил именно в нём.

Режиссёрский пульт в Remotion Studio: слева кадр из «Сумерек», справа таймлайн планов, кнопки камеры и поле для заметки
Мой пульт на «Сумерках»: таймлайн с планами, камера мышью или кнопками и заметка к кадру
Что должно получиться

раскадровка и стоп-кадр каждого плана, где герои видны в полный рост.

Шаг 6. Движение, которое не выглядит AI-шным

Анимацию от нейросети видно сразу: всё проявляется одинаково, прыгает пружинкой, карточки «дышат». Лечится четырьмя правилами:

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

Пятое родилось в «Сумерках»: показывай взаимодействие героев, а не плашку. Номер горячей линии на экране я убрал, сильнее вышло, когда Clawd вскакивает и нависает над героем.

«Сумерки»: вместо плашки с текстом Clawd вскакивает, нависает над героем и объясняет
Что должно получиться

черновик, где в каждый момент двигается что-то одно.

Шаг 7. Звук и тишина

Музыку бери свою, я генерирую её в ElevenLabs Music: чужой трек Instagram может заглушить. Под репликами она на 18–20 децибел тише. В «Достучаться» после «Давай…» музыка выходит в полную силу и на прыжке обрывается в тишину. Эта тишина и есть панч.

Что должно получиться

каждую реплику хорошо слышно поверх музыки.

Шаг 8. Смотри кадры, а не код

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

Лист кадров ролика: тридцать три стоп-кадра с таймкодами, по одному на секунду
Лист кадров «Достучаться»: секунда на кадр, весь ролик на одном экране. По нему сразу видно темп и перегруз

Всё выясненное записывается: у каждого ролика README, что сработало, что забраковано и почему. Общие уроки Claude переносит в свои навыки, и следующий мультик стартует с опыта всех предыдущих. Навыки, которые выросли из этого журнала за всю серию, я собрал в набор: камера, движение, звук, проверка кадров и порядок работы.

Что должно получиться

README в папке ролика.

Шаг 9. Рендер и выкладка

Ролик рендерится командой npx remotion render, а детали сдачи Claude держит в одном скрипте: двойной размер 2160×3840, громкость −14 LUFS и поправка яркости под телефон, где тёмная сцена иначе проваливается в черноту. Перед публикацией выключи автосубтитры Instagram, если субтитры вшиты, и поставь свою обложку.

Что должно получиться

mp4, который ты посмотрел на телефоне.

Если что-то не вышло

Что видишьЧто проверить
Герой в кадре стенойКамера слишком близко: ставь её дальше и сужай обзор
Кадры отличаются от рендера к рендеруВ коде таймеры, CSS-анимации или Math.random(). Движение должно считаться от номера кадра
Губы и субтитры не попадают в голосРеплики стоят по разметке, а не по звуку
Кадр затянут белой пеленойПолупрозрачный слой поверх, чаще всего вспышка, которая висит с первого кадра
Персонажа дёргает в конце движенияДвижение обрывается, а должно плавно дойти до нуля
Ролик похож на слайд-шоуВсё появилось в начале и замерло. Раскрывай по репликам
Instagram заглушил звукВ ролике чужая музыка или звук из фильма

С чего начать сегодня

Поставь Remotion по нашему гайду, заведи ключ ElevenLabs и подставь в промпт свои две реплики:

Промпт для Claude Code
Добавь в проект Remotion пакет @remotion/three и сделай 3D-мультик для вертикального видео 1080×1920, 30 fps. Два персонажа из кубиков стоят на берегу и обмениваются репликами. Первый: «[твоя реплика]». Второй: «[ответ]». Озвучь реплики через ElevenLabs API, ключ лежит в .env, и сохрани время каждого слова в JSON. Движения, рот и субтитры привяжи к этим таймингам. Каждого персонажа сделай отдельным React-компонентом со свойствами для позы и рта. Всё движение считай от useCurrentFrame, без таймеров и случайности. Сначала покажи мне стоп-кадры сцены через npx remotion still, анимацию делай только после моего ок. Всё, что я забракую, записывай в README.md рядом с роликом.

Первый мультик почти наверняка выйдет «очень близко», «кринжово» и «непонятно, что происходит». Мои начинались так же.

Первый мультик по этому гайду ты соберёшь сам. А если хочешь, чтобы Claude с первого же ролика работал по правилам, на которые у меня ушла вся серия, забирай мой набор: пять навыков, режиссёрский пульт, скрипт сдачи под Instagram и шаблон журнала. Он для подписчиков лаборатории.

Открыть набор
Что дальше

Такие разборы выходят регулярно

Короткие мысли и находки я публикую в телеграм-канале, а глубокие разборы, курсы и сообщество, где растут инженеры, живут здесь, в Lab.

Заведи аккаунт в ITUZOV LAB

Зарегистрироваться