文章标题
- 一、局部重绘
-
-
- 模型安装
-
- 局部重绘素材
-
- 局部重绘工作流
- 4.ComfyUI 局部重绘工作流示例讲解
- 5.使用遮罩编辑器(Mask Editor) 绘制蒙版
- 6.局部重绘制相关节点
-
- 二、关于扩图
-
-
- 模型安装
-
- 输入图片
-
- 扩图工作流
-
- 3.1 扩图工作流使用讲解
- 3.2 Pad Image for outpainting 节点
- 3.3 输入参数
- 3.4 输出参数
- 3.5 节点输出内容
- 3.6 效果对比
-
本篇指南将带你了解 ComfyUI 中的局部重绘工作流,并带你完成一个局部重绘的示例,以及遮罩编辑器的使用等
本篇将引导了解 AI 绘图中,局部重绘的概念,并在 ComfyUI 中完成局部重绘工作流生成,我们将接触以下内容:
- 使用局部重绘工作流完成画面的修改
- 了解并使用 ComfyUI 中遮罩编辑器
- 了解相关节点 VAE Encoder (for Inpainting)
一、局部重绘
在 AI 图像生成过程中,我们常会遇到生成的画面整体较为满意,但是画面中存在一些不希望出现或者错误的元素,但是重新生成可能会生成另外一张完全不同的图片,所以这时候利用局部重绘来修复这部分的元素就非常有必要了。这就像让 画家(AI 绘图模型) 画了一幅画,但是总是会有稍微有 局部区域需要调整 ,我们需要向画家说明需要调整的区域(遮罩) ,然后让画家会根据我们的要求进行 重新绘制(重绘)。局部重绘的场景包括:
- 瑕疵修复: 消除照片中多余物体、错误的AI生成的画面的肢体等
- 细节优化: 精准调整局部元素(如修改服装纹理、调整面部表情)
- 等其它场景
1. 模型安装
下载下面的模型文件,并保存到ComfyUI/models/checkpoints
目录下
安装aria2快速下载模型,几乎能将我家1000M的宽带跑满,每秒80~90M
,接下来的介绍模型都会给出安装命令。
bash
apt install aria2
bash
aria2c https://huggingface.co/stabilityai/stable-diffusion-2-inpainting/resolve/main/512-inpainting-ema.safetensors -o SourceCode/ComfyUI/models/checkpoints/512-inpainting-ema.safetensors --auto-file-renaming=false --allow-overwrite=false
小技巧:你要是打不开https://huggingface.co
,可以将其换成为https://hf-mirror.com/
试一试
2. 局部重绘素材
请下载下面的图片,我们将在这个示例中使用这个图片作为输入使用
这张照片已经包含了 alpha 透明通道,所以并不需要你手动绘制蒙版,在本篇教程也会涉及如何使用遮罩编辑器来绘制蒙版的部分,我们会引导你一步步来完成整个局部重绘的过程
3. 局部重绘工作流
下面这张图的 metadata 包含的对应的json工作流,请将其下载后 拖入 ComfyUI 界面或者使用菜单 工作流(Workflow) ---> 打开工作流(Open,快捷键 Ctrl + O
) 来加载这个局部重绘工作流

4.ComfyUI 局部重绘工作流示例讲解

请参照图片序号对照下面的提示完下操作:
- 请确保已经加载了你所下载使用的模型
- 请在在
Load Image
节点中加载局部重绘的素材 - 点击
Queue
按钮,或者使用快捷键Ctrl + Enter(回车)
来执行图片生成
此外我们在这里可以对比一下,下图是使用v1-5-pruned-emaonly-fp16.safetensors 模型来进行 inpainting 的结果。
你会发现 512-inpainting-ema.safetensors 模型生成的结果局部重绘的效果更好过渡更自然。 这因为这个模型是专为 inpainting 设计的模型,它可以帮助我们更好地控制生成区域,从而获得更好的局部重绘效果。
v1-5-pruned-emaonly-fp16(Stable Diffusion) | 512-inpainting-ema |
---|---|
![]() |
![]() ![]() |
记得我们一直用的比喻吗?不同的模型就像能力不同的画家一样,但每个画家都有自己能力的上限,选择合适的模型可以让你的生成效果更好。你可以进行下面的尝试来让画面达到你想要的效果:
- 修改正向 、负向提示词,使用更具体的描述
- 尝试多次运行,让
KSampler
使用不同的种子,从而带来不同的生成效果 - 在了解本篇遮罩编辑器使用的部分后,对于生成的结果再次进行重绘以获得满意的结果。
接下来我们将简单了解如何使用 遮罩编辑器(Mask Editor) ,因为之前提供的输入图片中是已经包含了alpha
透明通道(也就是我们希望在绘图过程中进行编辑的区域),所以并不需要你手动绘制,但在日常使用中我们会更经常使用 遮罩编辑器(Mask Editor) 来绘制 蒙版(Mask)
5.使用遮罩编辑器(Mask Editor) 绘制蒙版
首先在上一步工作流中的Save Image
节点上右键,你可以在右键菜单中看到复制(Clipspace)
选项,点击后会复制当前图片到剪贴板
然后在 加载图像(Load Image) 节点上右键,你可以在右键菜单中看到Paste(Clipspace)
选项,点击后会从剪贴板中粘贴图片
然后在 加载图像(Load Image) 节点上右键,你可以在右键菜单中看到在遮罩编辑器中打开(Open in MaskEditor)
选项,点击后会打开遮罩编辑器
- 你可以右侧编辑相关参数,比如调整画笔大小、透明度等等
- 绘制错误区域可以使用橡皮檫来擦除
- 绘制完成后点击
Save
按钮保存蒙版
这样绘制完成的内容就会作为 遮罩(Mask) 输入到 VAE Encoder (for Inpainting) 节点中一起进行编码然后试着调整提示词,再次进行生成,直到你可以完成满意的生成结果。
6.局部重绘制相关节点
通过文生图、图生图 和本篇的工作流对比,我想你应该可以看到这几个工作流主要的差异都在于 VAE 部分这部分的条件输入, 在这个工作流中我们使用到的是 VAE 内部编码器 节点,这个节点是专门用于局部重绘的节点,它可以帮助我们更好地控制生成区域,从而获得更好的生成效果。
输入类型
参数名称 | 作用 |
---|---|
pixels |
需要编码到潜空间的输入图像。 |
vae |
用于将图片从像素空间编码到潜在空间的 VAE 模型。 |
mask |
图片遮罩,用来具体指明哪个区域需要进行修改。 |
grow_mask_by |
在原有的遮罩基础上,向外扩展的像素值,保证在遮罩区域外围有一定的过度区域,避免重绘区域与原图存在生硬的过渡。 |
输出类型
参数名称 | 作用 |
---|---|
latent |
经过 VAE 编码后的潜空间图像。 |
二、关于扩图
本篇指南将带你了解 ComfyUI 中的扩图工作流,带你完成一个扩图的示例
本篇将引导了解 AI 绘图中扩图的概念,并在 ComfyUI 中完成扩图工作流生成。我们将接触以下内容:
- 使用扩图工作流完成画面的扩展
- 了解并使用 ComfyUI 中的扩图相关节点
- 掌握扩图的基本操作流程
在 AI 图像生成过程中,我们经常会遇到这样的需求:已有的图片构图很好,但是画面范围太小,需要扩展画布来获得更大的场景,这时候就需要用到扩图功能。
这就像让 画家(AI 绘图模型) 在已有的画作基础上,向外延伸绘制更大的场景。我们需要告诉画家 需要扩展的方向和范围,画家会根据已有的画面内容,合理地延伸和扩展场景。
基本上它要求的内容与局部重绘相似,只不过我们用来构建遮罩(Mask)的节点不同
扩图的应用场景包括:
- 场景扩展: 扩大原有画面的场景范围,展现更完整的环境
- 构图调整: 通过扩展画布来优化整体构图
- 内容补充: 为原有画面添加更多相关的场景元素
1. 模型安装
2. 输入图片
请准备一张你想要进行扩展的图片。在本例中,我们将使用下面这张图片作为示例:
3. 扩图工作流
请下载下面的图片,并将其 拖入 ComfyUI 界面或使用菜单 工作流(Workflow) --> 打开工作流(Open,快捷键 Ctrl + O
) 来加载这个扩图工作流
3.1 扩图工作流使用讲解

扩图工作流的关键步骤如下:
- 请在
加载模型(Load Checkpoint)
节点中加载你本地安装的模型文件 - 请在
加载图片(Load Image)
节点中点击Upload
按钮上传 - 点击
Queue
按钮,或者使用快捷键Ctrl + Enter(回车)
来执行图片生成
在这个工作流中主要是通过 Pad Image for outpainting
节点来控制图片的扩展方向和范围,其实这也是一个 局部重绘(Inpaint) 工作流,只不过我们用来构建遮罩(Mask)的节点不同。
3.2 Pad Image for outpainting 节点

这个节点接受一个输入图片,并输出一张扩展过的图像和对应的遮罩(Mask),其中遮罩由于对应的节点参数构建。
3.3 输入参数
参数名称 | 作用 |
---|---|
image |
输入图片 |
left |
左侧填充量 |
top |
顶部填充量 |
right |
右侧填充量 |
bottom |
底部填充量 |
feathering |
控制原始图像与添加的填充内容之间的过渡平滑度,越大越平滑 |
3.4 输出参数
参数名称 | 作用 |
---|---|
image |
输出image 代表已填充的图像 |
mask |
输出mask 指示原始图像和添加的填充区域 |
3.5 节点输出内容
经过 Pad Image for outpainting
节点处理后,输出的图片和蒙版预览如下:

你可以看到对应的输出结果
Image
输出的是扩展后的图像Mask
输出的是标记了扩展区域的蒙版
3.6 效果对比
origin | result |
---|---|
![]() |
![]() |