Два персонажа в одном кадре — задача, на которой генераторы изображений чаще всего теряют контроль. Модель не оперирует понятиями «персонаж А» и «персонаж Б»: для неё это единый поток токенов, в котором прилагательное от одного героя легко прилипает к другому. Ниже разобрана механика этого сбоя и собраны приёмы, дающие очень строгое разделение образов без взаимного смешивания.
Базовый принцип: чем дальше друг от друга расположены описания персонажей в промте и чем жёстче каждый из них привязан к своей зоне кадра, тем ниже вероятность смешивания. Все остальные приёмы — вариации этого правила.
Почему два персонажа превращаются в одного
Смешивание — не случайность, а прямое следствие четырёх механик, которые работают одновременно.
Все токены промта конкурируют за одно и то же внимание модели. Чем ближе стоят описания, тем сильнее они взаимно влияют.
Деталь вроде цвета волос или плаща не имеет адреса. Модель сама решает, кому её отдать, и часто отдаёт обоим.
Слова «рядом», «около», «неподалёку» не задают зону. Герои оказываются в одной точке и усредняются.
Кадр строится участками. Там, где зоны соприкасаются, признаки двух фигур взаимно проникают друг в друга.
Скелет промта со строгим разделением
Рабочая схема строится не как перечисление, а как последовательность изолированных блоков. Каждый персонаж получает собственный блок и собственный якорь-имя, которое повторяется внутри этого блока.
общий стиль, локация, время суток, свет, камера, качество
BREAK
БЛОК A — ПЕРСОНАЖ_A
ПЕРСОНАЖ_A: внешность, одежда, поза, зона кадра (левая треть, передний план)
BREAK
БЛОК B — ПЕРСОНАЖ_B
ПЕРСОНАЖ_B: внешность, одежда, поза, зона кадра (правая треть, задний план)
BREAK
БЛОК C — СВЯЗКА
взаимодействие фигур, фон, глубина резкости, детализация
Вместо BREAK может использоваться любой разделитель, который модель трактует как границу смысловых фрагментов, — например AND или символ вертикальной черты. Логика от этого не меняется: один фрагмент — один персонаж.
| Нужно | Нежелательно |
|---|---|
| Единый якорь-имя для каждого героя, повторяемый в его блоке | Местоимения: «он», «она», «второй», «оба» |
| Отдельный блок промта на каждого персонажа | Один длинный список деталей через запятую на двоих |
| Явная зона кадра: левая треть, правая треть, передний план | Абстрактные уточнения: «рядом», «около», «неподалёку» |
| Неповторяющиеся, уникальные атрибуты у каждого героя | Общие признаки: оба в плащах, оба блондины, оба в очках |
| Закреплённый порядок описания: сначала А, затем Б | Перемешивание деталей: одежда А внутри описания Б |
Четыре способа разделения: сравнение по строгости
| Способ | Как работает | Строгость разделения | Трудоёмкость |
|---|---|---|---|
| Один блок с разделителями | Фрагменты промта обрабатываются как отдельные смысловые единицы | Средняя | Низкая |
| Блоки плюс зоны кадра | Каждому герою задаётся собственная область композиции | Высокая | Низкая |
| Региональные маски | Промт А применяется только к маске А, промт Б — только к маске Б | Очень высокая | Средняя |
| Последовательная сборка | Сначала фон, затем персонаж А в своей маске, затем персонаж Б в своей | Максимальная | Высокая |
Шкала строгости разделения
Наглядно: как растёт изоляция персонажей при переходе от простого перечисления к поочерёдной сборке кадра.
Пошаговый алгоритм
Определить, кто главный герой, кто второстепенный, что делает каждый и где находится.
Любое пересечение — цвет, ткань, причёска, аксессуар — устраняется на этом шаге, до генерации.
Левая треть, правая треть, передний или задний план. Зоны не должны перекрываться.
Один фрагмент между разделителями — один герой. Внутри фрагмента имя-якорь повторяется.
Запретить гибридные фигуры, удвоенные конечности, усреднённые лица, слитые силуэты.
Поменять блоки персонажей местами. Если изменилась композиция, а не герои, — разделение слабое.
Если смешивание осталось — рисовать фон, затем каждого героя в отдельной области, а на финале только сшивать слои.
Частые ошибки и их последствия
| Ошибка | Что видно в кадре | Как исправить |
|---|---|---|
| Общие прилагательные у двух героев | Признак достаётся случайному персонажу или обоим сразу | Сделать наборы атрибутов неповторяющимися |
| Нет пространственной привязки | Фигуры стоят в одной точке и усредняются | Задать левую и правую треть, передний и задний план |
| Один блок промта на двоих | Токены сливаются в общее описание без адресата | Разбить промт на блоки через разделители |
| Местоимения вместо якорей | Непонятно, к кому относится деталь | Повторять имя-якорь внутри каждого блока |
| Нет запрета на слияние | Гибридные лица, лишние конечности, общие силуэты | Добавить негативный промт против слияния и дублей |
| Избыточная плотность деталей | Приоритеты теряются, всё усредняется в кашу | Сократить описания и усилить вес ключевых признаков |
Чек-лист перед запуском генерации
Каждый персонаж назван одним и тем же якорем во всех своих блоках
Пересекающихся атрибутов нет ни одного
У каждого героя указана своя зона кадра, зоны не перекрываются
Персонажи разведены по отдельным блокам промта
Негативный промт содержит запрет на слияние, гибриды и дублирование фигур
Проведён тест подмены блоков персонажей местами
При остаточном смешивании включены региональные маски или поочерёдная сборка
Итог
Строгое разделение двух персонажей держится на трёх опорах: изолированные блоки промта, неповторяющиеся атрибуты и жёсткая привязка каждого героя к своей зоне кадра. Пока этих опор достаточно, справляется и сам текст промта. Как только персонажи начинают пересекаться в общих признаках или делить одну область композиции, единственный надёжный путь — развести их по маскам и собирать изображение по шагам.
Проверка качества разделения проста: если при перестановке описаний меняются именно герои, а композиция остаётся на месте — промт разделяет их строго. Если же меняется вся сцена целиком, признаки всё ещё смешаны, и промт требует пересборки.