Создание качественного изображения с несколькими персонажами в нейросети — это всегда своего рода лотерея, где на кону стоит ваше терпение и время. Многие пользователи, впервые столкнувшись с генерацией парных портретов, испытывают разочарование: нейросеть то и дело «склеивает» тела, путает цвет волос или вовсе выдает близнецов вместо брата и сестры разного возраста. Проблема кроется в том, как алгоритмы распределяют внимание между токенами, ведь для искусственного интеллекта удержать в «голове» два разных набора характеристик одновременно — задача не из лёгких. Но чтобы не ошибиться и получить желаемый результат с первой попытки, нужно понимать механику составления запроса и знать несколько хитростей.
Смешивание образов: почему это происходит?
Сложно ли объяснить машине, что один ребёнок должен быть в синей куртке, а второй в красном платье? На первый взгляд, звучит элементарно. Однако на практике цвета одежды и характеристики внешности имеют свойство «перетекать» с одного объекта на другой. Это явление в среде промпт-инженеров называют «bleeding» (кровотечение токенов). Дело в том, что нейросеть, будь то Midjourney или Stable Diffusion, воспринимает промт как единый контекст. Если вы напишете «мальчик в шляпе и девочка с бантом», есть огромная вероятность увидеть мальчика с бантом или девочку в шляпе. А иногда и обоих в шляпах. Львиная доля успеха здесь зависит от правильной структуры предложения и использования разделителей. Стоит отметить, что современные версии алгоритмов справляются с сепарацией лучше, но контроль со стороны человека всё ещё необходим. Разумеется, полагаться на удачу не стоит.
Структура запроса
С чего начинается построение грамотного промта? С чёткого позиционирования. Вместо простого перечисления «два ребенка играют», лучше сразу задать сцену. Опытные пользователи советую использовать конструкцию: [Общее описание сцены] + [Персонаж А: детали] + [Персонаж Б: детали] + [Окружение] + [Стиль/Технические параметры]. К слову, порядок слов имеет колоссальное значение. То, что стоит в начале, имеет больший вес. Если для вас критически важно, чтобы дети держались за руки, пишите об этом в первых строках. А вот описание погоды или текстуры травы можно смело отправить в конец.
Как разделить персонажей?
Эффективно ли просто ставить запятые? Довольно часто этого недостаточно. В Stable Diffusion, например, спасательным кругом становится функция «BREAK», которая принудительно разрывает потоки внимания. В Midjourney же лучше работают синтаксические конструкции, где описание каждого ребенка максимально изолировано. Один из рабочих методов — дать персонажам имена (даже если они вымышленные) или четкие ролевые обозначения. Например, «старший брат 10 лет» и «младшая сестра 5 лет». Разница в возрасте помогает нейросети понять, что перед ней два разных объекта. Тем более, что алгоритмы обучены на миллионах фотографий, где возрастные маркеры считываются довольно точно.
Фотореализм: примеры сцен
Для тех, кто хочет получить изображение, неотличимое от реальной фотографии, стоит сосредоточиться на деталях освещения и текстурах камеры. Представьте уютную домашнюю сцену. Запрос может звучать так:
Full body shot of two happy children sitting on a fluffy rug in a sunny living room. On the left is a 7-year-old boy with curly red hair wearing a green dinosaur t-shirt, reading a book. On the right is a 4-year-old girl with straight black hair in pigtails wearing a yellow dress, looking at the book with interest. Cinematic lighting, soft shadows, 85mm lens, high realistic texture, photography style –ar 16:9
Обратите внимание, как разнесены описания. Сначала мы задали позицию (слева/справа), затем возраст, и только потом цвет волос и одежду. Это снижает риск смешивания цветов.
Сюжетная динамика: дети в движении
Статика — это надёжно. Но скучно. Куда интереснее выглядят динамичные кадры. Однако здесь всплывут свои подводные камни: чем активнее действие, тем выше шанс получить лишние конечности. Попробуем сгенерировать осеннюю прогулку. Промт:
Action shot of two siblings running through a park with falling autumn leaves. Foreground: a laughing boy in a blue denim jacket chasing a kite. Background: a smiling girl in a beige trench coat clapping her hands. Dynamic motion blur, vivid colors, golden hour sunlight, detailed fabric texture, Canon EOS R5 style
Здесь мы использовали разделение по планам (передний и задний). Это отличный способ заставить ИИ не смешивать персонажей в одну кучу. К тому же, указание конкретных действий («chasing», «clapping») придаёт живости.
Сказочные миры: стилизация
А если хочется чего-то волшебного? Иллюстрации в стиле Pixar или классической живописи требуют иного лексикона. Тут уже не важен объектив камеры, зато важна атмосфера. Пример запроса для создания сказочной открытки:
Two cute children discovering a magical glowing mushroom in an enchanted dark forest. Character 1: a brave little knight boy in silver armor holding a lantern. Character 2: a fairy princess girl in a sparkling pink dress with small wings. Fireflies around, magical atmosphere, soft bioluminescent light, 3D render style, Disney Pixar animation style, vivid colors, high detail
В этом случае слова-маркеры вроде «knight» (рыцарь) и «fairy» (фея) являются сильными якорями. Они тянут за собой целый пласт визуальных ассоциаций, помогая нейросети не перепутать доспехи с платьем.
Взаимодействие персонажей
Самое сложное — заставить детей взаимодействовать друг с другом, а не просто стоять рядом. Объятия, рукопожатия, совместная игра — всё это требует точных формулировок. Нюанс в том, что нейросеть часто пытается слить тела в месте контакта. Чтобы этого избежать, используйте глаголы, подразумевающие дистанцию или четкую границу. Пример промта для совместного творчества:
Two children drawing together on a large white paper sheet on the floor. Top-down view. A boy holding a blue crayon and a girl holding a red crayon. Messy colorful hands, focused expressions, creative chaos around, scattered pencils. Sharp focus on hands and drawings
Вид сверху (Top-down view) — это настоящая изюминка для таких сцен. Он упрощает композицию для алгоритма и позволяет избежать проблем с лицевой геометрией, которая часто страдает при генерации сложных поз.
Работа с цветом и одеждой
Нередко бывает так, что вы просите синюю футболку для мальчика, а получаете синий фон и синие глаза у девочки. Цвет — самый агрессивный токен. Чтобы его усмирить, стоит привязывать цвет к материалу. Не просто «blue shirt», а «denim blue shirt» или «navy cotton texture». Это конкретизирует запрос. Рассмотрим пример городской моды:
Street style photography of two stylish kids leaning against a graffiti wall. Kid A: tall boy wearing a black leather jacket and grey hoody. Kid B: small girl wearing a oversized white knitted sweater and colorful leggings. Urban vibes, overcast lighting, depth of field, fashion editorial look
Уточнение материалов (кожа, вязка) помогает ИИ разграничить объекты не только по цвету, но и по структуре.
Негативный промт: что исключить
Нельзя не упомянуть и о том, что мы не хотим видеть. В поле Negative Prompt (если вы используете Stable Diffusion) или с параметром --no (в Midjourney) стоит добавить список распространённых дефектов. Для изображений с двумя людьми это критически важно. Стандартный набор выглядит так:
fused bodies, mutated hands, extra limbs, missing fingers, two heads on one body, clone, twin, deformed face, bad anatomy
Ну и, конечно же, стоит исключить «grayscale» или «monochrome», если вы добиваетесь ярких красок. Эти слова-обереги творят чудеса, очищая изображение от цифрового мусора.
Ретро-стилистика
Особый интерес вызывает стилизация под старые фотографии. Это скрывает многие огрехи генерации, ведь зернистость плёнки прощает неидеальные черты лица. Запрос может быть таким:
Vintage 1990s polaroid photo of two siblings eating ice cream on a bench. Faded colors, film grain, slight motion blur, authentic retro look. A boy with a messy haircut and a girl with a ribbon. Sunny summer day atmosphere, nostalgic mood
Здесь мы специально не детализируем одежду слишком строго, позволяя нейросети «додумать» образы в рамках стиля эпохи. Результат часто получается удивительно душевным и правдоподобным.
Ошибки новичков
Чего делать точно не стоит? Не перегружайте промт абстрактными понятиями. Слова вроде «любовь», «дружба», «счастье» хороши, но нейросеть понимает их через визуальные штампы — улыбки во весь рот, которые могут выглядеть жутковато. Лучше описывать действие: «смеются», «смотрят друг на друга», «делятся яблоком». Также не стоит писать слишком длинные предложения без знаков препинания. Каша из слов приведет к каше на картинке. И всё же, даже идеальный промт не гарантирует успеха с первого раза. Генерация — это процесс перебора. Иногда приходится нажать кнопку «Generate» десяток раз, чтобы поймать тот самый кадр.
Тонкости освещения
Свет — это кисть, которой рисуется настроение. Для двух детей важно, чтобы освещение было равномерным, иначе лицо одного может оказаться в провальной тени. Используйте проверенные схемы. «Softbox lighting» даст мягкий студийный свет. «Natural window light» создаст уютную домашнюю атмосферу с боковым освещением. Пример для портрета:
Close-up portrait of two sisters with freckles looking at the camera. Cheek to cheek pose. Natural soft window light illuminating their faces equally. High detailed eyes, skin texture, light background. 8k resolution, masterpiece
Слово «equally» (равномерно) здесь играет ключевую роль, подсказывая алгоритму, что оба персонажа главные.
Форматы и соотношение сторон
Не забывайте про технические параметры. Для парных портретов часто лучше подходит горизонтальный формат (16:9 или 3:2), так как он дает больше пространства для размещения двух фигур без их сдавливания. Вертикальный формат (2:3) хорош для ростовых портретов, но там выше риск, что дети будут стоять друг за другом, перекрывая детали. Параметр --ar 3:2 в Midjourney — золотая середина для сюжетных композиций. Ведь именно в таком формате мы привыкли видеть классические фотографии.
Корректировка лиц (Inpainting)
Даже если композиция удалась, лица могут подвести. Глаза смотрят в разные стороны или улыбка выглядит неестественно. Здесь на помощь приходит техника Inpainting (или Vary Region). Суть её в том, чтобы не перегенерировать картинку целиком, а выделить только неудачную область (лицо одного ребенка) и попросить нейросеть перерисовать только её. Это кропотливый, но эффективный метод. Выделяете лицо, пишете в промте уточнение: «highly detailed face, beautiful eyes, smile» и запускаете процесс. Это позволяет довести работу до идеала, сохраняя общую удачную позу и одежду.
Выбор стиля под задачу
Для иллюстрации в детскую книгу подойдет акварель. Промт:
Watercolor illustration of two kids sitting on a crescent moon fishing for stars. Pastel colors, dreamy atmosphere, wet on wet technique, white paper texture background, soft edges. Cute fantasy art
А если нужна обложка для фантастического романа, используйте:
Cyberpunk style, two futuristic children hackers in a neon city alley. Glowing screens, metallic jackets, rain reflection, dark cyan and magenta colors. Unreal Engine 5 render, sharp focus
Разнообразие стилей ограничено лишь вашей фантазией. Но помните, что каждый стиль имеет свои «любимые» композиции, и иногда стоит довериться «вкусу» нейросети.
Итоговый совет
Создание промта для двух персонажей — это всегда баланс между контролем и случайностью. Не бойтесь экспериментировать с порядком слов, меняйте веса (используя синтаксис :: в Midjourney или скобки в SD), добавляйте неожиданные детали. Главное — начинать с простого и усложнять запрос постепенно, шаг за шагом добавляя новые слои описания. Пусть ваши генерации всегда радуют глаз и точно передают задуманные образы, а процесс творчества приносит только удовольствие. Удачи в поисках идеального кадра!