惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Engineering at Meta
Engineering at Meta
人人都是产品经理
人人都是产品经理
大猫的无限游戏
大猫的无限游戏
博客园 - 三生石上(FineUI控件)
量子位
腾讯CDC
The Cloudflare Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
云风的 BLOG
云风的 BLOG
Vercel News
Vercel News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
L
LangChain Blog
aimingoo的专栏
aimingoo的专栏
The Hacker News
The Hacker News
T
The Exploit Database - CXSecurity.com
B
Blog
S
SegmentFault 最新的问题
P
Privacy & Cybersecurity Law Blog
T
Threatpost
博客园 - 聂微东
T
Tailwind CSS Blog
The Last Watchdog
The Last Watchdog
C
Check Point Blog
N
Netflix TechBlog - Medium
D
DataBreaches.Net
爱范儿
爱范儿
IT之家
IT之家
S
Secure Thoughts
M
MIT News - Artificial intelligence
NISL@THU
NISL@THU
C
Cisco Blogs
TaoSecurity Blog
TaoSecurity Blog
有赞技术团队
有赞技术团队
A
Arctic Wolf
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
P
Proofpoint News Feed
Spread Privacy
Spread Privacy
Schneier on Security
Schneier on Security
Simon Willison's Weblog
Simon Willison's Weblog
G
GRAHAM CLULEY
雷峰网
雷峰网
Project Zero
Project Zero
博客园 - Franky
H
Heimdal Security Blog
A
About on SuperTechFans
Security Latest
Security Latest
Webroot Blog
Webroot Blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Hugging Face - Blog
Hugging Face - Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания Автономность как точка невозврата: кто будет субъектом в цифровом будущем Обучение ИИ в «диких» условиях: как рутинные действия превращаются в датасеты Как измерить LLM для задач кибербеза: обзор открытых бенчмарков Где хранить код? Сравнение GitHub, GitLab и Bitbucket Математика объясняет, почему нормальное распределение встречается повсюду Почему ваш FinOps не работает: 12 тезисов от практиков Как подписать проектную документацию УКЭП с использованием бесплатных лицензий Pilot Адаптивное администрирование Sigla Vision Я грузил уран в бочки, а потом 20 лет строил ИТ в атомной отрасли Чем позвонить с Эвереста? История и обзор спутниковой связи. Часть 2 Как языковая модель помогает контролировать качество инструктажей по охране труда в металлургии Как не передать на desktop свой IP в РКН Анатомия SAP Privileges: как устроено управление правами в macOS MoneyDev: Сказка про три главных слова Обновлённый токенизатор видео K-VAE 2.0 от Сбера Как сделать диспетчеризацию дома на 1284 квартиры почти бесплатно Как мы разогнали железную дорогу Мы дали агентам рутину. Теперь надо решить — что делать с освободившимся временем Токсичный контент, промпт-хакинг и защита ИИ — всё о Guardrails для LLM Умный город начинается с точного взгляда: как «Фалькон Тех» меняет пространство к лучшему Навайбкодил приложение для анализа графов Почему Дюну так интересно читать? Упрощаем работу с рутиной или как стать Гендальфом Белым Деконструкция Go: CPU, RAM и что там происходит. Go Assembler база. Часть 1.1 Какие профессии исчезнут из-за ИИ, а какие появятся? И что с этим делать Как мы построили IT-отдел, где хочется расти: архитектурные встречи, прозрачные метрики и книжные подарки Rufler: Делаем из Claude Code автономный рой через один YAML-конфиг Sing-box и белый список приложений Как построить надёжный обмен сообщениями в микросервисах: лучшие практики для enterprise OpenAI строит MLM-пирамиду, а McKinsey и Accenture помогают ей в этом Дом, который не построил Фишер (Часть 2) «Сверхзвуковой математик» против «Вдумчивого логиста»: битва алгоритмов 3D-упаковки Мультимодальные модели – грубый и дорогой инструмент Разговоры ничего не стоят. Код тоже Проверки физических лиц: с кого начнет ФНС Топ-10 бесплатных нейросетей для создания видео в 2026 году Первые слои кода: как наши решения сегодня определяют архитектуру ИИ на десятилетия Разработка нового статического анализатора: PVS-Studio JavaScript Поиск уязвимостей ПО: базовый минимум или роскошный максимум Почему оценка персонала не работает как инструмент управления Как мы разработали ИИ-ассистента и сократили рутину продуктовой команды на 50% Как я ушел из найма, нажарил косточек и продал на маркетплейсах на 168 млн в год Когда 1С:ERP уже внедрена, а нормального производственного плана всё ещё нет Как я сделал Claude мультимодальным, подключив к нему Qwen Omni Как приглашение на вакансию мечты превращается в атаку Infrastructure as Code: философия и лучшие практики IaC Тестируем Yandex Code Assistant на задаче, в которой нужно хранить секреты nxs-universal-chart v3.0: новое поколение универсального Helm-чарта Callback Injection: Техника, которая отправила Microsoft Defender в глухой нокаут «Все идеи на стол»: митап как способ вывести проект из тупика Сегодня я узнал нечто новое о GPU благодаря багу в своей игре Как заставить LLM ̶ ̶г̶а̶л̶л̶ю̶ ̶ эволюционировать Карта событий как фундамент аналитики: практический кейс для E-commerce Что выбрать для AI: x86, ARM или RISC-V? Дайджест железа за март Роль соматических мутаций в развитии аутоиммунных заболеваний: путь к избирательной терапии Mythos от Anthropic — тревожный сигнал для всех, а не только для банков Guardrails для LLM на Java: как приручить промпт‑инъекции и токсичные ответы Green-VLA: как мы собрали VLA-модель для реального антропоморфного робота и не потеряли обобщение Финансовая гонка вооружений: почему умные люди добровольно в ней участвуют Эра ИИ-агентов наступила: выбираем лучшего цифрового сотрудника # Практический опыт внедрения WinCC Redundancy на производственном предприятии Сделал MVP за 3 дня, а потом неделю прикручивал оплату. Оно того стоило? Физика против Маска: почему Starship V3 может оказаться ещё одной катастрофой Нефть Венесуэлы: крупнейшие запасы в мире, но не крупнейшая нефтяная держава JPA 4. Переосмысление Hibernate Почему зеркальная фотокамера Nikon D5 десятилетней давности идеально подошла для миссии «Артемида-2» Проект «Уровень-Спутник» или как мы сделали платформу для гидрологов «Замедлиться, чтобы ускориться»: почему ИИ повышает цену ошибок в требованиях и архитектуре Как с нуля поднять трафик IT-компании на 1657% при бюджете 55 тыс. и выжить Pixel-perfect Downsampling — идеальная отрисовка 50 миллионов точек без потерь
Как я делаю нейромультик про Михалыча
Инга Дебиш · 2026-06-28 · via Все публикации подряд на Хабре

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

16 мин

0

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

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

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

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

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

Шаг

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

Инструмент

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. Тут работа именно нейросети заканчивается, поэтому и я свой рассказ на этом закончу.

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

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

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