目录

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]

创建工作流

从文生图工作流修改:

  1. 删除 Empty Latent Image。
  2. 添加 Load Image,点击上传图片(或直接把图片拖到节点上)。
  3. 添加 VAE Encode:
    • pixels 接 Load Image 的 IMAGE
    • vae 接 Load Checkpoint 的 VAE
  4. 将 VAE Encode 的 LATENT 接到 KSampler 的 latent_image。
  5. 把 KSampler 的 denoise 改为 0.5 左右。
ComfyUI 图生图工作流
图生图:Load Image 经 VAE Encode 转成 latent 后接到 KSampler,denoise 设为 0.6

模板中通常也有现成的图生图工作流可以直接使用。

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日