Inpaint Canvas: послойный инпейтинг в стиле Krita внутри ComfyUI

ComfyUI Wikinews

Пользовательский узел превращает ComfyUI в редактор со слоями: выделения, выбор через SAM, циклы инпейтинга, слои-фильтры и экспорт в PSD.

Inpaint Canvas (GitHub) — это один пользовательский узел от Eiw / Dennis, который помещает многослойный редактор в стиле Krita внутрь ComfyUI. Один узел содержит изображение, слои, выделение и промпт. Выбранная область выводится как кадрированное изображение, любая цепочка инпейтинга работает с ней, а результат возвращается в тот же узел в качестве нового слоя. Выберите следующее место, генерируйте снова.
Редактор Inpaint Canvas: фото с выделением в виде бегущих муравьев, прямоугольник кадрирования и боковая панель

Полнооконный редактор: изображение, слои, выделение и промпт находятся в одном узле, с сгруппированными инструментами и выпадающими панелями в стиле Photoshop.

Цикл инпейтинга

Большинство циклов инпейтинга в ComfyUI переключаются между узлами маскирования, кадрирования, выборки и композиционирования, и переключение контекста накапливается. Inpaint Canvas сворачивает этот цикл: нарисуйте или выберите область, введите промпт, нажмите «Генерировать» (Ctrl+Enter). Выбранная область отправляется как crop_image и crop_mask, обрабатывается любой подключенной цепочкой инпейтинга, а результат возвращается в тот же редактор в качестве нового слоя. Узел обрабатывает размер контекста и растушевку на основе размера выделения, а также выравнивание и сопоставление цветов при обратной вставке результата, и принимает результат любого размера без искажений.

Работают как локальные, так и API-цепочки. Встроенный переключатель API/Локально с двумя входами для результатов позволяет платному API-узлу оставаться неактивным, пока вы работаете локально.

Inpaint Canvas, подключенный к API-узлу Flux.2 и обратно к результату

Пример с API Flux.2: crop_image, промпт и размеры передаются в узел Flux.2 Image от ComfyUI, результат возвращается в редактор как новый слой.

Выделение как в программе для рисования

Инструменты выделения выходят далеко за рамки обычной кисти для маски: кисть с замыканием контура, прямоугольник, эллипс, лассо и многоугольник, быстрая маска с увеличением/уменьшением/растушевкой, а также сохраненные выделения с бегущими муравьями. Для выбора объектов он опирается на модели сегментации:

  • Выбор наведением с SAM2 (ComfyUI-segment-anything-2 от Kijai)
  • Выбор по тексту с SAM3 через comfyui-rmbg или GroundingDINO + SAM как запасной вариант

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

Работа со слоями в редакторе

Настоящий стек слоев, а не список масок

Слои ведут себя как в настольном редакторе изображений: миниатюры, переименование, перетаскивание для изменения порядка, дублирование, объединение вниз, блокировка и блокировка альфа-канала, соло, режимы наложения, сопоставление цветов для каждого слоя, маски и вырезание через узлы RMBG, а также Ctrl+клик для выбора слоя под курсором. Все действия можно отменить. Инструменты рисования включают мягкую кисть и ластик с нажимом пера, штамп, восстанавливающую кисть, градиент, палец и текстовые слои с 17 встроенными шрифтами с открытым исходным кодом. Преобразование охватывает перемещение, масштабирование, поворот, искажение и деформацию, а также инструмент «Холст», который расширяет рамку для аутпейнтинга или обрезает ее перетаскиванием.

Слои-фильтры завершают картину без деструктивного воздействия: зернистость пленки с 46 встроенными пресетами и настоящими пластинами зерна, уровни, кривые, резкость, размытие, тон/насыщенность, цветовой баланс, LUT-файлы (.cube) и виньетка, все с возможностью маскирования.

Слои-референсы добавляют мультиреференсное редактирование для рабочих процессов Flux.2 / Kontext: перетащите изображения на холст, переключите слой в режим референса, и он будет передаваться вместе с crop_image как дополнительное пакетное изображение. Апсемплинг промпта выполняется локально через Qwen3-VL 2B (или Gemini), настраивается под каждый случай использования с инструкциями редактирования для Flux.2 / Kontext по умолчанию и описаниями «заполнить», «добавить», «удалить» или «аутпейнтинг» в качестве альтернатив.

Готовый результат внутри редактора

Экспорт

Результаты экспортируются в PNG со встроенным рабочим процессом, JPEG или WebP, а также в виде многослойных файлов PSD или ORA для Krita и GIMP, плюс активный слой или маска выделения отдельно. Рабочие файлы узла можно очистить прямо из редактора.

Доступность

Установите, клонировав DenRakEiw/ComfyUI-InpaintCanvas в ComfyUI/custom_nodes/ и перезапустив ComfyUI. В репозитории есть 3-минутный видеоурок и краткое англоязычное руководство (GUIDE.md).

Комментарии

Войдите через GitHub, чтобы участвовать в обсуждении.

Загрузка комментариев…
Inpaint Canvas: послойный инпейтинг в стиле Krita внутри ComfyUI | ComfyUI Wiki