Как встроить лицо в любой образ: промты, параметры и воркфлоу для стабильного фейс-свапа

Руководство по промптингу

Как встроить лицо в любой образ: промты, параметры и воркфлоу для стабильного фейс-свапа

Разберём четыре основных подхода, дадим готовые шаблоны промтов для Midjourney, Stable Diffusion и DALL·E, покажем, где теряется сходство и как это исправить.

Midjourney Stable Diffusion DALL·E 3 IP-Adapter / LoRA

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

Генеративные модели не «знают» ваше лицо. Они оперируют статистическими паттернами. Когда вы пишете «face of Ivan», модель собирает среднее лицо по всем Иванам в обучающей выборке — не ваше.

Вторая ловушка — конфликт внимания. Промт «portrait of a woman in cyberpunk city, face of [reference]» заставляет модель разделять внимание между средой, освещением, позой и идентичностью. Идентичность проигрывает, потому что пикселей лица — 3–5% кадра.

Вывод: без внешнего механизма привязки идентичности (Reference, IP-Adapter, LoRA, InsightFace) стабильного сходства не получить. Промт только управляет контекстом — освещением, стилем, позой.

Чистый промт
Без привязки — лотерея
—cref / Reference
Midjourney, DALL·E — слабая привязка
IP-Adapter / InsightFace
Сильная привязка, нужен SD
LoRA обученная на лице
Максимальное сходство, требует обучения

Четыре архитектуры привязки лица — что выбрать

Midjourney

Parameter —cref + —cw

Нативный механизм character reference. Работает по URL изображения. Параметр --cw (character weight) 0–100 управляет силой: 100 — лицо+одежда+прическа, 0 — только черты лица.

/imagine portrait of a woman in victorian dress, cinematic lighting —cref https://example.com/face.jpg —cw 45 —ar 2:3 —v 6.1
  • Сработает для «типовика» лица, не для точного сходства
  • Не переносит текстуру кожи, родинки, мимику
  • На фото реализма часто даёт «пластиковое» лицо
DALL·E 3

Reference image в чате

Загружаете фото референса в диалог, пишете: «Use the face from the uploaded image, keep identity, change setting to…». Модель анализирует изображение через vision-энкодер и пытается перенести черты.

[Upload face.jpg] «Generate a cinematic shot of this person as a 1920s detective in a rain-soaked alley, noir lighting, keep facial identity exact.»
  • Понимает контекст и позу лучше MJ
  • Сходство ~60–70% от InsightFace
  • Нельзя контролировать вес признаков отдельно
Stable Diffusion

IP-Adapter FaceID / Plus

Отдельный энкодер (InsightFace) извлекает эмбеддинг лица → передаёт в cross-attention U-Net. Вес ip_adapter_scale 0.5–1.2. Работает с любым чекпоинтом SDXL/1.5.

# ComfyUI / Automatic1111 IP-Adapter: FaceID Plus V2 Scale: 0.85 Start: 0% End: 100% Prompt: portrait, cyberpunk city, neon lights Negative: (deformed face:1.3), asymmetric eyes
  • Сходство 85–95% при хорошем референсе
  • Сохраняет текстуру кожи, волосы, загораемость
  • Требует GPU 8GB+ и настройки ComfyUI/A1111
LoRA (DreamBooth)

Обучение собственной LoRA

15–25 фото человека → обучение LoRA ранг 32–128 на SDXL. Токен-триггер (например, <person_x>) вставляется в промт. Вес LoRA 0.7–1.0.

<person_x> portrait, astronaut on mars, earth rising, highly detailed Steps: 30, CFG: 6.5, Sampler: DPM++ 2M Karras
  • Максимальное сходство, стабильность по ракурсам
  • Работает офлайн, нет ограничений по генерациям
  • Время обучения 20–60 мин, нужен набор фото

Готовые шаблоны промтов — копируйте и адаптируйте

Каждый блок — рабочая формула. Замените части в квадратных скобках на свою задачу. Для Midjourney добавляйте --cref URL --cw N, для SD — подключайте IP-Adapter, для DALL·E — загружайте референс.

Cinematic Portrait

Кинопортрет: свет, текстура, характер

[Subject token] portrait, 85mm f/1.2 , split lighting , subsurface scattering skin , micro skin texture , catchlights in eyes , [mood: contemplative / fierce / gentle] , [environment: dark studio / golden hour / neon] , shot on ARRI Alexa 65 , Kodak Vision3 500T

Ключ: split lighting или Rembrandt lighting раскрывают объём лица и сохраняют узнаваемые плоскости. subsurface scattering заставляет модель рендерить кожу, а не пластик.

Stylized / Art

Стилизация: иллюстрация, 3D, винтаж

[Subject token] , [style: oil painting / 3D Pixar / anime keyframe / collage] , preserve facial proportions , distinctive [jawline / eyes / smile] , [palette: muted earth / vibrant cel / pastel] , masterpiece quality

Ключ: явное указание preserve facial proportions + одна яркая чертка (distinctive jawline) — якорь для IP-Adapter в стиле. Без этого стиль «съедает» лицо.

Full Body / Scene

Полный рост в окружении: поза, камера, контекст

[Subject token] , full body shot , [pose: walking away / sitting on stairs / leaning] , face visible, eye contact , [location: tokyo night / desert dunes / library] , 24mm wide angle , depth of field f/2.8 , environment storytelling

Ключ: face visible, eye contact — принудительный маркер для внимания к лицу. 24mm даёт контекст, но искажает лицо — компенсируйте IP-Adapter scale 0.9–1.1.

Consistency Pack

Серия: один персонаж — разные сцены

[Subject token] , character sheet , multiple poses , front view, 3/4, profile , consistent clothing , [outfit description] , white background , flat lighting , reference sheet style

Ключ: генерируйте character sheet один раз → используйте лучшие кадры как референсы для последующих сцен. flat lighting на сите устраняет конфликт теней.

Воркфлоу: от референса к результату за 5 шагов

1

Подготовка референса

1 фото: лицо фронтом, равномерный свет, без очков, маски, сильных теней. Разрешение 512×512+. Для LoRA — 15–25 фото разных ракурсов.

2

Выбор инструмента

Быстрый тест → MJ —cref / DALL·E. Серия / контроль → SD + IP-Adapter FaceID. Макс. качество → обучение LoRA (15 мин на 3080/4090).

3

Сборка промта

Возьмите шаблон из раздела выше. Добавьте: lighting, lens, film stock, negative prompt (deformed face, asymmetry, extra fingers).

4

Итерация весов

IP-Adapter scale: старт 0.7 → поднимайте до 1.1, пока лицо не «перегорит». MJ —cw: 30–50 для свободы позы, 80–100 для копии лука.

5

Фиксация и апскейл

Выбирайте лучший seed. Апскейл 2× через 4x-UltraSharp или FaceRestoration (CodeFormer/GFPGAN) — возвращает текстуру кожи, потерянную при апскейле.

Мифы, которые едят время и генерации

Миф

«Если написать «exact likeness» или «identical face», модель точно скопирует лицо»

Реальность

Текстовые токены не кодируют идентичность. Без визуального референса (IP-Adapter, —cref, LoRA) модель генерирует «типовой красивый человек».

Миф

«Один хороший референс достаточно для любой позы и ракурса»

Реальность

IP-Adapter опирается на эмбеддинг одного ракурса. В профиль или с верха сходство падает. Решение: character sheet (шаг 5 воркфлоу) или мультивью-референсы.

Миф

«Чем выше вес IP-Adapter / —cw, тем лучше сходство»

Реальность

Слишком высокий вес «запекает» освещение и текстуру референса на новое лицо — получается маска. Ищите sweet spot: 0.75–0.95 для IP-Adapter, 35–55 для —cw.

Миф

«DALL·E 3 не умеет делать фейс-свап, только Midjourney и SD»

Реальность

DALL·E 3 через vision-энкодер понимает загруженное лицо и переносит черты в контексте промта. Сходство ниже, чем у IP-Adapter, но для быстрых концептов и итераций по позе — рабочий инструмент без настройки SD.

Чек-лист диагностики: почему лицо не похоже

Лицо «поплыло» к середине генерации

IP-Adapter start_at > 0% — включите с первого шага (start 0%, end 100%).

Глаза разного размера / асимметрия

Negative: (asymmetric eyes:1.3), (uneven pupils:1.2). Добавьте ControlNet OpenPose (face only).

Кожа как воск / пластик

В промте нет micro skin texture, subsurface scattering, pore detail. Добавьте — модель вернёт микрорельеф.

Окружение «съело» лицо (темнота, неон)

Поднимите вес IP-Adapter на 0.1–0.15. Добавьте key light on face, rim light в промт. Разделите генерацию: сначала лицо (crop), потом inpaint в сцену.

Волосы/борода не совпадают с референсом

IP-Adapter FaceID не контролирует прическу. Используйте IP-Adapter Plus (image prompt) параллельно с FaceID, или LoRA, обученная на фото с этой причёской.

Возраст лица не тот

В промте укажите [age: 28yo] или [age: 45yo, subtle laugh lines]. Модель интерполирует возраст из латентного пространства, а не из референса.

Готовые блоки для копирования — вставьте в свой промт

Соберите промт как конструктор: Subject token + Lighting block + Lens/Film block + Style block + Negative block.

Lighting presets

// cinematic key light, fill -2EV, rim light// golden hour backlight, lens flare, warm skin tones// studio beauty lighting, ringlight catchlights, soft shadows// noir: venetian blind shadows, high contrast, single source// neon cyberpunk: RGB rim, volumetric fog, reflective skin

Lens / Film presets

// 85mm f/1.2, shallow DOF, creamy bokeh// 35mm f/1.4, environmental portrait, sharp corners// 24mm wide, close to face, slight distortion for drama// Kodak Portra 400, natural skin, fine grain// Cinestill 800T, halation, night tungsten mood

Negative prompt (универсальный)

(deformed face:1.4), (asymmetric face:1.3), (bad anatomy:1.2), (extra fingers:1.3), (missing fingers:1.2), (mutated hands:1.3), (plastic skin:1.2), (airbrushed:1.1), (blurry:1.2), (low quality:1.3), (jpeg artifacts:1.1), (watermark:1.2), (text:1.1), (signature:1.1), (username:1.1), (cropped head:1.2), (malformed ears:1.2), (cross-eyed:1.3), (uneven pupils:1.3)

Identity anchors (добавляйте 1–2)

// distinctive [jawline / nose bridge / eye shape / smile line]// freckles across nose, natural skin texture// scar above left eyebrow, character detail// asymmetric smile, dimple on right cheek// hooded eyes, thick arched eyebrows

Промт — только навигатор. Привязка — в инструменте.

Ни один текст не заставит модель «помнить» лицо. Промт задаёт свет, ракурс, стиль, позу, атмосферу. Идентичность даёт только визуальный референс через IP-Adapter, —cref, загруженное изображение в DALL·E или обученная LoRA. Выбирайте инструмент под задачу: скорость — MJ/DALL·E, контроль — SD + IP-Adapter, максимальное сходство — своя LoRA.

Промт = Контекст
Референс = Идентичность
Вместе = Результат