Inpaint Canvas:在 ComfyUI 内实现 Krita 风格的分层图像修复
一个新的自定义节点将 ComfyUI 变成一个分层绘图程序:选区、SAM 辅助拾取、图像修复往返、滤镜图层和 PSD 导出,全部集成在一个编辑器中。
全窗口编辑器:图像、图层、选区和提示词都集中在一个节点中,并带有 Photoshop 风格的分组工具和弹出面板。
图像修复往返流程
大多数 ComfyUI 图像修复循环需要在遮罩、裁剪、采样和合成节点之间来回切换,这些上下文切换会累积不少开销。Inpaint Canvas 简化了这一循环:绘制或拾取选区,输入提示词,然后按生成键(Ctrl+Enter)。所选区域会作为 crop_image 和 crop_mask 输出,由您接入的任何图像修复链处理,拼接后的结果会作为新图层返回到同一编辑器中。该节点会根据选区大小自动处理上下文尺寸和羽化,并在结果拼接回去时进行颜色匹配和对齐,同时可接受任意结果尺寸而不会变形。
本地和 API 链均可使用。内置的 API/本地切换开关带有两个结果输入,可让付费 API 节点在您本地工作时保持空闲。
Flux.2 API 示例:crop_image、提示词和尺寸输入到 ComfyUI 的 Flux.2 图像节点,结果作为新图层返回到编辑器中。
像绘图程序一样的选区功能
选区工具远不止常见的遮罩画笔:包括带自动闭合的画笔、矩形、椭圆、套索和多边形工具,支持扩展/收缩/羽化的快速遮罩,以及带蚂蚁线的已保存选区。在对象拾取方面,它依赖于分割模型:
- 悬停选择:使用 SAM2(Kijai 的 ComfyUI-segment-anything-2)
- 文本选择:通过 comfyui-rmbg 使用 SAM3,或使用 GroundingDINO + SAM 作为备选方案
每个可选的节点包启用一个编辑器功能,编辑器仅列出已安装的后端。核心节点本身除了 ComfyUI 自带的依赖关系外,没有额外的 Python 依赖关系。
真正的图层堆栈,而非遮罩列表
图层的操作方式与桌面图像编辑器一致:缩略图、重命名、拖拽排序、复制、向下合并、锁定和透明度锁定、单独显示、混合模式、逐图层颜色匹配、通过 RMBG 节点进行遮罩和抠图,以及 Ctrl+点击拾取光标下的图层。所有操作均可撤销。绘画工具包括带笔压感应的软画笔和橡皮擦、仿制图章、修复画笔、渐变、涂抹工具,以及带有 17 种内置开源字体的文本图层。变换功能涵盖移动、缩放、旋转、扭曲和变形,此外还有画布工具,可通过拖拽扩展画布以进行外绘或裁剪画布。
滤镜图层以非破坏性方式完成图像处理:包含 46 种预设和真实颗粒底片的胶片颗粒、色阶、曲线、锐化、模糊、色相/饱和度、色彩平衡、LUT(.cube)文件和暗角,全部支持遮罩。
参考图层为 Flux.2 / Kontext 工作流添加了多参考编辑功能:将图像拖放到画布上,将图层切换为参考模式,它会作为额外的批处理图像随 crop_image 一起传递。提示词放大通过 Qwen3-VL 2B(或 Gemini)在本地运行,针对不同用例进行调优,默认提供适用于 Flux.2 / Kontext 的编辑指令,也可选择填充、添加、移除或外绘描述作为替代方案。
导出
结果可导出为嵌入工作流的 PNG、JPEG 或 WebP,也可导出为适用于 Krita 和 GIMP 的分层 PSD 或 ORA 文件,还可单独导出当前活动图层或选区遮罩。节点的临时工作文件可直接在编辑器内清理。
可用性
安装方式:将 DenRakEiw/ComfyUI-InpaintCanvas 克隆到 ComfyUI/custom_nodes/ 目录并重启即可。仓库中包含一个 3 分钟的视频教程和一份简洁的英文手册(GUIDE.md)。
评论
使用 GitHub 登录后即可参与讨论。