Inpaint в нейросети: дорисовка и правки NSFW 2026

2 min read

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.

  1. Открой вкладку img2img – Inpaint. Загрузи картинку, которую правишь.
  2. Закрась маску. Кистью выдели зону для изменения. Регулируй размер кисти ползунком.
  3. Напиши промпт. Опиши только то, что должно появиться в маске, а не всю сцену. Для дорисовки одежды или тела пиши конкретику по этой зоне.
  4. Настрой маску. Mask blur 4 – 8. Mask mode: Inpaint masked. Masked content: original для правок, latent noise для замены.
  5. Выбери область. Only masked для мелких деталей, Whole picture для большой зоны.
  6. Поставь denoising strength. Начни с 0.5 и подстрой под задачу по таблице выше.
  7. Совпади чекпойнт и разрешение. Используй ту же модель, что и при генерации оригинала, чтобы стиль совпал. Разрешение генерации держи близким к нативному для модели (1024 для SDXL/Pony).
  8. Генерируй и итерируй. Меняй seed и денойз, пока зона не сольётся с картинкой. Inpaint – это про несколько попыток, а не один проход.

Совет: для лиц и рук есть автоматические детекторы (ADetailer), которые сами маскируют и инпейнтят эти зоны после генерации. Это экономит время на типовых правках.

Пошагово: inpaint в ComfyUI

В ComfyUI inpaint собирается из нод и даёт больше контроля. Если ComfyUI не стоит, смотри установку ComfyUI для NSFW.

Базовая схема:

  1. Load Image с маской. Маску рисуют через Mask Editor по правому клику на ноде Load Image, либо подают отдельной картинкой-маской.
  2. VAE Encode (for Inpainting). Эта нода кодирует картинку с учётом маски и параметра grow_mask_by (аналог padding), который расширяет зону влияния маски.
  3. KSampler. Здесь задаётся denoise. Тот же диапазон, что и в Forge: 0.4 – 0.6 для правок, 0.7+ для замены.
  4. 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 – больше свободы.