局部重绘与扩图:Inpainting & Outpainting 实战
AI 不仅能画图,还能修图。局部重绘 (Inpainting) 允许你只重新生成图片的一部分,而保持其他部分不变。
1. 准备遮罩 (Mask)
在 ComfyUI 中,你需要先告诉 AI 哪部分需要重绘。
- 右键点击
Load Image节点。 - 选择
Open in MaskEditor。 - 在弹出的窗口中,用画笔涂抹你想要修改的区域(比如脸部)。
- 点击
Save to node。 此时,Load Image节点的MASK输出端口就有了数据。
2. 局部重绘工作流
核心节点:VAE Encode (for Inpainting)
普通的 VAE Encode 只有 pixels 输入。而重绘专用版多了两个输入:
- mask: 连接
Load Image的 MASK。 - grow_mask_by: 遮罩羽化/扩展像素。建议设为 6,避免重绘边缘生硬。
连线变化
Load Image(带遮罩) ->VAE Encode (for Inpainting).VAE Encode的 LATENT ->KSampler.- KSampler Denoise:
- 设为
0.6 - 0.8。 - 必须给 AI 足够的自由度去重绘,太低了改不动。
- 设为
3. 扩图 (Outpainting)
扩图本质上也是 Inpainting,只不过是把画布变大,让 AI 填补空白。
步骤
- 使用
Pad Image for Outpainting节点。- 输入: 原始图片。
- 参数:
left,top,right,bottom(设置向各方向扩展的像素数,如 512)。 feathering: 羽化边缘。
- 这个节点会输出一张带遮罩的图片(中间是原图,四周是黑色且标记为 Mask)。
- 将其连入
VAE Encode (for Inpainting)。 - KSampler Denoise 设为
1.0(因为填充区域是全黑的,需要完全重画)。
4. 模型选择
虽然普通模型也能重绘,但强烈建议使用 Inpainting 专用模型 (如 sd-v1-5-inpainting.ckpt)。它们对遮罩边缘的理解力强得多,不会出现明显的拼接痕迹。