基础节点与插件

ComfyUI 中 文生图(Text-to-Image)**工作流中常用的节点,帮助你快速理解其核心功能。这些节点是构建文生图流程的基础,通过连接它们可以完成从文本提示到生成图像的过程。


Load Checkpoint (加载模型)

  • 作用:加载 Stable Diffusion 模型(例如 SD1.5、SDXL 等)。

  • 输入:

    • ckpt_name:选择模型文件(.ckpt 或 .safetensors 格式)。
  • 输出:

    • MODEL:模型对象。

    • CLIP:用于处理文本的 CLIP 模型。

    • VAE:变分自编码器,用于解码生成的图像。

  • 用途:这是文生图的起点,加载预训练模型以供后续节点使用。


CLIP Text Encode (Prompt) (文本编码)

  • 作用:将文本提示词(Prompt)编码为模型可理解的格式。

  • 输入:

    • text:输入提示词,例如“a cute cat in a sunny garden”。

    • clip:从 Load Checkpoint 节点输出的 CLIP 模型。

  • 输出:

    • CONDITIONING:编码后的提示词条件。
  • 用途:

    • 需要两个这样的节点:一个用于正向提示词(Positive Prompt),一个用于负向提示词(Negative Prompt,例如“blurry, low quality”)。

    • 正向提示词描述你想要的内容,负向提示词排除不需要的元素。


Empty Latent Image (创建空白潜在图像)

  • 作用:生成一个空白的潜在图像(Latent Image),作为生成图像的起点。

  • 输入:

    • width 和 height:设置生成图像的分辨率(例如 512x512 或 1024x768)。

    • batch_size:生成图像的数量(通常设为 1)。

  • 输出:

    • LATENT:空白的潜在图像。
  • 用途:为后续采样过程提供初始的潜在空间数据。


KSampler (采样器)

  • 作用:通过采样算法从潜在空间生成图像。

  • 输入:

    • model:从 Load Checkpoint 节点输出的 MODEL。

    • positive 和 negative:从 CLIP Text Encode 节点输出的正向和负向条件。

    • latent_image:从 Empty Latent Image 节点输出的空白潜在图像。

    • seed:随机种子(控制生成结果的随机性,固定种子可复现结果)。

    • steps:采样步数(通常 20-50,步数越多细节越精细但耗时更长)。

    • cfg:提示词引导系数(CFG Scale,通常 7-12,控制提示词对生成结果的影响)。

    • sampler_name 和 scheduler:选择采样器和调度器(例如 Euler a、DPM++ 2M Karras)。

  • 输出:

    • LATENT:采样后的潜在图像。
  • 用途:核心节点,执行文生图的扩散过程,生成潜在图像。


VAE Decode (解码潜在图像)

  • 作用:将潜在图像解码为实际图像。

  • 输入:

    • samples:从 KSampler 输出的 LATENT。

    • vae:从 Load Checkpoint 节点输出的 VAE。

  • 输出:

    • IMAGE:最终生成的图像。
  • 用途:将潜在空间的表示转换为可见的像素图像。


Save Image (保存图像)

  • 作用:将生成的图像保存到本地。

  • 输入:

    • images:从 VAE Decode 输出的 IMAGE。

    • filename_prefix:文件名前缀(例如“output”)。

  • 输出:无(直接保存图像到指定路径)。

  • 用途:保存生成结果,通常保存在 ComfyUI 的 output 文件夹中。


典型文生图工作流连接

  1. Load Checkpoint → 输出 MODEL、CLIP、VAE。

  2. CLIP Text Encode (Positive) 和 CLIP Text Encode (Negative) → 用 CLIP 编码正向和负向提示词。

  3. Empty Latent Image → 创建空白潜在图像。

  4. KSampler → 连接 MODEL、正向/负向条件、空白潜在图像,设置采样参数,生成潜在图像。

  5. VAE Decode → 连接 KSampler 的输出和 VAE,解码为图像。

  6. Save Image → 保存最终图像。


补充节点(可选)

Preview Image:预览生成的图像,连接在 VAE Decode 后,方便调试。
Latent Upscale 或 Image Upscale:用于放大图像分辨率。
ControlNet 相关节点:如果需要基于草图、姿势等控制生成结果,可以添加 ControlNet 节点。


简单示例

假设你想生成“一只可爱的猫在阳光明媚的花园中”(分辨率 512x512,20步采样,CFG 7):

  1. Load Checkpoint:加载 SD1.5 模型。
  2. CLIP Text Encode (Positive):输入“a cute cat in a sunny garden”。
  3. CLIP Text Encode (Negative):输入“blurry, low quality”。
  4. Empty Latent Image:设置 512x512。
  5. KSampler:设置 steps=20, CFG=7, sampler=Euler a。
  6. VAE Decode:解码图像。
  7. Save Image:保存结果。