一、文生图 vs 图生图:差在哪?
1.1 文生图(txt2img)
Empty Latent Image(空白潜空间)
↓
KSampler(denoise = 1.0,从纯噪声开始去噪)
↓
VAE Decode → 图片
-
没有输入照片;
-
latent 里是「随机噪声 + 指定尺寸」;
-
denoise 固定为 1.0(100% 重新生成)。
1.2 图生图(img2img)
Load Image(上传的照片)
↓
VAE Encode(像素 → LATENT)
↓
KSampler(denoise < 1.0,在原有 latent 上加噪再去噪)
↓
VAE Decode → 新图片
-
有输入照片作为起点;
-
先在 latent 里「保留原图信息」,再按 Prompt 改写;
-
denoise 决定改多少。
一句话:文生图从白纸开始;图生图从「已有草稿」开始改。
二、VAE Encode 是什么?
2.1 作用
VAE Encode 节点把 IMAGE(蓝) 压缩成 LATENT(粉),供 KSampler 在潜空间里操作。
|
方向 |
节点 |
转换 |
|---|---|---|
|
像素 → 潜空间 |
VAE Encode |
IMAGE → LATENT |
|
潜空间 → 像素 |
VAE Decode |
LATENT → IMAGE |
文生图只用 Decode;图生图 Encode 和 Decode 都要用。
2.2 连线
Load Checkpoint → VAE(红)──→ VAE Encode → LATENT ──→ KSampler (latent_image)
Load Image → IMAGE(蓝)──→ VAE Encode
VAE 必须与生成用的 Checkpoint 匹配(或该模型推荐的 VAE),否则颜色发灰、细节异常。
2.3 为什么不能 IMAGE 直接进 KSampler?
KSampler 的 latent_image 插槽类型是 LATENT,不是 IMAGE。
跳过 Encode 等于让「驾驶舱接错管线」——类型不匹配,无法连接或结果错误。
三、denoise 去噪强度详解
3.1 它控制什么?
在 img2img 中,KSampler 会先对输入 latent 按 denoise 比例注入噪声,再逐步去噪。
|
denoise |
含义(直观理解) |
|---|---|
|
1.0 |
相当于忽略原图结构,等同文生图(原图仅影响尺寸时) |
|
0.7–0.8 |
大幅改动,构图可能明显变化 |
|
0.5–0.6 |
常用区间:保留主体结构,改风格/细节 |
|
0.3–0.4 |
小幅修饰,原图非常像 |
|
0.1–0.2 |
几乎只微调纹理/色彩 |
|
0.0 |
理论上不改变(实际很少用) |
3.2 与 steps 的关系
-
steps:去噪走多少步;
-
denoise:起点离原图有多远。
同样 steps=30:
-
denoise 高 → 每步变化大,整体偏离原图多;
-
denoise 低 → 每步变化小,更贴原图。
经验:先定 denoise 定「改多少」,再调 steps 定「细不细」。
3.3 常见场景推荐
|
目标 |
denoise 建议 |
|---|---|
|
换画风(动漫↔写实) |
0.55–0.75 |
|
洗图 / 重绘细节 |
0.45–0.65 |
|
调色、轻修 |
0.25–0.40 |
|
局部 inpaint(见 4-4) |
蒙版区域内常 0.6–0.85 |
|
几乎只要原图 |
0.15–0.30 |
没有绝对标准,需 同图试 3 个值 对比(如 0.45 / 0.55 / 0.65)。
四、图生图完整数据流
[Load Checkpoint]
MODEL ─────────────────────────────→ [KSampler]
CLIP ──→ [CLIP+] / [CLIP-] ──→ COND ──→ [KSampler]
VAE ──→ [VAE Encode] ←── IMAGE ←── [Load Image]
│
LATENT ──────────────────→ [KSampler] (latent_image)
│
LATENT
↓
[VAE Decode] ← VAE
│
IMAGE → [Save Image]
与文生图的唯一核心差异:
-
用 Load Image + VAE Encode 替代 Empty Latent Image;
-
KSampler denoise < 1.0。
五、分辨率与比例
5.1 Encode 后的 latent 尺寸
VAE Encode 会按 输入图片尺寸(及模型规则)生成 latent。
上传 1024×768 的图,KSampler 就在对应比例的 latent 上操作。
5.2 与文生图混用注意
-
不要随意在 img2img 中间换 Empty Latent 尺寸,除非你知道模型支持且工作流设计如此;
-
SDXL 建议单边 ≥ 768;过小再放大易糊。
5.3 先缩小再 img2img?
大图占显存时,可先 Scale 缩小 → img2img → 再 放大。第 8 章会展开。
六、denoise = 1 时还算图生图吗?
技术上仍走 Encode 流程,但若 denoise=1.0:
-
原图 latent 信息被噪声基本覆盖;
-
结果主要由 Prompt + seed 决定,构图未必保留原图。
因此:
-
想保留构图 → denoise 务必 < 0.85,多数情况 0.5–0.7;
-
只想用原图尺寸或轻微参考 → 才考虑更高 denoise。
七、常见误解
|
误解 |
事实 |
|---|---|
|
图生图 = 换 Prompt 就行 |
还要 VAE Encode,并调 denoise |
|
denoise 越高越好 |
过高会丢失原图,像重抽 |
|
denoise 越低越安全 |
过低改不动,达不到换风格目的 |
|
文生图也能 denoise=0.5 |
文生图 latent 来自 Empty,低 denoise 无原图可保留 |
八、参数实验(建议动手)
同一张图、同一 Prompt,固定 seed,只改 denoise:
|
实验 |
denoise |
观察 |
|---|---|---|
|
A |
0.35 |
与原图相似度 |
|
B |
0.55 |
风格变化程度 |
|
C |
0.75 |
构图是否还像 |
记录结论,作为个人「洗图 denoise 表」。