工作流概述
工作流信息
- 工作流类型: 图像修复
- 难度等级: 进阶
- 预计执行时间: 15-40秒
- 推荐模型: Stable Diffusion 1.5 Inpainting
- ComfyUI版本要求: >= 1.0
功能特点
- 修复图像缺陷
- 替换图像区域
- 添加新元素
- 修改局部内容
适用场景
- 图像修复
- 物体移除
- 内容替换
- 局部编辑
工作流结构
图像修复工作流示意图
下图展示了图像修复工作流的完整流程:
这个图展示了: - LoadImage: 加载图像和掩码 - VAEEncode: 编码图像到潜在空间 - KSampler: 执行采样修复(denoise控制修复强度) - VAEDecode: 解码为图像 - 掩码说明: 白色区域修复,黑色区域保持
节点流程图
LoadImage
├── IMAGE ──┬── VAEEncode ─── KSampler ─── VAEDecode ─── SaveImage
└── MASK ───┴── VAEEncode.for_mask │
└── samples ──┘
CheckpointLoaderSimple
├── MODEL ──────────────┐
├── CLIP ───┬────────────┼── KSampler
└── VAE ────┴────────────┘
CLIPTextEncode (positive) ─── positive ──┘
CLIPTextEncode (negative) ─── negative ──┘
核心节点说明
- 作用: 加载输入图像和掩码
- 关键参数: image(图像文件)
- 输出: IMAGE(图像)、MASK(掩码)
- 作用: 将图像编码到潜在空间
- 关键参数: pixels(图像)、vae(VAE模型)、for_mask(掩码)
- 作用: 执行采样生成
- 关键参数: denoise(去噪强度,通常0.3-0.5)
- CheckpointLoaderSimple: 加载模型
- CLIPTextEncode: 编码提示词
- VAEDecode: 解码潜在空间
- SaveImage: 保存图像
使用步骤
步骤1: 准备工作
- 准备输入图像
- 创建掩码图像(白色=修复区域,黑色=保持区域)
- 将图像和掩码放入
input/目录
步骤2: 加载工作流
- 打开ComfyUI
- 点击"Load"按钮
- 选择工作流JSON文件
步骤3: 配置参数
image: example.png
text: detailed, high quality, natural lighting
text: blurry, low quality, ugly, distorted
seed: 123456789
steps: 25
cfg: 7.5
sampler_name: euler
scheduler: normal
denoise: 0.4 # 图像修复通常0.3-0.5
步骤4: 执行工作流
- 点击"Queue Prompt"按钮
- 等待执行完成
- 查看修复后的图像
工作流JSON
{
"3": {
"inputs": {
"seed": 123456789,
"steps": 25,
"cfg": 7.5,
"sampler_name": "euler",
"scheduler": "normal",
"denoise": 0.4,
"model": ["4", 0],
"positive": ["6", 0],
"negative": ["7", 0],
"latent_image": ["36", 0]
},
"class_type": "KSampler"
},
"4": {
"inputs": {
"ckpt_name": "v1-5-pruned-emaonly.ckpt"
},
"class_type": "CheckpointLoaderSimple"
},
"6": {
"inputs": {
"text": "detailed, high quality, natural lighting",
"clip": ["4", 1]
},
"class_type": "CLIPTextEncode"
},
"7": {
"inputs": {
"text": "blurry, low quality, ugly, distorted",
"clip": ["4", 1]
},
"class_type": "CLIPTextEncode"
},
"8": {
"inputs": {
"samples": ["3", 0],
"vae": ["4", 2]
},
"class_type": "VAEDecode"
},
"9": {
"inputs": {
"filename_prefix": "inpaint_",
"images": ["8", 0]
},
"class_type": "SaveImage"
},
"35": {
"inputs": {
"image": "example.png"
},
"class_type": "LoadImage"
},
"36": {
"inputs": {
"pixels": ["35", 0],
"vae": ["4", 2],
"for_mask": ["35", 1]
},
"class_type": "VAEEncode"
}
}
掩码创建
掩码格式
- 白色区域: 要修复/替换的区域
- 黑色区域: 保持不变的区域
- 灰色区域: 部分修复(可选)
创建方法
- 打开图像编辑软件(Photoshop、GIMP等)
- 创建新图层
- 用白色画笔标记要修复的区域
- 保存为PNG格式(带alpha通道)
- 使用在线图像编辑工具
- 上传图像
- 标记要修复的区域
- 下载掩码图像
- 安装图像编辑插件
- 在ComfyUI中创建掩码
- 直接使用掩码
参数配置指南
关键参数说明
- 0.2-0.3: 轻微修复,保持原图
- 0.3-0.5: 标准修复,平衡质量和保持
- 0.5-0.7: 较大修改,改变内容
- 注意: 图像修复通常使用较低的denoise值
- 推荐: 20-30步
- 影响: 步数越多修复质量越好
- 权衡: 在质量和速度间平衡
- 推荐: 7-9
- 影响: 值越大越遵循提示词
- 注意: 值过高可能不自然
示例结果
示例1: 修复缺陷
- 输入: 有缺陷的图像
- 掩码: 标记缺陷区域
- 提示词: detailed, high quality
- denoise: 0.4
- 结果: 修复后的图像
示例2: 移除物体
- 输入: 包含不需要物体的图像
- 掩码: 标记物体区域
- 提示词: background, natural
- denoise: 0.5
- 结果: 物体被移除
示例3: 添加元素
- 输入: 基础图像
- 掩码: 标记要添加元素的区域
- 提示词: beautiful flower, detailed
- denoise: 0.6
- 结果: 添加了新元素的图像
提示词技巧
修复提示词
- 高质量: detailed, high quality, sharp
- 自然: natural, realistic, coherent
- 光照: good lighting, natural lighting
替换提示词
- 描述新内容: 清晰描述要添加的内容
- 风格匹配: 与原图风格匹配
- 细节: 添加细节描述
负向提示词
- 避免缺陷: blurry, low quality, ugly
- 避免不自然: distorted, unnatural, bad anatomy
- 避免不想要的内容: 根据需求添加
优化建议
修复质量
- 精确掩码: 创建精确的掩码
- 合适denoise: 使用合适的denoise值
- 改进提示词: 使用精确的提示词
- 增加steps: 提高修复质量
效果控制
- denoise值: 控制修复程度
- 掩码精度: 控制修复区域
- 提示词强度: 调整cfg值
性能优化
- 减少steps: 提高速度
- 降低分辨率: 使用较小输入图像
- 使用快速采样器: euler或lcm
常见问题
Q1: 掩码如何创建?
A: 使用图像编辑软件创建,白色区域为修复区域,黑色区域为保持区域。
Q2: denoise值如何设置?
A: 图像修复通常使用0.3-0.5,轻微修复用0.2-0.3,标准修复用0.3-0.5。
Q3: 修复效果不自然怎么办?
A: 降低denoise值,改进提示词,增加steps。
Q4: 如何移除物体?
A: 创建标记物体的掩码,使用背景相关的提示词。
Q5: 修复区域有边界怎么办?
A: 扩大掩码区域,降低denoise值,使用羽化效果。
变体工作流
变体1: 轻微修复
- denoise: 0.2-0.3
- steps: 20
- cfg: 7
- 用途: 轻微修复缺陷
变体2: 标准修复
- denoise: 0.3-0.5
- steps: 25
- cfg: 7.5
- 用途: 标准图像修复
变体3: 内容替换
- denoise: 0.5-0.7
- steps: 30
- cfg: 8
- 用途: 替换图像内容
相关工作流
扩展阅读
更新日志
- 2026-01-26: 初始版本创建