Inpaint Sketch в Stable Diffusion: как работает режим

Режим Inpaint Sketch во вкладке img2img интерфейса AUTOMATIC1111 Stable Diffusion WebUI выбирают тогда, когда обычный инпейнт не справляется: нейросеть перерисовывает замаскированную область по текстовому промпту, но игнорирует форму, которую пользователь хочет задать руками. Inpaint Sketch решает именно эту задачу — он позволяет сначала дорисовать набросок цветной кистью прямо поверх изображения, а затем заставить модель превратить этот грубый скетч в детализированный фрагмент, согласованный с остальной картинкой.

Типичный сценарий: нужно добавить человеку на фото очки, шляпу, татуировку или изменить форму предмета, и простого текстового описания недостаточно — модель рисует объект не там и не так. В таком случае вы сами задаёте контур и примерный цвет, а Stable Diffusion доводит набросок до фотореалистичного или стилизованного результата. Ниже разберём, как устроен этот режим, чем он отличается от соседних вкладок и какие настройки влияют на итог.

Чем Inpaint Sketch отличается от обычного Inpaint

Ключевая разница — в источнике информации для дорисовки. В режиме Inpaint замаскированная область заполняется либо шумом, либо размытым/залитым содержимым (в зависимости от параметра Masked content), и модель опирается только на текстовый промпт и окружающий контекст. В Inpaint Sketch маска совмещена с рисунком: то, что вы нарисовали кистью, становится стартовой точкой генерации внутри выделенной зоны.

Проще говоря, обычный инпейнт отвечает на вопрос «что нарисовать», а скетч-инпейнт — ещё и на вопрос «какой формы и какого цвета это должно быть». Модель получает грубое цветовое пятно или контур и интерпретирует его с учётом промпта. Чем ниже сила перерисовки, тем ближе результат к вашему наброску; чем выше — тем свободнее модель от него отклоняется.

  • 🖌️ Inpaint — замена содержимого маски по текстовому описанию.
  • ✏️ Inpaint Sketch — замена содержимого маски по тексту плюс вашему цветному наброску.
  • 🎨 Sketch (без маски) — дорисовка всего изображения целиком, без выделения области.
  • 📤 Inpaint Upload — загрузка готовой маски отдельным файлом вместо рисования кистью.

Как устроен процесс изнутри

Технически режим работает как img2img-генерация внутри ограниченной области. Сначала изображение вместе с вашим наброском кодируется в латентное пространство, к нему добавляется шум в объёме, заданном параметром Denoising strength, а затем модель выполняет шаги денойзинга, руководствуясь промптом. За пределами маски исходные пиксели сохраняются (с учётом размытия границ маски).

Из этого следуют два практических вывода. Во-первых, ваш скетч не обязан быть аккуратным — модель воспринимает его как «зашумлённую» подсказку и сама дорисует детали. Во-вторых, при Denoising strength около нуля набросок останется почти без изменений, а при значениях ближе к максимуму модель фактически проигнорирует его и сгенерирует содержимое по промпту. Рабочий диапазон подбирается экспериментально, часто начинают со средних значений и сдвигают ползунок по результату.

⚠️ Внимание: если вы рисуете набросок, но результат его полностью игнорирует, первым делом проверьте значение Denoising strength — слишком высокая сила перерисовки «стирает» ваш скетч. Снизьте параметр и повторите генерацию.

Пошаговая инструкция: как пользоваться Inpaint Sketch

Порядок действий в AUTOMATIC1111 WebUI следующий. Откройте вкладку img2img и внутри неё подвкладку Inpaint sketch. Загрузите исходное изображение перетаскиванием или через диалог выбора файла. Затем цветной кистью закрасьте область, которую хотите изменить, — одновременно это и маска, и набросок: цвет мазков станет основой будущего объекта.

Далее напишите промпт, описывающий желаемый результат, выставьте параметры и нажмите Generate. Размер кисти регулируется ползунком, а для точной работы по краям удобно приблизить изображение. Если результат не устроил — не нужно перерисовывать всё заново: достаточно скорректировать промпт или силу перерисовки и сгенерировать повторно.

☑️ Перед генерацией в Inpaint Sketch

Выполнено: 0 / 5

Отдельно стоит сказать о промпте. Он должен описывать итоговую картинку, а не команду вида «добавь шляпу». Модель не исполняет инструкции — она продолжает изображение, поэтому формулировка «a man wearing a black hat» сработает лучше, чем «add a hat».

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

Большинство параметров совпадают с обычным инпейнтом, но их роль в скетч-режиме имеет нюансы. Разберём основные.

ПараметрЗа что отвечаетПрактический совет
Denoising strengthСила изменения наброскаНиже — ближе к скетчу, выше — свободнее интерпретация
Mask blurРазмытие границ маскиНебольшое значение сглаживает шов между областями
Masked contentЧто находится под маской до генерацииДля скетча обычно оставляют исходное содержимое
Inpaint areaГенерировать только маску или всё изображениеOnly masked даёт больше деталей в маленькой зоне
CFG ScaleСила следования промптуСлишком высокое значение может искажать цвета

Особого внимания заслуживает связка Inpaint area: Only masked и разрешения. Когда изменяемая область мала (глаза, рука, мелкий предмет), генерация только внутри маски позволяет модели работать с этой зоной в большем эффективном разрешении — детализация заметно растёт. Для крупных областей, наоборот, иногда лучше Whole picture, чтобы композиция оставалась цельной.

Типичные проблемы и их причины

Самая частая жалоба — результат не совпадает с наброском ни по форме, ни по цвету. Возможные причины: завышенный Denoising strength, слишком общий промпт, который «перетягивает» генерацию на себя, или конфликт между скетчем и окружением (например, нарисованный объект не вписывается в перспективу сцены, и модель его отвергает).

Вторая типичная ситуация — видимый шов по краю маски. Здесь помогает увеличение Mask blur, а также проверка того, что маска захватывает область с запасом: если граница проходит вплотную к объекту, переход получается резким. Третья проблема — «мыльный» результат внутри маски: обычно это признак слишком низкой силы перерисовки, когда модель почти не изменила ваш грубый набросок.

  • 🔍 Результат игнорирует скетч — снизьте Denoising strength.
  • 🧩 Видна граница маски — увеличьте Mask blur и расширьте область.
  • 🌫️ Набросок остался «как есть» — поднимите силу перерисовки.
  • 🎭 Объект не вписывается в сцену — уточните промпт и проверьте перспективу скетча.
📊 Что чаще всего мешает вам в Inpaint Sketch?
Модель игнорирует набросок
Видны швы по краям маски
Не получается подобрать Denoising strength
Результат не совпадает с промптом

Inpaint Sketch и ControlNet: что выбрать

Расширение ControlNet предлагает альтернативный путь: вместо цветного наброска кистью можно подать модели схематичный рисунок через препроцессоры вроде scribble или canny. Это даёт более строгий контроль над контуром, но требует настройки дополнительного модуля и не работает с цветом так напрямую, как скетч-инпейнт.

Если задача — быстро докинуть объект примерной формы и цвета, Inpaint Sketch проще и быстрее. Если нужен точный контроль силуэта (поза, архитектурные линии, сложная геометрия), разумнее комбинировать инпейнт с ControlNet. Эти инструменты не исключают друг друга: их можно использовать совместно на одном изображении.

Почему цвет наброска влияет на результат

В латентном пространстве ваш скетч кодируется вместе с изображением. При умеренной силе перерисовки модель лишь частично «зашумляет» эту область, поэтому исходные цвета мазков сохраняются в структуре латента и тянут итоговую палитру в свою сторону. Именно поэтому грубый, но правильный по цвету набросок работает лучше аккуратного, но нейтрально-серого.

Практические приёмы для лучшего результата

Работайте итеративно: не пытайтесь получить идеал за одну генерацию. Сначала грубо задайте форму и цвет, оцените, как модель их интерпретировала, затем уточните набросок или промпт и повторите. Каждый проход можно использовать как основу для следующего — кнопка отправки результата обратно в инпейнт экономит время.

Держите негативный промпт заполненным: стандартные маркеры вроде blurry, low quality, deformed помогают избежать артефактов внутри маски. И не забывайте, что модель должна соответствовать задаче — фотореалистичные чекпоинты плохо дорисовывают аниме-скетчи и наоборот.

⚠️ Внимание: названия параметров и расположение элементов интерфейса могут отличаться в разных версиях WebUI и альтернативных оболочках (ComfyUI, Fooocus). Если какого-то пункта нет на месте, сверяйтесь с документацией вашей версии — принцип работы режима при этом остаётся тем же.

Частые вопросы

Чем Inpaint Sketch отличается от вкладки Sketch?

Вкладка Sketch применяет ваш набросок и перерисовку ко всему изображению целиком, без маски. Inpaint Sketch ограничивает изменения закрашенной областью, сохраняя остальную часть картинки нетронутой.

Какое значение Denoising strength выбрать для начала?

Универсального значения нет — оно зависит от того, насколько сильно модель должна отклоняться от наброска. Начните со средних значений и двигайте ползунок по результату: вниз, если скетч игнорируется, вверх, если он остаётся слишком «сырым».

Нужно ли рисовать набросок аккуратно?

Нет. Модель воспринимает скетч как грубую подсказку по форме и цвету, а не как финальный рисунок. Важнее попасть в нужный цвет и общие пропорции, чем выводить детали.

Почему по краям маски виден шов?

Возможные причины — слишком маленькое значение Mask blur или маска, обрезанная вплотную к объекту. Увеличьте размытие границ и закрасьте область с небольшим запасом.

Работает ли Inpaint Sketch в ComfyUI?

В ComfyUI нет одноимённой вкладки, но тот же принцип реализуется через ноды: изображение с дорисованным наброском подаётся вместе с маской в инпейнт-воркфлоу с настраиваемой силой денойзинга. Конкретная схема зависит от используемых нод и версии.