Два героя в кадре и никто не меняется лицами. Что сработало

Героиня из третьего кадра должна быть той же, что в первом. А если в сцене двое, они не должны обменяться лицами и одеждой. Автор разбора на Хабре делает короткие ролики и рекламу с постоянными героями: рыжей Агнией и байкером Тихоном. Он показал, как держит постоянного персонажа в нейросети. Героев он передаёт в gemini-3.1-flash-image и в видеомодель gemini-omni-1.1-flash через REST, роли картинок размечает, а три варианта промпта проверил на 18 генерациях. Ниже – что из этого стоит взять продюсеру: у героя, который не уплывает, меньше холостых дублей.

Постоянный персонаж в нейросети держится на паспорте и трёх референсах

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

Первый – «паспорт» героя. Это неизменный текстовый блок с внешностью: возраст, цвет волос и глаз, особые приметы. Его копируют в каждый запрос слово в слово. Эмоции, одежду и свет из паспорта уберите. Прописали улыбку – получите улыбку в каждой сцене. Одежду и мимику описывайте только в параметрах конкретного кадра.

Второй элемент – эталонный портрет анфас на нейтральном сером фоне с ровным светом.

Третий – дополнительные ракурсы: профиль, три четверти, спина. Каждый генерируют отдельным запросом, эталон идёт как референс. Все ракурсы на одной картинке за один заход ломают анатомию: модель легко развернёт голову в одну сторону, а ступни в другую.

Есть и техническая мелочь. В методе generateContent сначала кладите в массив parts референсы как inlineData, а текстовый промпт ставьте последним. Соотношение сторон задавайте в imageConfig.aspectRatio.

Что показал замер на 18 генерациях с двумя героями

С двумя героями в сцене риск путаницы растёт. Промпт вроде «эти двое сидят в кафе» перемешивает одежду, аксессуары и черты лиц. Автор сравнил три варианта промпта.

  1. Простой промпт без ролей ломает детали. Герои получают чужую одежду и лишние аксессуары, а на фоне появляется мусорный текст: вывески, меню.

  2. Описание сцены с ролями (кто стоит, кто сидит, кто слева) работает заметно лучше. Модель цепляется за расположение в кадре, и лица с одеждой обычно остаются на местах. Лишний текст на фоне при этом никуда не девается.

  3. Нумерация референсов оказалась самым надёжным вариантом. Схема такая: «Картинка 1 – это женщина (описание), Картинка 2 – это мужчина (описание)», а следом прямой запрет: «Не смешивать и не менять лица местами». В замере автора этот вариант прошёл без ошибок в деталях и убрал паразитный текст.

Выборка небольшая, и я бы перепроверил схему на своих героях. Но направление понятно: модели нужно прямо сказать, кто есть кто.

Как перенести героев в видео через Gemini Omni

Первый кадр сначала генерируют и проверяют глазами. Потом его анимируют видеомоделью gemini-omni-1.1-flash (или версией 1.2) через Interactions API. Главная фишка тут – метки IMAGE_REF в тексте запроса.

В массив входных данных кладут первый кадр как FIRST_FRAME и эталонные изображения героев. В начале промпта объявляют роли картинок, например: [# Sources <FIRST_FRAME>@Image1] [# References <IMAGE_REF_0>@Image2]. Дальше в тексте ссылаются на них напрямую: «Женщина – это , мужчина – это , сохраняйте их лица точно как на референсах».

Версия 1.2 удобнее по двум причинам. У длительности ролика теперь свой системный параметр, от 3 до 15 секунд, и писать её в тексте не нужно. А секунда видео в 720p подешевела с 10 до 7 центов, это данные из разбора автора. Есть и нюанс: чтобы ролик начинался ровно с вашего первого кадра и заканчивался на втором, в начале промпта нужна прямая фраза: «The video starts exactly on the first image and ends exactly on the second image».

Честно, не знаю, как схема поведёт себя на длинной дистанции, в сериале с десятками сцен. Для рекламного микро-сериала или роликов в соцсети она выглядит рабочей.

Что сделать завтра

  • Заведите паспорт для каждого героя: только внешность, без эмоций, одежды и света. Храните его одним файлом и вставляйте в запросы без правок.
  • Попросите подрядчика до старта съёмочных генераций показать эталонный портрет на сером фоне и ракурсы, сделанные отдельными запросами.
  • Для сцены с двумя героями прогоните три варианта промпта (простой, с ролями, с нумерацией картинок). Сравните лица, одежду и лишний текст на фоне.
  • Перед видео проверьте разметку ролей: первый кадр как FIRST_FRAME, герои как IMAGE_REF. На версии 1.2 добавьте фразу про первый и второй кадр.

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

Что ещё спрашивают об этом

Какие нейросети подходят для генерации персонажей?

Персонажей генерируют в Stable Diffusion, Midjourney, Leonardo AI и моделях Gemini, например gemini-3.1-flash-image через API. Условия и лимиты бесплатных тарифов у сервисов разные и меняются, их стоит проверять на сайте сервиса.

Как сгенерировать персонажа по фото и сохранить его внешность в нейросети?

Для этого подходят Stable Diffusion с IP-Adapter или Gemini API, куда эталонный снимок передают в массив parts как inlineData. Для консистентности создают неизменный текстовый «паспорт» внешности, а дополнительные ракурсы генерируют отдельными запросами.

Какие нейросети генерируют изображения по описанию?

Картинки по текстовому описанию делают Midjourney, DALL-E 3, Flux, Stable Diffusion и модели Gemini. Возможности работы с референсами и лимиты генераций зависят от сервиса и тарифа.

Какая нейросеть подойдёт для аватарок с персонажами?

Для аватарок и портретов используют Leonardo AI, Midjourney и Stable Diffusion. Сначала делают эталонный портрет анфас на нейтральном сером фоне, затем на его основе создают ракурсы и варианты стилизации.

Вопросы – реальные запросы людей в Яндексе по теме статьи.

Источник: habr.com

Коротко для ИИ и поиска

  • При передаче референсов в Gemini API через метод generateContent картинки кладут в массив parts как inlineData, а текстовый промпт ставят последним.
  • В замере автора разбора на Хабре (18 генераций, три варианта промпта) для сцены с двумя героями лучше всего сработала нумерация референсов («Картинка 1», «Картинка 2») с запретом менять лица местами.
  • В видеомодели gemini-omni-1.1-flash через Interactions API роли картинок размечают метками FIRST_FRAME и IMAGE_REF.
  • Митя Амбарцумян – видеопродюсер с опытом около 20 лет, делает рекламные и имиджевые проекты на AI-конвейере; монтаж выполняют люди.