← Eskabezz AI
Гайд · бесплатно · сентябрь 2026

Как делать такие мультики

Хочешь так же - делай по шагам ниже. Видеогенерации тут нет: сцену из кубиков рисует код, код пишет Claude Code, голос - ElevenLabs, склейка - ffmpeg. На каждом шаге - готовый промт, копируешь и отдаёшь своему Claude Code.

Кадр из мультика: герой в очках и маскот-котик на ночной крыше, сверху титр «Хочешь такие же мультики?»
38-49 сдлина моих роликов
1,2-2,3 минрендер ролика на ноутбуке
$6 / месголос с правом публикации
3 дняу меня до первого ролика

Новые серии - в инсте @eskabez.

Что нужно

КомпьютерЯ делал на маке. На Windows не проверял.
Claude CodeПлатная подписка Claude, установка - по инструкции на claude.com/claude-code. Работает в терминале, интерфейс на английском. Это главный расход.
ElevenLabsДля проб хватит бесплатного тарифа. Для публикации нужен платный: у бесплатного нет права на коммерческое использование. Starter - $6 в месяц, это 30-50 роликов.
ПрограммыNode.js, git, ffmpeg. Первый промт сам проверит, чего не хватает.
ДоступClaude официально недоступен в России, у ElevenLabs тоже есть страны, где он не работает. Проверь до оплаты.

Как пользоваться. Открой Claude Code в пустой папке и давай промты по одному, по порядку. После каждого шага требуй показать кадр или ролик. Слова «готово» мало. То, что в [скобках], меняешь на своё.

Для первого ролика хватит шагов 1-11. Маскоты, мат и карточки - потом. За вечер не соберётся. Ключи и пароли в чат не вставляй, пароль от компьютера вводи сам.

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

Правила, по которым Claude Code будет работать весь проект. Главное - закрепить версию браузера: он рисует кадры, и если обновится, поплывёт картинка.

промт
Мы делаем конвейер коротких вертикальных мультиков (Reels, Shorts): 1080×1920, 30 кадров в секунду, 30-60 секунд, воксельный 3D - герои и декорации собраны из кубиков. Видеогенерацию не используем: каждый кадр рисует код на three.js, ролик собирает ffmpeg.

Сначала проверь, что у меня стоят Node.js, git и ffmpeg, и покажи версии. Чего нет - объясни, как поставить, и дождись меня. Ничего не ставь через sudo сам.

Правила проекта - запиши их в CLAUDE.md и соблюдай:
- Работаем в git, после каждого законченного шага - коммит.
- Сторонние части - закреплённой версии и лежат в проекте: three.js (конкретная версия), Chrome for Testing (конкретная версия, скачай в папку проекта). Большие файлы (браузер, видео, звук) - в .gitignore. Никаких автообновлений.
- Минимум зависимостей: Node.js и его стандартная библиотека.
- Данные отдельно от кода: герои, места, сценарии - JSON-файлы в папке series/, движок их только читает.
- Ключи и пароли - только в файле .env, который в .gitignore.
- Тяжёлое (рендер, тесты с браузером) - один процесс за раз.
- Веди docs/STATUS.md: что сделано, какие решения и почему, как запустить.
- Не говори «готово», пока не показал результат: кадр, ролик или вывод команды.

Потом предложи структуру папок и план из 5-7 шагов. Код пока не пиши.

2 Движок и рендер

Кадр рисуется для заданного момента времени, а не «вживую». Поэтому рендер повторяемый: один и тот же кадр всегда выходит одинаковым. У меня ролик рендерится за 1,2-2,3 минуты на ноутбуке.

промт
Собери движок рендера.

1. Страница на three.js рисует сцену для заданного момента времени t. В рендере нет реального времени и requestAnimationFrame: всё, что двигается (моргание, жесты, камера), - чистая функция от t. Случайности только с зерном (например, от id героя).
2. Рендер: скрипт на Node запускает закреплённый Chrome for Testing без окна (headless, через DevTools Protocol), для каждого кадра ставит t = номер / 30, забирает картинку canvas и отдаёт кадры в ffmpeg.
3. ffmpeg: H.264, yuv420p, CRF 20, preset medium, метки цвета BT.709, звук AAC 48 кГц, громкость -14 LUFS, флаг faststart. Плюс обложка 1080×1440 из выбранного кадра.
4. Режим раскадровки: вместо ролика - по кадру JPEG на каждый план, чтобы я смотрел глазами до полного рендера.

Для проверки - пустая сцена с кубом, который вращается 3 секунды. Покажи ролик и замер: сколько секунд рендера уходит на минуту видео.

3 Герой-человек

Людей собирает конструктор из деталей: причёски, очки, худи, кроссовки. Можно по своему фото. У людей 10 жестов и 5 эмоций.

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

- Каталог деталей: причёски, бороды, очки, головные уборы, верх, низ, обувь, аксессуары; телосложение; рост 0.85-1.15 от обычного. Герой - JSON-файл в series/characters/.
- Скелет с суставами. Руки ставятся по цели кисти (двухзвенная IK), локти смотрят наружу.
- 10 жестов: none, explain, one (палец вверх), shrug, point, nod, facepalm, thumbs_up, wave, arms_crossed. Жест начинает подниматься чуть раньше реплики.
- Лицо: 5 эмоций (neutral, smile, surprised, skeptical, angry). Моргание раз в 2.6-4.8 с, у каждого свой ритм. Рот открывается по громкости своей реплики.
- Слушатель поворачивает голову к тому, кто говорил последним.

Мой герой: [причёска, борода, очки, одежда, телосложение - или приложи фото]. Подбери самое близкое из каталога, а чего нет - перечисли. Фото не клади в git.

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

4 Маскот из кубиков можно потом

Зверей и предметы конструктор не умеет. Я попросил собаку и получил человека с именем «собака». Поэтому не-людей лепит ИИ из кубиков по описанию.

Описывай так: кто + главная черта формы + цвет + 1-2 вещи + характер. Например: «Гусь в строительной каске, злой прораб».

Лист из 20 воксельных героев по описаниям: кот, гусь, панда, сова, лягушка, тостер, кружка, котик, кактус, монетка, робот, дракончик, привидение, инопланетянин, бабушка, охранник, бизнесмен, рыцарь, акула, хомяк
20 описаний - 20 героев. Claude Opus, 40-105 секунд и $0.09-0.24 за героя.
промт
Нужен второй вид героев - «вылепленные» не-люди (звери, предметы с лицом, роботы) - и лепка по описанию моделью.

Формат: герой - список частей. У части есть роль, точка поворота и родитель, внутри - кубики строкой «x y z ширина высота глубина #цвет» в метрах. Роли:
body (одна, корень) · head (кивает, точка - шея) · eye (моргает) · brow (брови) · jaw (челюсть откидывается при речи) или mouth (плоский рот растягивается) - ровно одно из двух · smile (уголки улыбки) · ear · tail (виляет) · arm (жесты, точка - плечо) · leg · wing · segment (волна для гусениц) · static (шапка, очки, сумка).

Правила лепки - вставляй их в каждый запрос к модели:
- Человек в сериале около 2.1 м. Зверь не ниже 0.8 м и не шире 0.9 м: он стоит рядом с другим героем.
- 25-150 кубиков, 3-8 цветов.
- Мелкие детали (зрачки, нос, пуговицы) - тонкие пластинки НА поверхности, не утоплены внутрь.
- Симметрия точная. Висящих кусков нет: каждый кубик касается другого.
- Лицо смотрит в камеру, глаза и рот чёткие.
- На миниатюре с первого взгляда должно читаться, кто это: преувеличь главные черты.
- Отдельным полем - характер одной фразой. Его прочитает сценарист.

Сделай скрипт: описание -> модель лепит JSON -> проверка формата -> если слишком широкий, ужать целиком. Модель зови через claude -p (в рамках моей подписки), а не через отдельный ключ API. И лист: все герои в три четверти одной картинкой.

Первые герои: [толстый рыжий кот в свитере с оленями, ленивый], [гусь в строительной каске, злой прораб].

5 Места

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

промт
Сделай шаблоны мест. Место - JSON-файл в series/scenes/: шаблон плюс параметры.

1. Крыша небоскрёба над городом: день, закат или ночь, плотность города, лавка. Город - кубы с окнами, ночью часть окон светится.
2. Комната-декорация, как в театре: пол, задняя и боковые стены, потолок, передней стены нет. Виды: офис, кухня, кафе, серверная, лифт.
- Потолок 5-6 м: при 3.4 м он лез в верх кадра.
- Стены односторонние: камера снаружи видит сквозь них.
- Надписи-гэги на доске, постере и экране, до 40 символов: доска «[Задача: поменять 1 кнопку]», постер «[Дедлайн вчера]».
- Реквизит, чтобы было обжито. Офис: полка с папками, стикеры, телевизор с падающим графиком выручки, неон, пицца, кофе, кресло-мешок.
- Места для героев: двое по центру; для четверых - ещё двое по краям, на шаг назад, дугой.
- Главный свет спереди сверху слева.

Покажи по кадру каждого вида с двумя героями.

6 Камера

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

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

Кадр 9:16. Верхние 26% кадра - полоса титров: лица туда не заходят.

Планы:
- wide: все целиком; если героев четверо, камера отъезжает, пока все головы не влезут.
- medium: говорящий по центру, таз на ~78% высоты, чтобы поднятая рука влезала.
- close: голова целиком до подбородка и запас на челюсть - она опускается, когда герой говорит.
- over_shoulder: камера перед говорящим, повёрнута на ~35° к слушателю, плечо слушателя у края кадра.
- two_shot: говорящий и тот, к кому он обращается.
- high: пара сверху, камера медленно идёт дугой.
- low: говорящий снизу - комичный «геройский» ракурс. Объектив не ниже 15 см над полом.
- three_quarter: оба сбоку под ~40°, на разной глубине.

Правила:
- За время плана камера медленно наезжает.
- Если кто-то стоит на линии взгляда, камера облетает на 20°, 35°, 50°.
- Если голова героя больше половины кадра, кадр расширяется.
- Все планы с запасом: лучше на 15-20% свободнее, чем тесно.

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

Проверь глазами:голова целиком. Корги срезало пасть, потому что кадр строился по груди, как у человека.

7 Библия канала

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

промт
Помоги написать библию моего канала - файл, который сценарист читает перед каждым выпуском. Задавай мне вопросы по одному, потом собери series/bible.md:
- о чём канал и кто зритель;
- герои: как выглядят, характер одной фразой, как говорят (кто-то умничает, кто-то приземляет вопросами зрителя);
- тон юмора: над чем шутим и чего не делаем никогда;
- мат: можно или нет (если можно - только запиканный);
- формат: длина, темп, чем заканчивается выпуск, какой призыв в конце;
- 2-3 реплики, которые мне самому кажутся смешными.

8 Сценарий

Смешным ролик делает текст. Формула:

Так это выглядит в «Одной кнопке» (39 секунд, 22 реплики):

яКлод, поменяй одну кнопку.

КлодЯ нашёл ещё двенадцать проблем.

яЧетыреста двенадцать файлов?!

КлодИ кнопку. Она теперь синяя.

яОна была синяя.

КлодТеперь она правильно синяя.

Крючок, эскалация цифрами, абсурд на пике. Жёлтым - одно слово в реплике.

промт
Ты сценарист коротких вертикальных мультиков. Прочитай series/bible.md, героев и места из series/.

Тема: [одна мысль, например: «попросил ИИ поменять одну кнопку, а он переписал весь проект»].
Герои: [кто слева, кто справа]. Место: [какое].

Как писать:
- Около [40] секунд - это примерно 500 символов речи.
- Первая реплика - крючок: зритель должен захотеть досмотреть за 2 секунды.
- Реплика на 1-2 секунды, разговорно, без ремарок и эмодзи.
- Цифры - как гэг, и словами, как произносят («четыреста двенадцать»).
- Каждая реплика чуть абсурднее предыдущей. Скептик задаёт вопросы зрителя.
- Концовка: [мой призыв] и короткая добивка другого героя.
- В реплике можно выделить *одно* слово звёздочками - в титрах оно станет жёлтым. Не в каждой.

Сохрани в series/episodes/[номер-название]/script.json: место, герои со своими местами и реплики. У реплики: speaker, shot, gesture, emotion и chunks - текст кусками до 34 символов (кусок = строка титров). Планы, жесты и эмоции - только те, что уже умеет движок; крупный - для панчлайна.

9 Голос

ElevenLabs, у каждого героя свой голос, темп 1,2 - так живее. Бесплатную Qwen3-TTS я тоже пробовал: вслепую выбрал ElevenLabs 4 раза из 4. Оговорка: он все четыре раза стоял под буквой B.

промт
Подключи озвучку ElevenLabs. Ключ читай из .env.

- Каждая реплика - отдельный запрос text-to-speech, готовая лежит в кэше по хэшу запроса (голос, модель, текст, темп). Без кэша каждый перерендер снова платный и сдвигает тайминг.
- Модель eleven_v3. Её параметр скорости не работает, поэтому темп ([1.2]) делай после синтеза через ffmpeg atempo, потом звук в 48 кГц.
- Голоса - из стандартных голосов ElevenLabs: они работают и на бесплатном тарифе.
- Выбор голоса вслепую: одна фраза 3-4 голосами, порядок случайный, подпиши A, B, C, раскрой после моего выбора.
- Числа - словами, ремарок в тексте нет.
- Таймлайн: 0.5 с тишины в начале, 0.3 с между репликами, 1.4 с в конце. По нему двигаются рот, жесты, камера и титры.
- Черновой режим - системный голос (say на маке), файл помечай -draft.
- Проверка: прогони дорожку через распознавание речи (ElevenLabs Speech-to-Text или whisper) и сравни с текстом слово в слово. Синтезатор иногда глотает слова. Покажи таблицу «реплика - распознано - совпало».

10 Титры

Крупные, заглавными, сверху. Внизу они закрывали рты на крупных планах.

промт
Сделай титры в формате ASS и вжигай их в видео через ffmpeg (libass).

- Сверху по центру, 300 px от верхнего края.
- Узкий жирный шрифт ЗАГЛАВНЫМИ, 108 px, белый, чёрная обводка 7 px, тень 4 px. Файл шрифта - в проекте, иначе ffmpeg молча подставит другой.
- У каждого героя свой светлый цвет. Слово в *звёздочках* - жёлтое (#ffd34d), сами звёздочки не рисуются и не читаются голосом.
- Реплика режется на куски до 34 символов, время делится по длине кусков.
- Каждый кусок «выпрыгивает»: 92% размера на 90 мс, потом 100%.

Покажи кадр с самой длинной репликой и кадр с жёлтым словом.

11 Собрать выпуск

Одна команда: папка выпуска на входе, готовый mp4 на выходе. После этого шага у тебя первый ролик.

промт
Собери всё в одну команду: папка выпуска -> final.mp4 и обложка.

1. Проверка сценария: герои и место существуют, планы, жесты и эмоции - из тех, что умеет движок, куски не длиннее 34 символов. Ошибка - понятным текстом, до озвучки.
2. Голос по репликам (через кэш) и таймлайн.
3. Раскадровка - кадр на план, чтобы я посмотрел до полного рендера.
4. Рендер, титры, звук -14 LUFS, final.mp4 и обложка.
5. Рядом - замер: секунды рендера на минуту видео и какие голоса были черновыми.

Сделай тестовый выпуск на 4 реплики с моими героями на крыше: сначала покажи раскадровку, потом ролик.

12 Запикать мат можно потом

Мат можно, но один-два раза за ролик и всегда запиканный: в звуке писк, в титрах звёздочка. «Всё х∗йня, давай по новой!»

промт
В выпуске есть мат, его надо запикать.

1. Прогони дорожку через распознавание речи с метками слов и найди время каждого матерного слова.
2. На интервале слова с небольшим запасом голос глуши в ноль, под ним - писк: синус 1000 Гц, громкость 0.3. Исходную дорожку сохрани рядом.
3. В титрах замени одну букву звёздочкой (х∗йня).
4. Встрой это в команду выпуска сразу после озвучки, чтобы любая переозвучка повторяла шаг.

13 Карточки поверх видео можно потом

Коммит, поиск, пулл-реквест - маленькая HTML-карточка всплывает на время реплики, со щелчком. Мелочь, а глаз цепляется.

Карточка «Клод · коммит: Поменял одну кнопку, 412 файлов, +18 204, −17 999» Карточка «Дипсик · поиск: Запрос «шрифт», найдено 40 000, цена 0 ₽»
промт
Сделай карточку-вставку поверх ролика.

- Карточка - HTML/CSS 820 px шириной: [например: «Клод · коммит», «Поменял одну кнопку», «412 файлов +18 204 −17 999»]. Тёмная, скруглённая, крупный шрифт.
- Сними её в PNG с прозрачным фоном тем же Chrome без окна.
- Наложи через ffmpeg overlay на время реплики №[номер] - время возьми из таймлайна. Появление и исчезание по 0.12 с, нижняя половина кадра, не на лице и не на титрах.
- В момент появления - щелчок: синус 880 Гц с быстрым затуханием, 0.2 с.

Сделай это скриптом: ролик, папка с карточками и номера реплик - на входе.

14 Проверка

Главные ошибки ловятся глазами на раскадровке, а не тестами. У меня больше 350 автотестов, и всё равно так.

промт
Сделай раскадровку выпуска [папка]: кадр на каждую реплику, с титрами, одной сеткой. Проверь каждый кадр и дай таблицу «кадр - что не так»: титры на рту, срезанная голова или челюсть, потолок в кадре, кто-то заслоняет говорящего, руки за краем, надписи декораций под титрами. Ничего не исправляй, пока я не посмотрю.
Перед публикацией

Где споткнёшься

Сделал свой мультик - покажи

Отметь меня или пришли в директ. Новые серии - там же.

@eskabez