Inpaint в нейросети – это дорисовка или перерисовка только выделенной части изображения, без затрагивания остального кадра. Ты закрашиваешь маской область, которую хочешь изменить, и нейросеть генерирует новое содержимое только внутри маски, аккуратно вписывая его в окружение. Это главный инструмент для правок: починить руки, поменять одежду на своей генерации, убрать лишний объект или дорисовать недостающее, не пересоздавая всю картинку.
Если у тебя ещё нет картинки для правок, собери базовую генерацию в бесплатном браузерном генераторе, а потом доводи её inpaint в Forge или ComfyUI.
Что такое inpaint и зачем он нужен
Обычная генерация (txt2img) создаёт всё изображение с нуля. Inpaint работает иначе: он берёт готовую картинку, оставляет нетронутым всё кроме маски и перерисовывает только замаскированную зону по твоему промпту. Остальные пиксели сохраняются точь-в-точь.
Это решает задачи, которые невозможно или дорого делать полной перегенерацией:
- Починить детали. Кривые пальцы, лишний сосок, странный глаз, артефакт на коже. Маскируешь проблему – и перерисовываешь только её.
- Заменить часть. Поменять одежду, причёску, фон, выражение лица, не трогая всё остальное.
- Дорисовать недостающее. Добавить элемент, которого не было: украшение, татуировку, деталь сцены.
- Убрать лишнее. Закрасить нежелательный объект, и нейросеть достроит фон на его месте.
- Раздеть собственную генерацию. На своих синтетических персонажах inpaint позволяет переработать одежду, заменив её на тело, генерируя новое содержимое строго в зоне маски.
Inpaint – это разница между “генерация почти получилась” и “генерация готова”. Большая часть финишной доводки в NSFW-пайплайне делается именно здесь. Связку генерации и правок удобно строить, начав с генератора прямо в браузере и докручивая результат локально.
Как работают маски
Маска – это чёрно-белый слой поверх картинки. Белое (закрашенное) – зона, которую нейросеть перерисует. Чёрное – то, что останется без изменений. Всё, что ты рисуешь кистью, становится белой маской.
Ключевые понятия:
- Mask blur (размытие маски). Сглаживает край маски, чтобы новое содержимое плавно сливалось со старым. Слишком жёсткий край = видимый шов. Обычно 4 – 8 пикселей.
- Mask mode (режим маски). Inpaint masked – перерисовывает то, что под кистью. Inpaint not masked – наоборот, перерисовывает всё кроме маски.
- Masked content (содержимое под маской). Чем заполнить область перед генерацией: original (взять исходные пиксели как основу), fill (залить усреднённым цветом), latent noise (заполнить шумом), latent nothing (пусто). Для лёгких правок берут original, для радикальной замены – latent noise.
Denoising strength: главная настройка inpaint
Denoising strength (сила шумоподавления, она же сила денойза) определяет, насколько сильно нейросеть изменит замаскированную область. Это самый важный параметр inpaint.
- 0.0 – 0.3. Минимальные изменения. Картинка под маской почти не меняется. Подходит для лёгкой чистки артефактов и текстур.
- 0.4 – 0.6. Умеренные правки. Можно поправить форму, убрать дефект, слегка изменить деталь, сохранив композицию. Рабочий диапазон для большинства задач.
- 0.7 – 0.85. Сильные изменения. Заменяешь содержимое заметно: другая одежда, другая поза части тела, новый объект.
- 0.9 – 1.0. Полная перегенерация области. Нейросеть игнорирует исходные пиксели и рисует с нуля по промпту. Риск, что новое не свяжется с окружением.
Правило простое: начинай с низкого денойза и повышай, пока не получишь нужную степень изменения. Высокий денойз даёт больше свободы, но и больше швов и несовпадений.
| Задача | Denoising strength | Masked content |
|---|---|---|
| Убрать мелкий артефакт | 0.2 – 0.3 | original |
| Починить руку или глаз | 0.4 – 0.6 | original |
| Заменить одежду | 0.7 – 0.85 | latent noise |
| Полностью заменить объект | 0.9 – 1.0 | latent noise |
“Only masked” против “whole picture”
Это два режима того, что нейросеть видит во время inpaint, и от них сильно зависит результат.
Whole picture (inpaint full resolution выключен)
Нейросеть обрабатывает всю картинку целиком, но меняет только маску. Контекст – всё изображение. Минус: если общее разрешение невелико, замаскированная зона генерируется в низкой детализации. Маленькое лицо в углу кадра выйдет грубым.
Only masked (inpaint full resolution / only masked)
Нейросеть вырезает область вокруг маски, увеличивает её до полного разрешения генерации, перерисовывает в высокой детализации и вставляет обратно. Это лучший режим для мелких деталей: лица, рук, глаз на крупном кадре. Параметр only masked padding задаёт, сколько контекста вокруг маски захватить (32 – 64 пикселя – норма).
Практический вывод: для мелких правок на детали всегда only masked, для крупной зоны во весь кадр – whole picture. Если поправленная зона выходит несвязанной с окружением, увеличь padding в режиме only masked, чтобы дать нейросети больше контекста.
Пошагово: inpaint в Forge / A1111
Forge и Automatic1111 используют один интерфейс inpaint. Если он у тебя ещё не установлен, разбор есть в гиде по установке Stable Diffusion Forge.
- Открой вкладку img2img – Inpaint. Загрузи картинку, которую правишь.
- Закрась маску. Кистью выдели зону для изменения. Регулируй размер кисти ползунком.
- Напиши промпт. Опиши только то, что должно появиться в маске, а не всю сцену. Для дорисовки одежды или тела пиши конкретику по этой зоне.
- Настрой маску. Mask blur 4 – 8. Mask mode: Inpaint masked. Masked content: original для правок, latent noise для замены.
- Выбери область. Only masked для мелких деталей, Whole picture для большой зоны.
- Поставь denoising strength. Начни с 0.5 и подстрой под задачу по таблице выше.
- Совпади чекпойнт и разрешение. Используй ту же модель, что и при генерации оригинала, чтобы стиль совпал. Разрешение генерации держи близким к нативному для модели (1024 для SDXL/Pony).
- Генерируй и итерируй. Меняй seed и денойз, пока зона не сольётся с картинкой. Inpaint – это про несколько попыток, а не один проход.
Совет: для лиц и рук есть автоматические детекторы (ADetailer), которые сами маскируют и инпейнтят эти зоны после генерации. Это экономит время на типовых правках.
Пошагово: inpaint в ComfyUI
В ComfyUI inpaint собирается из нод и даёт больше контроля. Если ComfyUI не стоит, смотри установку ComfyUI для NSFW.
Базовая схема:
- Load Image с маской. Маску рисуют через Mask Editor по правому клику на ноде Load Image, либо подают отдельной картинкой-маской.
- VAE Encode (for Inpainting). Эта нода кодирует картинку с учётом маски и параметра grow_mask_by (аналог padding), который расширяет зону влияния маски.
- KSampler. Здесь задаётся denoise. Тот же диапазон, что и в Forge: 0.4 – 0.6 для правок, 0.7+ для замены.
- VAE Decode и Save Image.
Преимущество ComfyUI: можно подмешать ControlNet (например, depth или openpose) внутрь inpaint, чтобы новая зона следовала позе и геометрии исходника. Это резко уменьшает швы и несовпадения при замене крупных областей. Подробнее про управление позой есть в материале по ControlNet и позам для NSFW.
Для специализированной замены тела используют inpaint-чекпойнты или модели, заточенные под фото-в-фото переработку. Разбор такого подхода есть в гиде по нейросети из фото в фото.
Типичные ошибки и швы
Inpaint выдаёт характерные дефекты. Вот частые проблемы и их причины.
- Видимый шов по краю маски. Mask blur слишком мал или денойз слишком высок. Увеличь blur до 6 – 8, снизь денойз.
- Несовпадение цвета и света. Новая зона светлее или темнее окружения. Сними денойз, выбери masked content original, чтобы нейросеть отталкивалась от исходных пикселей.
- Грубая, мыльная зона. Используешь whole picture на маленькой детали. Переключись на only masked.
- Новое содержимое не связано с телом. Маска слишком узкая, не хватает контекста. Расширь маску или увеличь padding / grow_mask_by, добавь ControlNet.
- Меняется то, что не маскировал. Включён режим Inpaint not masked, либо денойз 1.0 в whole picture. Проверь mask mode.
- Разный стиль. Инпейнтишь другой моделью, чем генерировал. Используй тот же чекпойнт.
- Двойные конечности, лишние детали. Слишком высокий денойз при замене. Снижай шаг за шагом и добавь негативный промпт против артефактов. Базу негативов смотри в мастерском гиде по NSFW-промптам.
Советы по бесшовности
- Работай послойно. Большую правку дели на этапы: сначала грубая замена с высоким денойзом, потом проход с низким денойзом по краям для слияния.
- Always only masked для деталей. Лицо, руки, глаза, соски – всегда в режиме only masked, чтобы держать детализацию.
- Подбирай padding. Если зона не вписывается, дай больше контекста через only masked padding или grow_mask_by.
- Финальный сглаживающий проход. После замены сделай ещё один inpaint всей переработанной области с денойзом 0.2 – 0.3, чтобы убрать стыки и унифицировать текстуру.
- Цветокоррекция. Если тон не совпал, поправь область вручную в редакторе перед финальным проходом.
- Тот же seed, та же модель. Снижает риск стилевого разрыва.
Собрать исходную картинку под все эти правки можно в браузерном генераторе за пару секунд, а тонкую доводку уже делать inpaint локально.
Inpaint в общем пайплайне
Inpaint редко работает в одиночку. В реальном пайплайне он стоит в конце цепочки и решает то, что не вышло на этапе генерации. Типичный порядок такой: txt2img даёт базовую композицию, Hires fix поднимает разрешение, ADetailer автоматически инпейнтит лица и руки, а ручной inpaint добивает то, что осталось: конкретные дефекты, замену деталей, переработку нужных зон.
Несколько приёмов, которые ускоряют работу:
- Сохраняй промежуточные версии. Каждый сильный inpaint-проход меняет картинку необратимо. Держи копии, чтобы откатиться, если итерация ушла не туда.
- Дроби сложные правки. Не пытайся заменить большую зону одним проходом с денойзом 0.9. Сделай грубую замену, потом серию мягких проходов по краям. Так шов почти исчезает.
- Используй разные seed. Если зона упорно не получается, дело часто не в настройках, а в неудачном seed. Прогони пять вариантов и выбери лучший.
- Комбинируй с ControlNet. При замене позы части тела openpose или depth внутри inpaint держит анатомию и резко снижает количество артефактов.
Inpaint против полной перегенерации
| Ситуация | Лучше inpaint | Лучше перегенерация |
|---|---|---|
| Композиция в целом удалась | Да | Нет |
| Один локальный дефект | Да | Нет |
| Нужно изменить всю сцену | Нет | Да |
| Поза тела фундаментально не та | Нет | Да |
| Дорисовать или убрать элемент | Да | Нет |
Правило: если тебя устраивает 80% картинки, чини оставшиеся 20% через inpaint. Если устраивает меньше половины, быстрее и чище перегенерировать с нуля и уже потом доводить inpaint.
Чек-лист чистого inpaint
- Mask blur 4 – 8.
- Denoise под задачу: 0.2 – 0.3 чистка, 0.4 – 0.6 правка, 0.7+ замена.
- Only masked для деталей, whole picture для крупных зон.
- Тот же чекпойнт, что и у оригинала.
- Промпт описывает только зону маски.
- Padding / grow_mask_by достаточный для контекста.
- Финальный сглаживающий проход на швы.
- ControlNet при замене крупных областей.
Часто задаваемые вопросы
Что такое inpaint в нейросети простыми словами
Inpaint – это перерисовка только выделенной части картинки. Ты закрашиваешь маской зону, которую хочешь изменить, пишешь промпт, и нейросеть генерирует новое содержимое строго внутри маски, оставляя остальное изображение нетронутым. Это инструмент точечных правок и дорисовки.
Какой denoising strength ставить для inpaint
Зависит от задачи. Для удаления мелких артефактов 0.2 – 0.3. Для починки руки или глаза 0.4 – 0.6. Для замены одежды или объекта 0.7 – 0.85. Для полной перерисовки области 0.9 – 1.0. Начинай с низкого значения и повышай, пока не получишь нужную степень изменения.
В чём разница между only masked и whole picture
Only masked вырезает зону вокруг маски, увеличивает до полного разрешения и перерисовывает в высокой детализации – лучше для мелких деталей. Whole picture обрабатывает всю картинку как контекст, но детализация маски ниже – подходит для крупных зон. Для лиц и рук всегда only masked.
Почему после inpaint виден шов по краю
Чаще всего mask blur слишком мал или denoise слишком высок. Увеличь размытие маски до 6 – 8 пикселей и снизь денойз. Помогает выбор masked content original и финальный сглаживающий проход с денойзом 0.2 – 0.3 по всей переработанной области.
Можно ли inpaint починить кривые руки
Да, это одна из главных задач inpaint. Замаскируй проблемную кисть, включи only masked, поставь денойз 0.4 – 0.6 и сгенерируй несколько вариантов с разными seed. Для надёжности подмешай ControlNet с depth или openpose, чтобы рука следовала анатомии. Детектор ADetailer умеет делать это автоматически.
Как сделать inpaint в ComfyUI
Собери схему: Load Image с маской через Mask Editor, затем VAE Encode for Inpainting (с параметром grow_mask_by для расширения зоны), KSampler с нужным denoise, VAE Decode и Save Image. Преимущество ComfyUI в том, что можно встроить ControlNet прямо в inpaint для контроля позы и геометрии.
Меняется вся картинка, а не только маска, что делать
Проверь режим маски: должен быть Inpaint masked, а не Inpaint not masked. Также убедись, что денойз не стоит на 1.0 в режиме whole picture – при таком сочетании нейросеть может сильно изменить и зоны вне фокуса. Снизь денойз и проверь, что маска нарисована именно там, где нужно.
Какой режим masked content выбрать
Для лёгких правок, где надо сохранить исходную форму и текстуру, бери original: нейросеть отталкивается от существующих пикселей. Для радикальной замены, когда содержимое должно стать совсем другим, бери latent noise: область заполняется шумом и рисуется заново по промпту. Original даёт меньше швов, latent noise – больше свободы.



