Почему запрос срабатывает как ошибка
Любая крупная генеративная модель (Midjourney v6, DALL·E 3, SDXL с базовыми чекпойнтами) проходит этап pós-обучения: RLHF и флагирование безопасности. Классификаторы ищут паттерны «nudity», «sexual content», «minor safety». Фраза «remove swimsuit», «take off bikini», «naked» триггерит отказ ещё до рендера.
Это не цензура за цензурой. Платформы несут юридическую ответственность за deepfake-порнографию (non-consensual intimate imagery). В ЕС, UK и штатах США законы квалифицируют создание и распространение таких материалов как преступление. Фильтры — это щит платформы и пользователя от рисков.
Важно: Попытки обхода (джейлбрейки, кодированные промты, ControlNet с эталоном наготы) ведут к бану аккаунта и, в ряде юрисдикций, к ответственности за создание НЦИИ.
Как работает инпейнинг: маска — это закон
Модель не «убирает» пиксели. Она перерисовывает выделенную область, опираясь на контекст окружения и текстовый промт. Без точной маски результат — артефакты.
1. Сегментация и маска
Авто-сегментация (SAM, Grounding DINO) или ручная кисть в WebUI/ComfyUI. Маска должна захватывать купальник + 10-15% кожи вокруг для плавного перехода. Жёсткий край маски = жёсткий край артефакта.
2. Denoising Strength (Сила шума)
0.6–0.85 для смены одежды. Ниже 0.5 — остаются призраки старого купальника. Выше 0.9 — теряется поза, свет, текстура кожи. Для SDXL оптимум ~0.75 с 25-30 шагами DPM++ 2M Karras.
3. Контекст и ControlNet
ControlNet OpenPose / Depth / Canny фиксирует позу и геометрию тела. Без него модель может «сломать» талию, плечи или длину рук при генерации нового контента под маской.
4. Промт замены, а не удаления
Промт должен описывать что появится: «elegant silk evening dress, deep v-neck, fitted waist», «white linen oversized shirt, rolled sleeves». Негативный промт: «swimsuit, bikini, straps, tan lines, watermark, low quality».
Готовые формулы промтов для смены пляжного образа (Virtual Try-On)
# Positive Prompt (SDXL / Pony / Flux) professional fashion photography, a young woman standing on beach at golden hour, wearing elegant white linen sundress, deep v-neck, fitted waist, flowing skirt, natural skin texture, freckles, wet hair, soft cinematic lighting, 85mm lens, f/1.8, high resolution, 8k, raw photo # Negative Prompt swimsuit, bikini, bathing suit, straps, tan lines, tanlines, nudity, naked, nude, deformed body, bad anatomy, extra limbs, blurry, low quality, jpeg artifacts, watermark, text, signature
# DALL·E 3 / Midjourney v6 (Natural Language) A photorealistic shot of a woman on a sunny beach, previously wearing a bikini, now dressed in a stylish high-waisted bikini bottom and a sheer crochet cover-up top, intricate knit pattern, boho style, golden hour sunlight, Canon EOS R5, 50mm f/1.2, hyperrealistic, skin pores visible --ar 2:3 --stylize 250 --v 6.0 # Midjourney --no parameter --no swimsuit, bikini, nudity, naked, skin exposure, tan lines, straps, watermark, blurry, cartoon, illustration
Параметры генерации: Steps: 25-30 | Sampler: DPM++ 2M Karras / Euler a | CFG: 5-7 (SDXL), 2-4 (Flux) | Resolution: 1024×1536 (portrait) | Mask blur: 4-8px | Inpaint area: «Only masked» | Resize mode: «Just resize».
Что разрешают инструменты, а что блокируют навсегда
| Сценарий | Midjourney / DALL·E 3 | Stable Diffusion (Local) | Adobe Firefly / Generative Fill |
|---|---|---|---|
| Смена купальника на платье/рубашку | ✅ Работает отлично | ✅ Полный контроль | ✅ Нативная фича |
| Удаление купальника → кожа (нагота) | 🚫 Hard Block (Policy) | ⚠️ Зависит от чекпойнта (Base/Refiner блокируют, Uncensored — нет) | 🚫 Строгий фильтр |
| Удаление постороннего предмета (бутылка, полотенце) | ✅ Работает | ✅ Работает | ✅ Лучший в классе |
| Изменение позы / ракурса в инпейнинге | ⚠️ Очень слабо (нет ControlNet) | ✅ ControlNet OpenPose/Depth | ⚠️ Ограничено |
| Генерация реалистичных лиц известных людей | 🚫 Block (Likeness Policy) | ⚠️ Этика на совести юзера | 🚫 Block |
* Таблица отражает политики на момент обучения моделей. Правила ужесточаются. Локальный SD даёт свободу, но перекладывает ответственность на пользователя.
Типичные артефакты и как их лечить
«Призрачный купальник»
Контуры старого купальника просвечивают под новой тканью.
Лечение: Denoising 0.75+, расширить маску на 20px, добавить в негатив: «swimsuit outline, straps, elastic band».
Искажённая анатомия
Талия сузилась до нереальной, рука ушла за пределы кадра, шея удлинилась.
Лечение: ControlNet OpenPose (weight 1.0) + Depth (weight 0.5). Промт: «correct anatomy, natural proportions».
Несовпадение света и тени
Новое платье светится так, будто источник света другой, чем на фоне/лице.
Лечение: ControlNet Depth/Normal map. Промт: «consistent lighting, global illumination, matching shadows».
Текстура кожи «пластик»
Кожа в зоне маски стала глянцевой, без пор, vermoхов, текстуры.
Лечение: Добавить в промт «skin texture, pores, peach fuzz, subcutaneous details». Использовать LoRA «Skin Texture» / «Realistic Skin».