Inpaint Canvas: послойный инпейтинг в стиле Krita внутри ComfyUI
Пользовательский узел превращает ComfyUI в редактор со слоями: выделения, выбор через SAM, циклы инпейтинга, слои-фильтры и экспорт в PSD.
Полнооконный редактор: изображение, слои, выделение и промпт находятся в одном узле, с сгруппированными инструментами и выпадающими панелями в стиле Photoshop.
Цикл инпейтинга
Большинство циклов инпейтинга в ComfyUI переключаются между узлами маскирования, кадрирования, выборки и композиционирования, и переключение контекста накапливается. Inpaint Canvas сворачивает этот цикл: нарисуйте или выберите область, введите промпт, нажмите «Генерировать» (Ctrl+Enter). Выбранная область отправляется как crop_image и crop_mask, обрабатывается любой подключенной цепочкой инпейтинга, а результат возвращается в тот же редактор в качестве нового слоя. Узел обрабатывает размер контекста и растушевку на основе размера выделения, а также выравнивание и сопоставление цветов при обратной вставке результата, и принимает результат любого размера без искажений.
Работают как локальные, так и API-цепочки. Встроенный переключатель API/Локально с двумя входами для результатов позволяет платному API-узлу оставаться неактивным, пока вы работаете локально.
Пример с 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, чтобы участвовать в обсуждении.