Промт для замены лица: структура запроса, параметры и примеры для точного результата

Промт для замены лица: структура запроса, параметры и примеры для точного результата

Почему «swap face» не работает, как собрать промт-формулу под Midjourney, Stable Diffusion и InsightFace, и какие веса решают схожесть.

Midjourney — —cref / —cw Stable Diffusion — ReActor / InstantID Мобильные приложения

Большинство промаков вводит «replace face with photo of John» и получает набор пикселей, похожий на личность только по цвете кожи. Промт для фейс-свапа — это не заклинание, а техническое задание для латентного пространства. Он должен описать три вектора: идентичность, сцену и ограничения. Пропуск любого вектора даёт артефакты: чужую текстуру кожи, несовпадение ракурса или потерю мимики.

Анатомия рабочего промта: четыре слоя

1. Якорь идентичности (Reference)

Ссылка на изображение-донор. В MJ — параметр --cref URL. В SD — загрузка в ControlNet (IP-Adapter / InstantID) или ReActor. Качество донора решает 60% результата: ровный свет, анфас, без очков и волос на лице.

2. Описание целевой сцены (Target Prompt)

Текстовая часть промта: окружение, освещение, ракурс, стиль, одежда. Должен совпадать с геометрией донора. Если донор — портрет анфас, а промт просит «profile view looking up», модель деформирует череп. Пишите: lighting, angle, focal length, style.

3. Вес идентичности (Weight / Strength)

Параметр, балансирующий схожесть и подчиненность сцене. MJ: --cw 0..100 (0 — только черты, 100 — прическа/одежда донора). SD (InstantID/IP-Adapter): scale 0.5..1.5. ReActor: face restore strength. Начинайте с середины диапазона.

4. Негатив и технические фиксы

Обязательный блок: deformed face, asymmetrical eyes, bad anatomy, double face, blur, lowres, watermark, text, signature. Для SD добавляйте embedding EasyNegative или face_negative. В MJ — --no не работает с —cref, чистим инпейном.

Инструменты требуют разный синтаксис: Versus

Midjourney v6

  • ▸ Параметр —cref URL (ссылка на донора)
  • ▸ Вес —cw 0–100 (по умолчанию 100)
  • ▸ Промт описывает только сцену, не лицо
  • ▸ Не поддерживает множественную замену в одном кадре

Stable Diffusion (ReActor / InstantID)

  • ▸ ReActor: расширение, замена «в один клик» внутри img2img
  • ▸ InstantID / IP-Adapter: ControlNet 유닛, нужен предобработчик face_analysis
  • ▸ Позволяет несколько лиц (multi-face), разные доноры
  • ▸ Гибкий контроль: scale, steps, restore model (CodeFormer/GFPGAN)

Мобильные / Веб-сервисы (Remaker, FaceSwapper, Pica AI)

  • ▸ Нет текстового промта: загрузка двух фото → кнопка «Swap»
  • ▸ Ограниченный контроль: только авто-выравнивание и блендинг
  • ▸ Подходит для быстрых мемов/аватарок, не для продакшена
  • ▸ Часто вставляют водяные знаки или сжимают до 512px

Рабочий процесс в Stable Diffusion (ReActor / InstantID)

1

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

Кроп 1:1, 1024×1024, четкий фокус на глазах, нейтральный фон. Сохранить как PNG.

2

Загрузка в ControlNet

Вкладка ControlNet → Enable → Preprocessor: face_analysis (InstantID) или None (ReActor). Model: ip-adapter-instant-id_sdxl или reactor.

3

Промт сцены (Positive)

Описание цели: «cinematic shot, woman in cyberpunk armor, neon lights, 85mm f/1.4, volumetric lighting, 8k». Без упоминания лица.

4

Настройка весов

InstantID: Scale 0.8–1.0, Control Weight 1.0. ReActor: Denoising 0.3–0.5, Restore Face: CodeFormer. Negative prompt — обязателен.

5

Генерация и фикс

Batch 4–8. Выбрать лучшую геометрию. Инпейн глаз/рта при артефактах. Апскейл 2x (4x-UltraSharp).

Ситуативные шаблоны: «Если… то…»

Групповое фото

Нужно заменить только одного

В ReActor: включите «Multiple Faces» и укажите Face Index (0 — самый большой, 1 — следующий). В InstantID — маскируйте область в ControlNet (Inpaint Mask). Промт пишите общий для кадра.

Стилизация под арт

Оil painting, anime, 3D render

Снижайте вес идентичности: MJ —cw 20–40, SD InstantID Scale 0.5–0.7. Добавляйте в промт стиль: «oil painting, impasto, visible brushstrokes» или «anime style, cel shaded, key visual». Лицо адаптируется под текстуру.

Экстремальный ракурс

Профиль, низкий/высокий угол

Донор должен иметь похожий ракурс — иначе модель галлюцинирует череп. Если донора нет: в промт цели добавляйте «extreme low angle», «side profile», «looking up» и готовьтесь к инпейну. InstantID лучше держит геометрию при сильных углах, чем ReActor.

Смена возраста/пола

Сохранить личность, изменить демографию

Используйте промт-директивы: «elderly version, wrinkles, gray hair» или «young adult, smooth skin». Вес идентичности держите высоким (MJ —cw 80+, SD Scale 1.0+), иначе потеряется личность. Работает лучше на SD с InstantID.

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

--cref https://domain.com/donor.jpg --cw 60 --ar 16:9 --v 6.0 --style raw
cinematic portrait, woman in tactical gear, rain-soaked neon alley, volumetric fog, 85mm lens, f/1.8, hyperrealistic, 8k, highly detailed skin texture, catchlights in eyes --no deformed face, asymmetry, blur, lowres, watermark, text, extra fingers, mutated hands

Midjourney v6 Template

Positive:
(masterpiece, best quality, ultra-detailed:1.2), 1girl, solo, cyberpunk cityscape background, neon signs reflection on skin, intricate mechanical armor, dramatic rim lighting, volumetric rays, 8k uhd, dslr, raw photo, film grain

Negative:
(easynegative:1.2), (badhandv4:1.2), (face_negative:1.2), deformed face, asymmetrical eyes, bad anatomy, double face, blurry, lowres, watermark, text, signature, ugly, duplicate, morbid, mutilated, extra limbs

Steps: 25, Sampler: DPM++ 2M Karras, CFG: 6, Size: 1024x1024
ControlNet Unit 0: InstantID, Preprocessor: face_analysis, Model: ip-adapter-instant-id_sdxl, Weight: 0.9, Guidance: 1.0
ReActor: Enabled, Model: inswapper_128.onnx, Restore Face: CodeFormer, Visibility: 1.0

Stable Diffusion XL + InstantID / ReActor

Типичные сбои и быстрая диагностика

Чужое лицо на чужой голове

Вес идентичности слишком низкий. Поднимите —cw или Scale. Проверьте, что донор не обрезан.

Лицо «плавает» / меняется от генерации к генерации

Плохой донор (плохой свет, ракурс, сжатие). Нужен качественный референс. В SD включите ControlNet OpenPose параллельно для фиксации позы головы.

Текстура кожи не совпадает с телом

Проблема блендинга. В SD: увеличьте Denoising strength в ReActor (0.4–0.6) или используйте инпейн маску шеи/ушей. В MJ — только вариации + инпейн в редакторе.

Артефакты у глаз / рта (зрачки, зубы)

Стандартная проблема диффузии. Лечится точечным инпейном (Inpaint mask only eyes/mouth) с тем же промтом и Denoising 0.3. CodeFormer/GFPGAN в post-processing помогает, но может «перегладеть».

Промт не меняет лицо. Промт выравнивает латентные коды.

Качество фейс-свапа определяется не количеством слов в запросе, а точностью соответствия трёх векторов: референс донора, геометрия целевого кадра и вес ограничений. Инструменты меняются (сегодня InstantID, завтра — следующий SOTA), но принцип остаётся: чистый донор + точная сцена + калиброванный вес = предсказуемый результат. Остальное — инпейн и терпение.

Читайте донор, а не промт Калибруйте вес под задачу