ComfyUI Inpaint Nodes插件

admin2025-04-17226

这是一款用于 SDXL 的 Inpaint 插件。我们在使用内部重绘时,需要相应的 Inpaint 模型。但喜欢的模型并不一定有训练内部重绘版本,虽然融合 Inpaint 模型并不难,但一个 SDXL 就近 7 个G,太占用硬盘。而这个插件可以使用常规的文生图模型用于内部重绘,而不需要单独训练Inpaint版本。

插件

插件地址:https://github.com/Acly/comfyui-inpaint-nodes

路径:新建节点->局部重绘

特点:

  • 仅支持SDXL模型。

  • 已集成到了Krita中,可以在krita中使用。

说明:使用该插件的内部重绘与原生内部重绘不同之处在于,采样器的 denoise 要设置为 1。该插件可以让我们自由的选择模型来内部重绘,也节省了硬盘。但从使用经验看,它插件并不能明显提升重绘质量。

节点

一、VAE编码局部重绘条件(VAE Encode & Inpaint Conditioning)节点

节点功能:这个节点是ComfyUl原始库中VAE内补编码器(VAE Encode ForInpaint)的替代方案,并且比原始的inpaint更有效果,它与同时使用VAE内补编码器和内补模型条件(InpaintModelConditioning)相同,相当于两者的合并,但是对硬件资源的消耗更少。

image.png

输入:

positive: 正向条件信息

negative: 负面条件信息

vae:传入vae模型

pixels: 传入的图像信息

mask:重绘区域的蒙版信息

输出:

positive:正向条件信息

negative:负面条件信息

latent inpaint:修复图像的潜在向量,输出的是对原图初步的灰度填充,让重绘区域没有内容,需要配合我们下面的Apply Fooocus model一起使用,将我们的SDXL的模型集合成能够完成我们Inpaint功能的一种重绘模型。

latent_samples:潜在样本,输出的是需要重绘的那张底图,这样可以给重绘提供一定的参考价值

作用:

latent_inpaint需要传递给Apply Fooocus Inpaint节点用来将模型转换为inpaint模型,在github地址可以看到作者说"这不允许遮罩区域中存在现有内容",所以说需要对蒙版区域进行内容遮盖,否则会导致生图受原图内容的影响,latent_samples将用于传递给ksampler完成局部重绘保证边缘的融合程度。

二、应用Fooocus局部重绘(Apply Fooocus Inpaint)/加载Fooocus局部重绘(INPAINT_LoadFooocusInpaint)节点

image.png

应用Fooocus局部重绘

节点功能:这个节点用来将Fooocus模型应用到修复过程中。


输入:

model:大模型的数据流(必须是SDXL模型,且必须是未经加速的模型,否则会导致提示词不起作用)

patch:修复补丁

latent:潜变量

输出:

MODEL:大模型数据流

作用:

该节点会把patch结合到model上,然后将我们的model转化成拥有重绘功能,或者说重绘功能更强大的一款模型,然后最后进行一个输出。用于解决边缘不融合以及透视的关系。

加载Fooocus局部重绘

输出:局部重绘组件接入到上面节点的局部重绘组件(Patch)

参数:两者都固定加载 fooocus_inpaint_head.pth 和 inpaint_v26.fooocus.patch 模型。

三、遮罩填充(Fill Masked Area)节点

节点功能:这个节点是对蒙版区域进行预先填充,使用三种不同的填充方式。

image.png

输入:

image:图像

mask:掩码

输出:

IMAGE:图像

参数:

fill:填充方法,有三种

falloff:衰减

四、遮罩模糊(INPAINT_MaskedBlur)节点

节点功能:这个节点类似于imageblur节点,将蒙版区域进行模糊操作。

image.png

输入:

image:图像

mask:掩码

输出:

IMAGE:图像

参数:

blur:模糊数值

falloff:衰减数值(类似于羽化)

五、降噪到合成遮罩(Denoise to Compositing Mask)节点

节点功能:这个节点是对蒙版值得范围进行归一化处理(可以不必学)。

image.png

输入

mask:蒙版信息

输出

MASK:蒙版

参数

offset:偏移

threshold:阈值

注意: offset的值必须严格小于threshold,不然会报错

六、加载局部重绘模型(INPAINT_LoadInpaintModel)/ 使用模型局部重绘(INPAINT_InpaintWithModel)节点

节点功能:这两个节点,第一个节点是加在inpaint模型,注意选择big_lama,不要选择fooocus模型,inpaint(using Model)节点用来对图像进行填充,使用模型进行像素点计算然后填充。

image.png

输入:

inpaint_model:修复模型

image:图像

optional_upscale_model:可选的模型

参数:

mask:蒙版

seed:种子

输出:

IMAGE:图像


网友评论