模板概述
工作流结构
节点流程图(Mermaid)
graph TD
A[CheckpointLoaderSimple] -->|MODEL| B[KSampler]
A -->|CLIP| C[CLIPTextEncode]
A -->|CLIP| D[CLIPTextEncode]
A -->|VAE| E[VAEDecode]
C -->|CONDITIONING| B
D -->|CONDITIONING| B
F[LoadImage] -->|IMAGE| G[VAEEncode]
F -->|MASK| G
G -->|LATENT| B
B -->|LATENT| E
E -->|IMAGE| H[SaveImage]
style A fill:#e1f5ff
style B fill:#fff4e1
style C fill:#ffe1f5
style D fill:#ffe1f5
style E fill:#e1ffe1
style F fill:#e1ffe1
style G fill:#e1ffe1
style H fill:#ffe1e1
图像修复流程
graph LR
A[输入图像+掩码] --> B[VAE编码]
B --> C[采样修复]
C --> D[VAE解码]
D --> E[修复图像]
style A fill:#e1ffe1
style B fill:#fff4e1
style C fill:#fff4e1
style D fill:#fff4e1
style E fill:#fff4e1
节点配置
1. CheckpointLoaderSimple
{
"inputs": {
"ckpt_name": "v1-5-pruned-emaonly.ckpt"
},
"class_type": "CheckpointLoaderSimple"
}
2. LoadImage
{
"inputs": {
"image": "input.png"
},
"class_type": "LoadImage"
}
3. VAEEncode
{
"inputs": {
"pixels": ["2", 0],
"vae": ["1", 2],
"for_mask": ["2", 1]
},
"class_type": "VAEEncode"
}
4. CLIPTextEncode (正向)
{
"inputs": {
"text": "detailed, high quality, natural lighting",
"clip": ["1", 1]
},
"class_type": "CLIPTextEncode"
}
5. CLIPTextEncode (负向)
{
"inputs": {
"text": "blurry, low quality, ugly, distorted",
"clip": ["1", 1]
},
"class_type": "CLIPTextEncode"
}
6. KSampler
{
"inputs": {
"seed": 123456789,
"steps": 25,
"cfg": 7.5,
"sampler_name": "euler",
"scheduler": "normal",
"denoise": 0.4,
"model": ["1", 0],
"positive": ["4", 0],
"negative": ["5", 0],
"latent_image": ["3", 0]
},
"class_type": "KSampler"
}
7. VAEDecode
{
"inputs": {
"samples": ["6", 0],
"vae": ["1", 2]
},
"class_type": "VAEDecode"
}
8. SaveImage
{
"inputs": {
"filename_prefix": "inpaint_",
"images": ["7", 0]
},
"class_type": "SaveImage"
}
完整工作流JSON
{
"1": {
"inputs": {
"ckpt_name": "v1-5-pruned-emaonly.ckpt"
},
"class_type": "CheckpointLoaderSimple"
},
"2": {
"inputs": {
"image": "input.png"
},
"class_type": "LoadImage"
},
"3": {
"inputs": {
"pixels": ["2", 0],
"vae": ["1", 2],
"for_mask": ["2", 1]
},
"class_type": "VAEEncode"
},
"4": {
"inputs": {
"text": "detailed, high quality, natural lighting",
"clip": ["1", 1]
},
"class_type": "CLIPTextEncode"
},
"5": {
"inputs": {
"text": "blurry, low quality, ugly, distorted",
"clip": ["1", 1]
},
"class_type": "CLIPTextEncode"
},
"6": {
"inputs": {
"seed": 123456789,
"steps": 25,
"cfg": 7.5,
"sampler_name": "euler",
"scheduler": "normal",
"denoise": 0.4,
"model": ["1", 0],
"positive": ["4", 0],
"negative": ["5", 0],
"latent_image": ["3", 0]
},
"class_type": "KSampler"
},
"7": {
"inputs": {
"samples": ["6", 0],
"vae": ["1", 2]
},
"class_type": "VAEDecode"
},
"8": {
"inputs": {
"filename_prefix": "inpaint_",
"images": ["7", 0]
},
"class_type": "SaveImage"
}
}
掩码创建
掩码格式
graph TD
A[掩码图像] --> B[白色区域]
A --> C[黑色区域]
A --> D[灰色区域]
B --> B1[修复区域]
C --> C1[保持区域]
D --> D1[部分修复]
style A fill:#e1f5ff
style B fill:#fff4e1
style C fill:#ffe1f5
style D fill:#e1ffe1
掩码创建流程
graph LR
A[打开图像] --> B[创建新图层]
B --> C[标记修复区域]
C --> D[保存掩码]
style A fill:#e1ffe1
style B fill:#fff4e1
style C fill:#fff4e1
style D fill:#fff4e1
参数说明
Denoise参数
graph TD
A[Denoise] --> B[0.2-0.3]
A --> C[0.3-0.5]
A --> D[0.5-0.7]
B --> B1[轻微修复]
C --> C1[标准修复]
D --> D1[大幅修复]
style A fill:#e1f5ff
style B fill:#fff4e1
style C fill:#ffe1f5
style D fill:#e1ffe1
推荐配置
- 轻微修复: denoise=0.3
- 标准修复: denoise=0.4
- 大幅修复: denoise=0.6
使用步骤
修复流程
graph LR
A[准备图像] --> B[创建掩码]
B --> C[加载工作流]
C --> D[设置参数]
D --> E[执行修复]
E --> F[查看结果]
style A fill:#e1ffe1
style B fill:#fff4e1
style C fill:#fff4e1
style D fill:#fff4e1
style E fill:#fff4e1
style F fill:#fff4e1
示例结果
示例1: 修复缺陷
- 输入: 有缺陷的图像
- 掩码: 标记缺陷区域
- 提示词: detailed, high quality
- denoise: 0.4
- 结果: 修复后的图像
示例2: 移除物体
- 输入: 包含不需要物体的图像
- 掩码: 标记物体区域
- 提示词: background, natural
- denoise: 0.5
- 结果: 物体被移除
常见问题
Q1: 掩码如何创建?
A: 使用图像编辑软件,白色区域为修复区域。
Q2: denoise设置多少?
A: 图像修复通常0.3-0.5,轻微修复0.2-0.3。
Q3: 修复效果不自然?
A: 降低denoise值,改进提示词,增加steps。
Q4: 修复区域有边界?
A: 扩大掩码区域,降低denoise值,使用羽化效果。
Q5: 可以批量修复吗?
A: 可以,使用批处理功能批量修复多张图像。
相关模板
更新日志
- 2026-01-26: 初始版本创建