目录
ComfyUI 图生图教程(img2img):用参考图片生成新图
图生图(image to image) 是以一张现有图片为起点,而不是从纯噪声开始。可以用来:
- 把手绘草图变成完整的插画
- 把照片转换成水彩、动漫等风格
- 保留构图,只改变细节或配色
和文生图的区别
文生图从 Empty Latent Image(空白 latent)开始;图生图则是把图片用 VAE Encode 转成 latent,再交给 KSampler:
文生图:[Empty Latent Image] ──────────────────────▶ [KSampler denoise=1.0]
图生图:[Load Image] ─▶ [VAE Encode] ─LATENT────────▶ [KSampler denoise=0.5]
创建工作流
从文生图工作流修改:
- 删除 Empty Latent Image。
- 添加 Load Image,点击上传图片(或直接把图片拖到节点上)。
- 添加 VAE Encode:
pixels接 Load Image 的 IMAGEvae接 Load Checkpoint 的 VAE
- 将 VAE Encode 的 LATENT 接到 KSampler 的
latent_image。 - 把 KSampler 的 denoise 改为 0.5 左右。

模板中通常也有现成的图生图工作流可以直接使用。
denoise 是关键
| denoise | 效果 |
|---|---|
| 0.2~0.35 | 几乎不变,只修饰细节与质感 |
| 0.4~0.6 | 保留构图与配色,内容与风格会明显改变 |
| 0.7~0.85 | 只保留大致的构图与色块 |
| 1.0 | 完全忽略原图,等同于文生图 |
先从 0.5 开始,根据结果调高或调低。
图片尺寸
VAE Encode 会使用原图的尺寸。图片太大会很慢,甚至导致内存不足;太小则细节不足。最好让尺寸接近模型建议的分辨率(例如 SDXL 约 1024 像素)。
在 Load Image 与 VAE Encode 之间添加缩放节点:
- Upscale Image By:按比例缩放,例如 0.5
- Upscale Image:指定宽高,可以选择裁剪方式
- ImageScaleToTotalPixels:缩放到指定的总像素数(例如 100 万像素),保持比例
宽高最好是 8 的倍数(多数模型建议为 64 的倍数)。
应用示例
草图 → 成稿
- 输入:用简单色块画的草图
- 提示词:完整描述想要的画面与风格
- denoise:0.6~0.75(需要大幅改变质感,但保留构图)
照片 → 插画风格
- 提示词:
watercolor illustration of ...(描述照片内容 + 目标风格) - denoise:0.45~0.6
- 搭配风格 LoRA 效果更好,见 LoRA
修饰 AI 生成的图
先生成一张图,再用较低的 denoise(0.3)和相同提示词重新运行一次,可以增加细节、修正小瑕疵。这也是放大流程中常用的技巧。
图生图的限制
图生图会同时改变整张图。如果只想修改某个区域(例如只换衣服、去掉路人),请使用局部重绘(Inpaint)。想要保留构图或姿势,但大幅改变内容,则可以使用 ControlNet。
更新于 2026年10月12日