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

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

Разберём, почему простая фраза «swap face» не работает, и как собрать промты для InsightFace, Midjourney и Stable Diffusion, чтобы сохранять идентичность, освещение и текстуру кожи.

InsightFaceMidjourney —crefStable Diffusion ReActorInstantID / IP-Adapter

Замена лица — это не копирование пикселей

Нейросеть не «вставляет» лицо как слой в Фотошопе. Она кодирует идентичность (уникальные векторы признаков: расстояние между глазами, форма скулов, пропорции) и декодирует её на целевую геометрию — позу, ракурс, освещение и выражение донора.

Если промт не управляет этим процессом, возникают три главные проблемы: «плавающая» идентичность (лицо меняется от кадра к кадру), конфликт освещения (тени от исходника накладываются на новую геометрию) и артефакты кожи (перегладженность или шум).

Качественный промт для фейс-свапа — это всегда набор инструкций для трёх этапов: извлечение ID → согласование позы/света → рендер деталей.

Условная схема: энкодер вычленяет идентичность, декодер проецирует её на целевую позу и освещение.

Три основных движка: выбирайте под задачу

InsightFace (Discord)

Самый быстрый старт. Бот в Discord: /saveid → /swapid. Работает с одним лицом на кадре. Идеален для референсов, аватарок, тестов.

  • Нет доступа к промту генерации фона.
  • Ограничен контроль освещения.
  • Лучшее качество 1:1 при хорошем ракурсе.

Midjourney (—cref / —cw)

Генерация новой сцены с переносом характера. Параметр --cref URL загружает референс, --cw 0..100 задаёт силу: 100 — копия образа, 0 — только черты лица.

  • Художественный стиль, любые ракурсы.
  • Не гарантирует пиксель-в-пиксель сходство.
  • Требует подписки, работает через Discord/Web.

Stable Diffusion (ReActor / InstantID)

Полный контроль локально или в облаке (ComfyUI, Automatic1111). ReActor — классика для свапа. InstantID / IP-Adapter FaceID — современный стандарт: передаёт идентичность без обучения LoRA, сохраняет мимику.

  • Параметры: cfg_scale, denoising, restore_face.
  • Поддержка множественных лиц, масок, ControlNet.
  • Выше порог входа, но предел качества выше.

Инструкция: InsightFace — от референса к результату за минуту

1

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

Фото лица в полный фас, ровный свет, нейтральное выражение, разрешение от 512px по большей стороне. Никаких очков, масок, сильного наклона головы. Загружайте через /saveid name:myface.

2

Подготовка донора (Target)

Картинка, куда вставляем лицо. Лучше генерировать её отдельно (MJ, SD) с нужным позом/светом, а потом скармливать боту. Избегайте экстремальных ракурсов (профиль 90°, низкий вверх).

3

Команда свапа

Отправьте фото донора в чат, нажмите правой кнопкой → Apps → Swap Face (или /swapid id:myface). Бот вернёт результат за 10–30 сек.

⚠

Частая ошибка

Пытаться свапнуть на фото с несколькими лицами — бот возьмёт случайное. Решение: кропните донора до одного лица или используйте Stable Diffusion с маской.

Midjourney: параметр —cref и вес характера —cw

Midjourney не делает классический свап. Он генерирует новое изображение, используя референс как «ключ характера». Параметр --cref (Character Reference) принимает URL загруженного фото.

Ключевой регулятор — --cw (Character Weight, 0–100):

  • —cw 100 (по умолчанию): переносит лицо, причёску, одежду, аксессуары. Для портретов «как есть».
  • —cw 50: баланс между личиной и свободой генерации одежды/фона.
  • —cw 0: только черты лица. Идеально для смены образа, позы, эпохи, стиля.

Совет: используйте --sw (Style Weight) вместе с --sref, если нужно совместить личность одного человека со стилем другого референса.

Синтаксис промта для Midjourney v6
/imagine prompt: cinematic portrait of a woman in cyberpunk armor, neon lighting, rain, 85mm lens, f/1.4, highly detailed skin texture --ar 2:3 --stylize 250 --v 6.0 --cref https://cdn.example.com/face_ref.jpg --cw 15

Stable Diffusion: ReActor и InstantID — полный контроль

ReActor Extension (Classic Swap)

Установка: Extensions → Available → Load from → ReActor. Вкладка появляется в txt2img/img2img.

Ключевые настройки:

  • Enable: On
  • Source Image: Загрузите референс лица.
  • Face Model: inswapper_128.onnx (стандарт) или GFPGAN для восстановления.
  • Restore Face: CodeFormer / GFPGAN (видимость 0.5–0.7).
  • Mask Only: Включите, чтобы не трогать фон/волосы.

Работает в режиме img2img: генерируете базу (поза/свет) → включаете ReActor → получаете свап с сохранением композиции.

InstantID / IP-Adapter FaceID (Modern)

Не делает свап пикселей, а внедряет эмбеддинг лица в генерацию через ControlNet. Требует ComfyUI или SD.WebUI с ControlNet + IP-Adapter.

Пайплайн (ComfyUI):

  1. Load Image (Face Ref) → InstantID Face Analysis.
  2. Output → IPAdapter Apply (weight 0.8–1.0).
  3. ControlNet: OpenPose (поза) + Depth/Canny (композиция).
  4. KSampler: CFG 5–7, Steps 25–30, Sampler DPM++ 2M Karras.

Даёт лучшее сходство при смене ракурса/возраста/стиля. Сохраняет мимику донора, если не использовать OpenPose.

Шпаргалка: готовые формулы промтов

InsightFace (Discord)

/saveid name:{{name}}
/swapid id:{{name}}
# Затем прикрепите фото донора

Midjourney v6 (Portret, смена образа)

/imagine prompt: {{описание сцены, стиля, позы, света}}
--ar 2:3 --v 6.0 --stylize 200
--cref {{URL_референса_лица}} --cw 15

SD + ReActor (img2img Swap)

Prompt: {{поза, освещение, окружение}}, raw photo, 8k uhd, skin pores
Negative: blurry, lowres, bad anatomy, deformed face, two faces
ReActor: Source=FaceRef, Model=inswapper_128, Restore=CodeFormer(0.6)

ComfyUI + InstantID (Max Quality)

IPAdapter Weight: 0.9
ControlNet OpenPose: 1.0 (Strength 0.8)
CFG: 6.5 Steps: 30
Sampler: DPM++ 2M Karras
Denoise (img2img): 0.4–0.6

Почему результат выглядит фейково: 5 причин и лекарства

1. Конфликт освещения

Тени на референсе (например, боковое свет) накладываются на ровное лицо донора. Лекарство: выбирайте референс с мягким рассеянным светом (softbox, пасмурный день) или генерируйте донора под тот же свет (в промте укажите rim light, key light left).

2. Расхождение позы и ракурса

Референс — фуллфейс, донор — профиль 3/4. Нейросеть растягивает текстуру. Лекарство: подбирайте референс под ракурс донора или используйте ControlNet OpenPose/Depth в SD для принудительной геометрии. В MJ добавьте в промт profile view или looking at camera.

3. Перегладженность кожи (Wax Look)

Слишком высокий denoising или агрессивный Restore Face стерли поры. Лекарство: в SD: Denoise 0.3–0.5 (img2img), Restore Face visibility 0.4–0.5. В промте: skin texture, pores, peach fuzz, micro details.

4. Цветовой сдвиг кожи

Лицо референса желтее/краснее тела донора. Лекарство: пост-обработка: Color Match (LUT) в Photoshop/DaVinci или нода ColorMatch в ComfyUI. В промте SD: natural skin tone, color balanced.

5. Артефакты у краёв (Seams)

Видна рамка маски свапа. Лекарство: ReActor → Mask Blur: 8–16px, Mask Only: True. В ComfyUI: Grow Mask + Blur Mask перед Apply IPAdapter. Всегда проверяйте на 100% зуме.

Промт — только входная дверь. Качество на выходе — это пайплайн

Нет универсальной фразы, которая заставит любую модель идеально свапнуть лицо. Результат складывается из качества референса (свет, ракурс, разрешение), выбора инструмента под задачу (быстрый тест — InsightFace, художественный образ — MJ, контроль — SD), и пост-обработки (цвет, швы, текстура).

Начните с InsightFace за 30 секунд, чтобы проверить сходство. Если нужно вписать лицо в сложную сцену — собирайте композицию в Midjourney с --cw 15. А для максимального контроля, видео или серийных работ — разверните ComfyUI с InstantID.

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