Tutorial Lesson

局部重绘Inpaint

ComfyUI保姆级零基础教程 64 浏览 2026-07-07 更新 免费阅读

一、Inpaint 是什么?

局部重绘:只修改图中 蒙版(MASK)标记的区域,其余像素尽量保持。

 

整图 img2img

Inpaint

修改范围

全图

蒙版内

典型用途

换整体风格

换背景、改脸、去水印

需要 MASK

蒙版规则(ComfyUI 常见约定,以具体节点说明为准):

  • 白色:要重绘的区域;

  • 黑色:保留不动的区域。


二、Inpaint 工作流结构(通用)

常见两种搭建方式:

方式 A:VAE Encode (for Inpaint) 专用链

部分工作流使用带 mask 输入的 Encode 节点,或 Set Latent Noise Mask 等节点,在 latent 上限制噪声仅作用于蒙版区。

方式 B:标准 inpaint 节点组合(易理解)

典型节点链:

Load Image ──→ IMAGE ──┬──→ VAE Encode ──→ latent ──→ KSampler
Load Image ──→ MASK ──┘         ↑
                              (inpaint 专用 encode 或 noise mask)

ComfyUI 内置及插件中常见节点名(搜索时使用):

  • Load Image — 可输出 IMAGE + MASK(若图片带 Alpha)

  • Load Image (as Mask) / 单独加载蒙版

  • VAE Encode (for Inpainting) — SDXL inpaint 等

  • Set Latent Noise Mask — 将 mask 应用到 latent

  • InpaintModelConditioning — SDXL/Flux 等新 inpaint conditioning

新手建议:先从社区 SDXL Inpaint 模板 或 Manager 模板加载,对照学习连线,再改参数。


三、准备蒙版 MASK

3.1 在 ComfyUI 内绘制(若插件支持)

部分 Custom Nodes 提供 Mask Editor 直接在界面涂抹。

3.2 在 Photoshop / 其他工具绘制

  1. 原图导入 PS;

  2. 新建图层,白色 涂抹要改的区域;

  3. 其余为 黑色

  4. 保存为 PNG(或原图带 Alpha 通道);

  5. 放入 input/,用 Load Image 加载。

3.3 从 Load Image 分离

  • Alpha 通道 的 PNG:Load Image 可能同时输出 IMAGE 与 MASK;

  • 仅要蒙版时,用 Convert Image to Mask 等节点。

3.4 蒙版质量要点

  • 边缘可 轻微羽化,减少硬边接缝;

  • 要改的区域 略大于 实际物体,便于融合;

  • 换背景时,人物边缘蒙版要准,否则易有 halo。


四、搭建 SD1.5 / SDXL 基础 Inpaint(步骤概要)

具体节点名因模型与插件而异,以下为逻辑步骤。

步骤 1:Load Checkpoint

选择支持 inpaint 的模型,或 通用 Checkpoint + inpaint 工作流(SDXL 常用 base + inpaint conditioning)。

步骤 2:Load Image + Mask

  • 原图 → IMAGE;

  • 蒙版 → MASK(确保尺寸与原图一致,不一致时用 Scale 对齐)。

步骤 3:Encode 与 Mask 应用

  • IMAGE + VAE → latent;

  • 通过 Set Latent Noise MaskInpaintModelConditioning 将 MASK 并入采样条件。

步骤 4:Prompt

  • 正向:描述 蒙版区域内 要出现的内容,如 blue sky, clouds, sunny(换背景);

  • 负向:通用质量负向。

步骤 5:KSampler

参数

Inpaint 建议

denoise

0.65–0.85(蒙版内需足够重绘)

cfg

6–8

steps

25–35

蒙版内 denoise 往往 高于 整图 img2img,否则改不动。

步骤 6:VAE Decode → Save

与 img2img 相同。


五、典型应用场景

5.1 换背景

  • 蒙版:人物外全白,人物内黑(或人物精确抠图反相,视工作流);

  • Prompt:outdoor beach, sunset, bokeh

  • denoise:0.75–0.85。

5.2 改服装 / 局部物体

  • 蒙版:仅衣服或物体区域;

  • Prompt:描述新服装或新物体;

  • denoise:0.7 左右。

5.3 去水印 / 去路人

  • 蒙版:覆盖水印或路人;

  • Prompt:描述周围应补全的内容,如 grass, pavement, continuous texture

  • 可略降 denoise 若背景简单。

5.4 修脸

  • 蒙版:仅面部;

  • Prompt:质量词 + 面部描述;

  • denoise:0.45–0.65,避免换脸过度;

  • 人物一致需求高时结合 InstantID(第 7 章)。


六、边缘融合与 seam 问题

现象

可能原因

处理

蒙版边缘一圈亮/暗

羽化不足或 denoise 过高

蒙版羽化;略降 denoise

内外色差

Prompt 与外部不协调

加强外部描述或二次整体 img2img 低 denoise

蒙版内模糊

steps 不足或模型弱

提高 steps;换 inpaint 专用模型

蒙版外被影响

mask 未正确应用

检查 Set Latent Noise Mask 连线

技巧:inpaint 完成后,整图再 img2img denoise 0.15–0.25 统一色调。


七、Inpaint 与 img2img 组合流程

1. 整图 img2img(换大风格,denoise 0.55)
2. PS 或 Mask Editor 做蒙版
3. Inpaint(改局部,denoise 0.75)
4. (可选)轻量 img2img 统一(denoise 0.2)

八、常见问题

问题

处理

找不到 inpaint 节点

Manager 搜 inpaint;加载 SDXL inpaint 模板

MASK 全白全图重绘

检查 mask 是否反相

尺寸 mismatch

Image 与 Mask 缩放至相同宽高

蒙版内无变化

提高 denoise;确认 mask 已接入 KSampler 链

推荐教程

继续学习相关章节