Промт для внедрения персонажа в чужую сцену: от хаоса к контролируемому результату

Промт для внедрения персонажа в чужую сцену: от хаоса к контролируемому результату

Главная сложность — не «вырезать» фигуру, а согласовать освещение, перспективу и материальность. Разбираем логику промтов для Midjourney, Stable Diffusion и DALL·E 3, чтобы персонаж жил в новой среде, а не клеился поверх.

Identity LockLighting MatchPerspective SyncSeamless Blend

Почему «просто вставить» не работает

Генератор не видит «слои». Он видит пиксели. Если в исходнике человек освещён сбоку мягким светом, а фон — яркий полдень с резкими тенями, модель либо перерисует человека под фон (теряя лиčnostь), либо оставит его «липким» наложением.

Три главных врага реалистичности:

  • Светонесовместимость: разные источники, температура, жесткость теней.
  • Геометрический конфликт: горизонт камеры, фокусное расстояние, наклон головы не совпадают с линией горизонта фона.
  • Дрифт идентичности: модель «улучшает» лицо под статистику обучающей выборки, стирая уникальные черты.

Инструменты: четыре подхода к одной задаче

Midjourney v6 / Niji

Работает через параметры --cref (Character Reference) и --cw (Character Weight). Лучший баланс скорости и качества лица.

Ключ: URL фото человека + описательный промт сцены + --cw 100 (лицо+одежда) или --cw 0 (только лицо).

Stable Diffusion XL + IP-Adapter / ControlNet

Полный контроль. IP-Adapter FaceID / PlusV2 передаёт эмбеддинг лица. ControlNet (Depth, Canny, OpenPose) закрепляет позу и глубину. Inpainting маской швов финиширует результат.

Ключ: Weight 0.8-1.0 для IP-Adapter, ControlNet Strength 0.6-0.8 для позы.

DALL·E 3 / ChatGPT + Inpainting

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

Ключ: Детальное текстовое описание фенотипа (не «красивый мужчина», а «мужчина 35 лет, скулы высокие, шрам над бровью…»).

Специализированные свапперы (InsightFace, FaceFusion, ReActor)

Не генерация, а замена пикселей лица на сгенерированном кадре. Дают 100% сходство, но требуют готового кадра с правильной позой/освещением. Часто финальный шаг в пайплайне SD/MJ.

Ключ: Генерация «донорского» тела в нужной позе → Face Swap → Color Match / Relight.

Анатомия рабочего промта

Промт — это не описание картинки, а техническое задание рендеру. Порядок токенов важен:’identчность → сцена → оптика → свет → стиль → технические параметры.

/imagine prompt: https://example.com/person.jpg —cref # Сцена и позы (на английском): a person standing on a rain-slick neon street in Tokyo at night, wearing oversized beige trench coat, hands in pockets, head tilted slightly down, thoughtful expression, # Оптика и камера: shot on 35mm lens, f/1.8, shallow depth of field, camera height at chest level, slight low angle, # Свет (критично совпадать с донором!): cinematic rim light from left neon sign, cool blue fill from shop windows, subsurface scattering on skin, wet skin texture, # Стиль и качество: hyperrealistic, 8k, raw photo, film grain, Kodak Portra 400, —cw 100 —ar 16:9 —stylize 250 —v 6.0

Чек-лист токенов

  • URL донора (первым)
  • Поза / действие (standing, sitting, walking)
  • Одежда / атрибуты (если —cw 100)
  • Окружение (location, weather, time)
  • Источник света (direction, color, hardness)
  • Оптика (lens, aperture, height)
  • Параметры модели (—cw, —ar, —stylize)

Сравнение стратегий: слабый vs сильный промт

Слабый промт (наивный)

person from photo inserted into forest, realistic, 8k
  • Нет референса личности (—cref / IP-Adapter) — лицо будет случайным.
  • Нет описания позы — модель «придумает» позу, часто неанатомичную.
  • Нет света — лес даёт рассеянный зелёный свет, лицо станет зеленоватым.
  • Нет оптики — перспектива лица не совпадёт с перспективой леса.

Сильный промт (технический)

URL_person —cref woman standing in misty pine forest, early morning wearing same olive jacket as in ref, hood up turned 3/4 profile, gaze at camera 35mm lens, f/2.0, camera at eye level volumetric fog, soft directional sunlight from top-left catchlights in eyes matching sun position skin tones warm, subsurface scattering hyperrealistic, shot on Sony A7R IV, 8k —cw 85 —ar 2:3 —stylize 200 —v 6.0
  • —cref + URL блокирует идентичность.
  • Поза + ракурс (3/4 profile, eye level) синхронизирует геометрию.
  • Свет (top-left, warm) задаёт тени на лице заранее.
  • —cw 85 оставляет свободу для капюшона/одежды, но держит лицо.

Практический пайплайн: от фото к результату за 4 итерации

1

Подготовка донора

Выберите фото: лицо в полную/3/4, равномерный свет, высокое разрешение. Обрежьте до квадрата 1:1. Уберите фон (прозрачность не нужна для MJ, но полезна для SD Inpainting).

2

Базовая генерация сцены

Сгенерируйте фон/сцену БЕЗ персонажа. Зафиксируйте seed, композицию, свет. В MJ используйте —no people. В SD — txt2img с ControlNet Depth от эскиза композиции.

3

Внедрение (Inpainting / CREF)

MJ: Vary Region (область фигуры) + промт с —cref URL. SD: Inpainting маской фигуры + IP-Adapter FaceID + ControlNet OpenPose от желаемой позы. DALL·E: Selection tool + промт с описанием лица.

4

Пост-обработка швов

Color Match (Curves / Match Color в PS) для согласования тонов кожи и окружения. Генеративная заливка (Generative Fill) по контуру 5-10px для стирания «обводки». Добавить зернистость / хроматическую аберрацию единообразно.

Три подводных камня, которые игнорируют новички

Парадокс —cw / Weight

Высокий вес (100 / 1.0) замораживает не только лицо, но и одежду, причёску, даже позу донора. Персонаж в пальто не сможет надеть купальник. Решение: генерируйте в два прохода — лицо на высоком весе, затем Inpainting зоны тела на низком весе (—cw 0-20 / Weight 0.3) с промтом одежды.

Игнорирование высоты камеры

Если донор снят снизу (героический ракурс), а сцена генерации подразумевает камеру на уровне глаз — шея вытянется или сожмётся неестественно. Всегда прописывайте camera height (eye level, chest level, low angle) и lens (24mm, 35mm, 85mm) явно.

Цветовые контаминации окружения

Красный кирпичный стене отразится на щеках. Неоновый знак окрасит волосы в синий. Промт должен содержать reflected light / color bounce от фона. В SD используйте ControlNet Tile / Depth + IP-Adapter с низкой силой (0.3-0.4) на проходе релайтинга, чтобы запечь отражения в геометрию лица.

Главный сдвиг мышления

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

Pose VectorLight VectorOptics VectorIdentity Anchor