Как я делаю нейромультик про Михалыча

от автора

У меня есть мультик про мебельщика Михалыча. Снят в жанре мокьюментари — как будто кто‑то пришел с камерой к небольшому производству и снял документалку про обычный рабочий день. Интервью на камеру, бытовые сцены, узнаваемые типажи. Только всё это нарисовано и анимировано нейросетями — без художника, без аниматора, без актеров.

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

В этой статье — полный разбор второй серии по шагам: что делала, что не получилось сразу и как решала.

Почему второй серии? Скажу так, в первой не было каких‑то сильно сложных и очень интересных моментов, про которые были бы интересно писать. А вот во второй серии как раз появились различные заморочки и нюансы.

Весь путь от сценария до готового видео — шесть шагов.

Шаг

Что происходит

Инструмент

1

Разбор сценария

Раскладываем сценарий по кадрам в таблицу

вручную + Claude

2

Промпты

Пишем текстовые описания для генерации картинок

Claude / GPT

3

Кадры

Генерируем статичные картинки

Sovetnik AI + GPT Image

4

Анимация

Оживляем картинки в видео

Sovetnik AI + Seedance

5

Озвучка

Записываем голоса, сводим звук

Sovetnik AI + tts (google)

6

Монтаж

Собираем финальное видео

CapCut

Серия 1
Серия 2, про которую идет речь в статье

Оглавление

Шаг 1. Разбор сценария по кадрам

Нейросеть не читает сценарий. Она принимает описание одного кадра и рисует его. Дашь ей страницу текста — нарисует что‑то одно из этой страницы, по своему выбору.

Поэтому сценарий нужно разобрать на отдельные кадры вручную. Каждый кадр — это максимально конкретный список: кто в кадре, где стоит, что делает, что говорит, кому говорит что лежит на столе, что прикручено к стенке. Не «герой приходит в офис», а «герой открывает дверь, камера снаружи, видно крыльцо и вывеску».

Побочный эффект этого шага — вылезают все дыры сценария. Когда начинаешь расписывать кадры, выясняется, что половина сцен не описана достаточно. Где именно стоит герой? Один или с кем‑то? Что за офис — советский, современный, маленький, большой? Сценарист это представил в голове, но не написал. Нейросеть не спросит — просто нарисует что‑нибудь своё.

Чем детальнее таблица на выходе этого шага, тем меньше переделок на всех следующих.

Вот и у нас сценарий — это просто текст. А нам нужен список конкретных кадров — что видно на экране, кто говорит, что говорит, сколько это займёт времени.

Делаю по порядку:

  1. Читаю сценарий новой серии целиком.

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

  3. Разбиваю на кадры и свожу в таблицу: локация, кто в кадре, что происходит, реплики, реквизит, примерная длительность.

  4. Проверяю, у каких персонажей уже есть готовый дизайн, а каким нужно придумывать внешность с нуля.

Длительность кадров на этом шаге — это просто прикидка для планирования, а не финальная цифра.

Шаг 2. Промпты — описания для генерации

Промпт — это техническое задание для нейросети. Она делает ровно то, что написано. Не больше, не меньше, и без инициативы (иногда с ней, но это тоже не очень хорошо).

«Пожилой мужчина в свитере» — это миллион вариантов. Модель выберет наиболее статистически вероятный из своих обучающих данных. Скорее всего, получится что‑то вполне приличное и совершенно не то, что нужно. «Мужчина 55–65 лет, плотного телосложения, тёмно‑зелёный вязаный свитер поверх рубашки с воротником, очки в тонкой металлической оправе» — уже другое дело. Пространство для интерпретации схлопывается.

Еще одна проблема — противоречия внутри промпта. «Другой типаж, но похожий» — модель это прочитает и возьмёт «похожий» как основу, потому что «другой» слишком абстрактно. Если нужно, чтобы нос был короче и шире — пишешь именно это. Никаких сравнений, никаких метафор. Конкретные параметры, как в техническом описании детали.

Когда появляется новый персонаж

У нас во второй серии впервые в кадре появился Кузнецов — соседский конкурент Михалыча (в первой он только упоминался). Это значит, что есть своя «вселенная» — Михалыч, его коллега Палыч и новый персонаж должен в неё вписаться. Выглядеть так, будто его нарисовал тот же художник, в той же манере.

Для этого первым делом делаю не кадры с персонажем, а карточку персонажа (референс‑лист) — один лист с разными ракурсами и эмоциями: спереди, в профиль, крупный портрет, несколько подписанных эмоций.

Без карточки каждый кадр с персонажем рисуется «с нуля» и он будет чуть отличаться от кадра к кадру — то причёска другая, то черты лица сместились. Карточка — эталон, на который я указываю нейросети при генерации любого кадра с этим героем. Она держит персонажа консистентным и внутри серии, и между сериями.

Что пошло не так в первой итерации: я написала «такая же фактура и комплекция, как у Михалыча, но другой типаж». В результате лицо Кузнецова получилось почти как у Михалыча — отличались только очки и свитер. Слово «другой типаж» нейросеть восприняла не так буквально, как хотелось.

Это типичная часть процесса. Смотрю результат → вижу проблему → уточняю промпт. Во второй версии прямо прописала, чем должно отличаться лицо: форма, нос, подбородок, брови. После этого Кузнецов получился — узнаваемо «из той же вселенной» по стилю рисовки, но явно другим человеком.

Сначала персонаж был слишком похож

Сначала персонаж был слишком похож
Вот как выглядели обе версии промпта:

БЫЛО (v1):

«Персонаж: Виталий Сергеевич Кузнецов, мужчина 55–65 лет, такая же возрастная фактура и комплекция, как у Михалыча (плотный, седой), но другой типаж — без бороды, чисто выбрит или с короткой щетиной. Очки в тонкой металлической оправе. Свитер (тёмно‑зелёный или бордовый, вязаный) надет поверх рубашки с воротником. Взгляд спокойный, рассудительный, без понтов — скорее „учитель труда на пенсии“, чем „производственник“. Седые волосы, аккуратная стрижка.»

СТАЛО (v2):

«Персонаж: Виталий Сергеевич Кузнецов, мужчина 55–65 лет, плотного телосложения, седой. ВАЖНО — лицо должно быть ОТЧЁТЛИВО другим, не повторять черты другого персонажа сериала (Михалыча): более округлое лицо (не вытянутое), нос короче и шире, подбородок мягче и без квадратной челюсти, лоб выше, брови светлее и реже. Без бороды, чисто выбрит или с короткой щетиной. Очки в тонкой металлической оправе. Свитер (тёмно‑зелёный или бордовый, вязаный) надет поверх рубашки с воротником. Взгляд спокойный, рассудительный, без понтов — скорее „учитель труда на пенсии“, чем „производственник“. Седые волосы, аккуратная стрижка, чуть гуще на висках.»

Карточка персонажа Кузнецова — одобренная версия

Карточка персонажа Кузнецова — одобренная версия

Когда карточка готова

Дальше пишу промпт на каждый конкретный кадр из таблицы шага 1 — по одному за раз, с опорой на уже зафиксированную карточку персонажа.

Шаг 3. Статичные кадры

Статичная картинка — это основа, с которой работает анимационная модель. Что есть на входе, то и оживляется.

Если текст на реквизите чуть размыт на картинке — в анимации он расплывется до нечитаемости. Если пропорции лица немного не те — в движении это станет заметнее. Анимационные модели не исправляют дефекты статики, а наследуют и усиливают.

Отдельная тема — консистентность персонажей. В серии может быть 30–40 кадров. Нейросеть не помнит, что рисовала в предыдущий раз и каждый новый запрос — с чистого листа. Без референсов персонаж от кадра к кадру начинает «дрейфовать»: чуть другой нос, чуть другие брови, в какой‑то момент это уже другой человек. Референс‑лист — изображение с разными ракурсами и эмоциями персонажа — решает эту проблему. Прикладываешь к каждому промпту, и модель держится за него как за эталон.

Готовые промпты прогоняю через GPT Image.

Если в кадре есть читаемый текст на реквизите (например, надпись «Михалыч‑Мебель» на кепке) — кроме общего кадра прикладываю отдельные референсы крупным планом, каждый объект с текстом отдельно. Без этого буквы при генерации часто искажаются или «плывут». С крупным референсом текст получается чётким. Теперь делаю так для любого кадра с текстом на реквизите.

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

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

Для нового реквизита (диск‑тренажёр «Грация» в подсобке Кузнецова) в референс кладу не только текстовое описание, но и реальное фото самого предмета. Нейросеть точнее повторяет конкретный физический объект — форму, надписи, потёртости — чем рисует его с нуля по словам.

Если в кадре с мелким реквизитом нет человека рядом, размер нужно прописывать явным сравнением: «диаметр чуть больше футбольного мяча, на него должны помещаться две стопы человека». Без этого предмет может получиться непропорционально крупным.

Шаг 4. Анимация

Анимационная модель видит один кадр и один промпт. Больше ничего. Она не знает, что было до и что будет после.

Это значит, что связность серии — ваша ответственность, а не модели. Если в одном клипе у героя дневной свет, в следующем — вечерний, а в третьем снова дневной, смонтировать это в единую сцену без заметного шва не получится. Формат, освещение, соотношение сторон — всё это нужно держать одинаковым на всех клипах серии с самого начала.

Отдельно про речь. Большинство анимационных моделей плохо работают с кириллицей, персонаж шевелит губами, но произносит что‑то приблизительно похожее на текст, не совпадающее с ним. Поэтому голос добавляется отдельно, а в анимации реплика в промпте нужна только как ориентир — чтобы модель понимала ритм и длительность речи в кадре.

Я статичные картинки оживляю в Seedance. Ограничение инструмента: не больше 15 секунд на один клип. Поэтому ещё на шаге 1, прикидывая длительность кадров, сразу проверяю, не упрется ли какой‑то кадр в этот лимит.

В промпте для Seedance указываю точную длительность клипа в секундах — конкретное число в выпадающем меню. Реплику персонажа из сценария всё равно вписываю в промпт, но как ориентир для движения губ, а не для точной липсинхронизации: Seedance плохо справляется с русским текстом. Персонаж просто шевелит губами — настоящий голос добавляется позже на шаге озвучки.

Если в кадре есть текст на реквизите — прикладываю те же крупные референсы, что и на шаге 3.

Сама генерация видео проходит внутри Sovetnik AI: захожу в раздел «Видео», выбираю модель Seedance. Картинку для анимации беру прямо из библиотеки (если уже сохраняла её туда после генерации в GPT Image) — так быстрее, файл уже на сервисе. Прикладываю только те референсы, где в кадре реально есть нужный текст — если на каком‑то предмете текст и так не считывался на статичной картинке, его крупный план для анимации прикладывать смысла нет.

Параметры перед запуском такие: длительность в секундах (то же число, что и в промпте), соотношение сторон 9:16 — важно держать его одинаковым на всех клипах серии, иначе видео не склеится аккуратно на монтаже. Качество — среднее или высокое («профи»; на низком будут видны артефакты). Звук включен.

Удобный приём: новый клип создаю не с нуля, а дублирую настройки старого видео в Sovetnik AI (значок «двойной квадрат») — модель, соотношение сторон, звук и качество уже стоят нужные, остаётся поменять промпт и длительность.

Диалоговая сцена с двумя персонажами

Для клипа с двумя персонажами и текстом на реквизите пробовала режим Seedance «начальный кадр → конечный кадр», но в этом режиме нельзя приложить дополнительные референсы, а без крупного плана кепки текст на ней «едет». Поэтому генерировала через обычный режим (один кадр + референсы), приложив четыре референса: крупный план кепки, референс‑лист Кузнецова и две готовые статичные картинки — Михалыч у машины и оба персонажа вместе на крыльце.

Для диалоговой сцены (чаепитие у Кузнецова) попробовала менять ракурс внутри одного клипа: камера плавно переходит на того, кто говорит, а в ключевые моменты — на общий план. Это снижает риск артефактов от длинного непрерывного плана и облегчает нарезку на монтаже. В промпт на каждую реплику добавляла эмоцию (лёгкая хитрая улыбка, смущение, наигранная сосредоточенность) — без переигрывания.

Вот полный промпт этой сцены:

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

Михалыч, мужчина 55–65 лет, среднего телосложения, в потёртой клетчатой рубашке и кепке с надписью «Михалыч‑Мебель» (текст крупный, чёткий, тёмный/чёрный шрифт), седая щетина, морщины, добродушное выражение лица.

Кузнецов, Виталий Сергеевич, мужчина 55–65 лет, плотного телосложения, седой. Лицо отчётливо другое, не как у Михалыча: более округлое, нос короче и шире, подбородок мягче, без квадратной челюсти, лоб выше, брови светлее и реже. Без бороды, чисто выбрит или с короткой щетиной. Очки в тонкой металлической оправе. Свитер тёмно‑зелёный или бордовый, вязаный, надет поверх рубашки с воротником.

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

Часть 1 — план на Кузнецова (он в кадре крупнее, Михалыч частично виден): Кузнецов наливает чай из заварочного чайника, смотрит на Михалыча с лёгким прищуром и едва заметной хитрой улыбкой:

КУЗНЕЦОВ: Ну как сам? Как Палыч?

Часть 2 — план переходит на Михалыча (он крупнее в кадре, Кузнецов частично виден): Михалыч сначала чуть смущён, отводит взгляд в сторону, едва заметно почёсывает щёку, потом становится увереннее, чуть наклоняется вперёд, по‑деловому:

МИХАЛЫЧ: Нормально. Я что хотел… насчёт ЛДСП.

МИХАЛЫЧ: Думал, может, на общий заказ выйдем. Я тонну беру, ты сколько?

Часть 3 — план снова переходит на Кузнецова: он доволен, с лёгким смешком в уголках губ, чуть кивает:

КУЗНЕЦОВ: Полторы. Можем сложиться.

Часть 4 — план переходит на общий, оба вместе в кадре: Михалыч доволен, с лёгким удовлетворённым кивком говорит «Угу», затем берёт ложку и неторопливо помешивает чай — с забавной преувеличенной сосредоточенностью на этом простом деле, чуть сведённые брови. Кузнецов наблюдает за ним с едва заметной усмешкой, молча, про себя посмеиваясь над этой серьёзностью.

МИХАЛЫЧ: Угу.

Все переходы между планами плавные, без рывков и спецэффектов. Эмоции живые, чуть тёплые и забавные, но не карикатурные — спокойный, дружеский диалог. Тёплый дневной свет.

Длительность: 14 секунд. Звук включен (естественные звуки чашек, ложки, без музыки).

Два жанровых регистра внутри одной серии

Сцены в подсобке и кадр с возвращением к машине — «комическое разоблачение», где зритель видит нелепость раньше, чем герой её осознает. Там у Михалыча тон сдержанный: короткие реплики, паузы, без явной мимики.

Кадр 10 — сольный монолог‑интервью Михалыча на фоне стены офиса, документальный жанр. Там нужна явная мимика и жест на каждую смысловую реплику, иначе монолог выглядит безжизненным.

Это два разных регистра, и промпт на эмоции нужно писать под конкретную сцену, а не одинаково для всех кадров.

Вот промпт для сцены в подсобке:

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

Михалыч, мужчина 55–65 лет, среднего телосложения, в потёртой клетчатой рубашке и кепке с надписью «Михалыч‑Мебель» (текст крупный, чёткий, тёмный/чёрный шрифт), седая щетина, морщины, добродушное выражение лица.

Кузнецов, Виталий Сергеевич, мужчина 55–65 лет, плотного телосложения, седой, лицо округлое, нос короче и шире, подбородок мягче, без квадратной челюсти, лоб выше, брови светлее и реже, без бороды или с короткой щетиной, очки в тонкой металлической оправе, тёмно‑зелёный или бордовый вязаный свитер поверх рубашки с воротником.

Сцена: маленькая бытовая подсобка — голые стены, тусклая лампочка, полки с банками и коробками, на стене лист белого ватмана на кнопках, рядом штатив со смартфоном. На полу диск‑тренажёр «Грация» (металлический, потёртый, с читаемыми надписями БОДРОСТЬ • ЗДОРОВЬЕ • ЛОВКОСТЬ • ГРАЦИЯ), размером чуть больше футбольного мяча — на него помещаются две стопы человека

Действие: Кузнецов открывает дверь, заходит первым, отступает в сторону. Михалыч заходит за ним и останавливается, обводит комнату взглядом. Камера короткими спокойными переходами (без резких склеек) выхватывает крупным планом детали: кнопки на ватмане, ножки штатива, потёртую поверхность диска. Михалыч молча чешет бороду, лицо сосредоточенно‑растерянное, без слов и лишней мимики.

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

«Ставлю тумбу на диск. (пауза) Запускаю. (пауза) Айфоном минуту снимаю. (пауза) Готово видео на сайт.»

Лицо ровное, деловое, без суетливой мимики и улыбок.

Камера на время реплики — на Кузнецове и его руке на диске. Клип заканчивается общим планом: оба в кадре, Михалыч переводит взгляд с конструкции на Кузнецова.

Ещё несколько приемов из этой серии

Немая реакция на реквизит. Камера в клипе ненадолго уходит крупным планом на сам предмет (например, на диск тренажёра), пока персонаж молчит. Читается как реакция без единого слова и не требует анимации лица в этот момент.

Физическое действие синхронно с репликой. персонаж показывает, как работает реквизит, именно в момент, когда о нём говорит. В промпте это нужно прописывать как одно синхронное действие — «на слове "вот так" - крутит диск», а не отдельно жест и отдельно реплику.

Если генерация не получается целиком. Не обязательно перегенерировать клип с нуля. На последнем кадре в подсобке промпт не дал ни одного рабочего видео целиком, но из двух разных генераций получилось взять рабочий первый кусок из одной и второй кусок из другой и склеить их в CapCut. Сэкономило и лимиты, и время.

Шаг 5. Озвучка

Синтез речи по умолчанию даёт ровный нейтральный голос без пауз и интонаций. Диктор, читающий инструкцию к стиральной машине. Чтобы персонаж звучал как человек, нужно управлять этим вручную — тегами эмоций и пауз прямо внутри текста реплики. Не описанием того, каким должен быть голос в целом, а конкретными метками в конкретных местах.

Есть ещё проблема стабильности. Если генерировать реплики по одной, голос будет чуть плавать. Разный темп, разная интонационная база, разный характер от генерации к генерации. Тот же персонаж в разных сценах начинает звучать как разные люди. Решение простое, все реплики одного персонажа за всю серию — одним треком подряд. Модель держит единый голосовой профиль от первой реплики до последней. Потом этот трек нарезается на монтаже.

Каждая реплика собирается из двух полей.

«Промпт речи» — сам текст реплики на русском, и прямо внутри него по тексту вставляются английские теги в квадратных скобках: эмоция (например, [calm] или [thoughtful]) и длина паузы в нужном месте ([short pause], [medium pause] или [long pause]).

«Стиль речи» — отдельное поле с общим описанием голоса персонажа на английском (тембр, темп, манера), которое не меняется от реплики к реплике.

Голос подбирается под персонажа: у Михалыча — Enceladus, у Кузнецова — Algieba. Язык в настройках — ru‑RU, даже при английских тегах внутри текста.

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

Вот полные промпты для обоих персонажей:

Михалыч — промпт речи:

[muttering, under breath] По‑соседски заехать. [short pause] По‑соседски. [long pause] [cheerful, open] Здорово, Виталь Сергеич. [short pause] [calm] Тут я, по‑соседски… [long pause] [calm] Нормально. [short pause] [thoughtful] Я что хотел… [short pause] насчёт ЛДСП. [medium pause] [matter‑of‑fact] Думал, может, на общий заказ выйдем. [short pause] Я тонну беру, ты сколько? [medium pause] [indifferent] Угу. [long pause] [hesitant] Виталь… [short pause] ещё хотел спросить. [short pause] У тебя на сайте… [long pause] [confused] А я думал… [short pause] это, ну… [short pause] нейросеть. [long pause] [thoughtful] Виталь говорит — нейросеть не нужна. [long pause] [uncertain] Может, и не нужна. [long pause] [delighted] А может, и нужна!

Михалыч — стиль речи:

Calm, terse man in his late 50s-60s, owner of a small furniture workshop. Speaks in short, plain phrases with real pauses — not theatrical, not animated. Normal conversational volume at all times — never whispering, never hushed, never sounding like he’s sharing a secret. Slightly gruff most of the time, practical, not used to talking much. On the few clearly positive beats (a greeting, a happy realization) his tone should brighten audibly — open and cheerful, not soft or sultry — still brief and unfussy, just lighter and happier in pitch.

Кузнецов — промпт речи:

[warm, surprised] О, Михалыч! [short pause] Какими судьбами? [long pause] [hospitable] Заходи давай. [short pause] Чайник как раз закипел. [long pause] [friendly] Ну как сам? [short pause] Как Палыч? [long pause] [matter‑of‑fact] Полторы. [short pause] Можем сложиться. [long pause] [curious] Тумба? [medium pause] [calm] А, это. [short pause] Пошли покажу. [long pause] [calm, plain] Ставлю тумбу на диск. [short pause] Запускаю. [short pause] Айфоном минуту снимаю. [short pause] Готово видео на сайт. [long pause] [amused, warm chuckle] Михалыч, какая нейросеть. [short pause] Ты что, в самом деле.

Кузнецов — стиль речи:

Calm, polite, slightly soft‑spoken man in his late 50s-60s — more refined and gentle than a typical factory worker, closer to a retired schoolteacher. Measured pace, warm hospitable tone, never raises his voice. Speaks plainly and practically, without pretension. Light, good‑natured chuckle when amused — never mocking.

Шаг 6. Монтаж и передача

Далее финальную сборку видео делаем в CapCut. Тут работа именно нейросети заканчивается, поэтому и я свой рассказ на этом закончу.

Удивительно, что вторая серия заняла примерно столько же времени, сколько первая. Казалось бы, уже натренировались и знаем процесс. Но новый персонаж, первая диалоговая сцена с двумя людьми в кадре, реквизит с текстом — каждая из этих вещей потребовала своего решения, которого в первый раз просто не было.

Большинство приемов из этой статьи — не придуманные заранее способы реализации, а найденные в процессе. Карточка персонажа как эталон, крупный план реквизита для защиты текста, склейка двух неудачных генераций в одну рабочую. Это всё появилось потому, что первый вариант не сработал.

Судя по всему, каждая серия добавляет в копилку два‑три новых приёма. Посмотрим, какие челленджи будут в третьей.

ссылка на оригинал статьи https://habr.com/ru/articles/1052890/