跳转至

08 ComfyUI 图像生成入门

一句话说明:ComfyUI 是一个基于节点(Node)的 Stable Diffusion 图像生成界面,把"文字变图片"的每一步都拆成可拖拽的积木块,让你像搭乐高一样控制 AI 画图的全过程。


一、为什么要学 AI 图像生成 / ComfyUI

1.1 AI 图像生成能做什么

场景 具体例子
论文配图 用 AI 生成示意图、流程图的初稿,再精修
PPT / 海报 快速产出风格统一的插画素材
头像 / 壁纸 个人使用,自由度极高
产品原型 给设计师一个"差不多是这样"的草图
科研可视化 蛋白质结构、细胞图示的艺术化渲染
自媒体配图 公众号、B 站封面批量生成

1.2 为什么选 ComfyUI 而不是其他工具

对比项 ComfyUI WebUI (A1111) Fooocus
上手难度 中等(需要理解节点) 低(填表式) 极低(几乎无参数)
可控性 极高,每一步可调
显存占用 低(自动队列调度)
工作流复用 一键导入/导出 JSON 需要手动对参数 不支持
批量生产 天然适合 需要脚本 不适合
社区生态 增长最快,插件丰富 成熟但增速放缓
适合人群 想深入理解+批量出图 想快速出图 纯小白体验

结论:如果你只是想体验一下,Fooocus 最快;如果你想真正理解并掌控 AI 画图流程,ComfyUI 是 2024-2025 年的主流选择。


二、核心概念白话版

2.1 Stable Diffusion 是什么

白话:Stable Diffusion(SD)是一个开源的"AI 画师大脑"。你给它一句话描述(prompt),它就能画出对应的图片。

它不是一个软件,而是一个模型(一组训练好的参数),需要有个界面来使用它——ComfyUI 就是这个界面。

类比:SD 是发动机,ComfyUI 是驾驶舱。

2.2 扩散模型原理(白话版)

想象你拿一张清晰的照片,往上面撒噪点(像电视雪花),撒 1000 次之后就变成一张纯噪音图片。

扩散模型做的事情正好相反: 1. 从一张纯噪音开始 2. 一步步"去噪"(denoise),每一步让图片清晰一点 3. 去噪的方向由你的文字描述(prompt)引导 4. 经过 20-30 步去噪后,一张清晰的图片就出来了

纯噪音 → 模糊轮廓 → 粗略图形 → 细节浮现 → 清晰图片
 (step 1)   (step 5)    (step 10)   (step 20)   (step 30)

这就是为什么生成图片时你能看到参数 steps(步数)和 denoise(去噪强度)。

2.3 ComfyUI 是什么(节点式工作流)

ComfyUI 把 AI 画图的每一步都变成一个节点(Node),你用线把节点连起来就是一个工作流(Workflow)

[加载模型] → [输入提示词] → [采样器(去噪)] → [VAE解码] → [保存图片]

白话理解: - 节点 = 一个功能积木块(比如"加载模型""写提示词""去噪""保存图片") - 连线 = 数据的流向(上一步的输出接到下一步的输入) - 工作流 = 一整套积木搭好的流水线

好处:你可以随时在中间插入新节点、换模型、加 ControlNet,不需要重新配置。

2.4 关键术语速查

术语 白话解释 文件后缀 放哪个目录
Checkpoint 完整的 AI 画师大脑,决定画风和能力 .safetensors (2-7GB) models/checkpoints/
LoRA 小型"技能补丁",给大脑加一个特定风格或角色 .safetensors (10-200MB) models/loras/
VAE "调色师",把模型内部的数据翻译成人眼能看的图片 .safetensors (300-800MB) models/vae/
ControlNet "骨架指导员",用姿势图/线稿/深度图控制构图 .safetensors (700MB-1.4GB) models/controlnet/
Embedding 浓缩的"关键词包",一个词代替一长串描述 .pt / .safetensors models/embeddings/
Sampler 去噪的"方法论"(不同的去噪算法) 软件内置
CFG Scale 提示词听话程度,越高越严格遵守描述 参数
Denoise 去噪强度,1.0=从纯噪音开始,0.5=保留一半原图 参数

三、环境安装(Windows + 8G 显存)

3.1 硬件确认

你的 8G 显存 GPU 足够跑 SD 1.5 和 SDXL(优化后)。先确认显卡型号:

# 在 PowerShell 中执行
nvidia-smi

确保安装了 NVIDIA 驱动 >= 525 版本。

3.2 下载 ComfyUI 便携版(推荐)

便携版自带 Python 和依赖,不需要自己配环境,解压就能用。

  1. 去 GitHub 下载:https://github.com/comfyanonymous/ComfyUI/releases
  2. 找最新的 ComfyUI_windows_portable_xxx.7z
  3. 或者去国内镜像站(秋叶整合包也可以,但建议先用官方便携版理解原理)

  4. 解压到一个路径不含中文的目录,比如:

    D:\ComfyUI_windows_portable\
    

  5. 目录结构:

    ComfyUI_windows_portable/
    ├── ComfyUI/
    │   ├── models/          ← 放模型的地方
    │   │   ├── checkpoints/
    │   │   ├── loras/
    │   │   ├── vae/
    │   │   ├── controlnet/
    │   │   └── embeddings/
    │   ├── input/            ← 放输入图片
    │   ├── output/           ← 生成的图片在这
    │   └── custom_nodes/     ← 插件目录
    ├── python_embeded/       ← 内置 Python
    └── run_nvidia_gpu.bat    ← 双击启动
    

  6. 双击 run_nvidia_gpu.bat 启动,浏览器访问 http://127.0.0.1:8188

3.3 模型下载

必须下载至少一个 Checkpoint 才能出图。

推荐下载源: - Civitaihttps://civitai.com(最大的 SD 模型社区,需注册) - HuggingFacehttps://huggingface.co(官方模型仓库) - 国内镜像https://hf-mirror.com(HuggingFace 国内镜像,速度快)

入门推荐 Checkpoint:

模型名 基础架构 大小 特点 适合场景
DreamShaper 8 SD 1.5 ~2GB 通用,效果好,显存友好 入门首选
Realistic Vision 5.1 SD 1.5 ~2GB 写实人像 真实感照片
SDXL Base 1.0 SDXL ~6.5GB 官方大模型,画质更高 8G 显存可跑(需优化)
Juggernaut XL v9 SDXL ~6.5GB 写实类 SDXL 顶级 高质量写实

下载后放入 ComfyUI/models/checkpoints/ 目录即可。

3.4 安装 ComfyUI Manager(必装插件)

ComfyUI Manager 是插件管理器,可以一键安装/更新其他插件。

安装方法

# 进入 custom_nodes 目录
cd D:\ComfyUI_windows_portable\ComfyUI\custom_nodes

# 克隆仓库
git clone https://github.com/ltdrdata/ComfyUI-Manager.git

安装后重启 ComfyUI,界面右侧会出现 Manager 按钮。

通过 Manager 你可以: - 一键安装缺失节点 - 搜索安装新插件 - 更新所有插件 - 安装缺失的模型


四、实操教程

4.1 文生图(Text-to-Image)基础工作流

这是最基础的工作流,从文字直接生成图片。

步骤

  1. 启动 ComfyUI,默认会加载一个基础工作流
  2. 如果是空白画布,点击右侧 Load Default 加载默认工作流

默认工作流包含以下节点(从左到右):

[Load Checkpoint]     选择你下载的模型
       ↓
[CLIP Text Encode]    正面提示词(你想要什么)
[CLIP Text Encode]    负面提示词(你不想要什么)
       ↓
[KSampler]            采样器(核心去噪节点)
       ↓
[VAE Decode]          把潜空间数据解码成图片
       ↓
[Save Image]          保存到 output 目录

关键参数设置

Load Checkpoint:
  - ckpt_name: 选择你的 checkpoint 文件

正面提示词(Positive Prompt)示例:
  "1girl, solo, long hair, blue eyes, school uniform, 
   cherry blossom, spring, masterpiece, best quality"

负面提示词(Negative Prompt)示例:
  "bad quality, worst quality, blurry, deformed hands, 
   extra fingers, ugly, watermark, text"

KSampler:
  - seed: 随机数种子(固定种子=固定构图)
  - steps: 20-30(步数越多越精细,但更慢)
  - cfg: 7.0(提示词引导强度,5-12 之间调)
  - sampler_name: euler_ancestral(入门推荐)
  - scheduler: normal
  - denoise: 1.0(文生图固定 1.0)

Empty Latent Image:
  - width: 512, height: 512(SD 1.5)
  - width: 1024, height: 1024(SDXL)
  - batch_size: 1
  1. 点击 Queue Prompt(或按 Ctrl+Enter)开始生成
  2. 等待 10-30 秒,图片出现在 Save Image 节点和 output/ 目录

4.2 图生图(Image-to-Image)

图生图 = 以一张现有图片为基础,让 AI 在上面"再创作"。

与文生图的区别: - 文生图:从纯噪音开始(denoise=1.0) - 图生图:从你提供的图片开始,加一部分噪音再去噪(denoise=0.3-0.8)

操作步骤

  1. 在画布空白处右键 → Add Node → image → Load Image
  2. 添加节点 → latent → VAE Encode(把图片编码到潜空间)
  3. 连线:Load Image → VAE Encode → KSampler 的 latent_image 输入
  4. 删掉原来的 Empty Latent Image 节点
  5. 关键:把 KSampler 的 denoise 调低:
  6. 0.3-0.4:小改,保留原图大部分内容
  7. 0.5-0.7:中改,改变风格但保留构图
  8. 0.8-0.9:大改,只保留大致轮廓
[Load Image] → [VAE Encode] → [KSampler (denoise=0.5)] → [VAE Decode] → [Save Image]
                                     ↑
                            [CLIP Text Encode] (正面/负面提示词)

4.3 ControlNet 姿势控制

ControlNet 让你用一张"控制图"来约束 AI 的构图,比如用火柴人骨架图控制人物姿势。

安装: 1. 通过 Manager 安装 comfyui_controlnet_aux(预处理器节点包) 2. 下载 ControlNet 模型,放入 models/controlnet/

推荐 ControlNet 模型(SD 1.5):

模型 功能 场景
control_v11p_sd15_openpose 姿势控制 控制人物动作
control_v11p_sd15_canny 边缘线稿 保持轮廓
control_v11f1p_sd15_depth 深度图 保持空间关系
control_v11p_sd15_lineart 线稿上色 线稿变彩图

操作步骤(以 OpenPose 姿势控制为例)

  1. 准备一张人物照片
  2. 添加节点:
    [Load Image] → [OpenPose Preprocessor] → [Apply ControlNet]
    
  3. OpenPose Preprocessor 会自动提取骨架图
  4. 添加 Load ControlNet Model 节点,选择 openpose 模型
  5. 连线到 Apply ControlNet,再接入 KSampler 的条件(conditioning)
[Load Checkpoint] → [CLIP Encode (正面)] → [Apply ControlNet] → [KSampler] → [VAE Decode] → [Save]
                                                   ↑
[Load Image] → [OpenPose预处理] ──────────────────┘
                                                   ↑
[Load ControlNet Model] ─────────────────────────┘

关键参数: - strength: 0.7-1.0(ControlNet 的影响力,1.0=完全遵守) - 如果姿势太僵硬,降低 strength 到 0.5-0.7

4.4 LoRA 风格微调

LoRA 是轻量级的"风格补丁",可以让模型学会特定的画风或角色。

操作步骤

  1. 下载 LoRA 文件(.safetensors),放入 models/loras/
  2. 在画布添加 Load LoRA 节点
  3. 插入到 Checkpoint 和 CLIP Encode 之间:
[Load Checkpoint] → [Load LoRA] → [CLIP Encode (正面)] → [KSampler] → ...
                        ↑
              选择 LoRA 文件
              strength_model: 0.6-0.8
              strength_clip: 0.6-0.8

参数说明: - strength_model: LoRA 对模型的影响强度(0=无效果,1=最强) - strength_clip: LoRA 对文字理解的影响强度 - 建议从 0.6 开始,效果不够再加到 0.8 - 超过 1.0 容易"过拟合"(画面扭曲)

多个 LoRA 叠加:串联多个 Load LoRA 节点即可,但每个的 strength 要适当降低。

4.5 高清放大(Upscale)

SD 直接出图分辨率有限(SD1.5: 512x512),想要高清大图需要放大。

方法一:Latent Upscale(简单)

[KSampler] → [Latent Upscale (2x)] → [KSampler (denoise=0.4-0.5)] → [VAE Decode] → [Save]

在潜空间放大后再做一次低强度去噪,补充细节。

方法二:使用 Upscale 模型(推荐,效果更好)

  1. 下载放大模型,放入 models/upscale_models/
  2. 推荐:4x-UltraSharp.pthRealESRGAN_x4plus.pth
  3. 添加节点:
[VAE Decode] → [Upscale Image (Using Model)] → [Save Image]
                        ↑
            [Load Upscale Model]

方法三:两步放大法(质量最佳)

先用 Upscale 模型放大,再 VAE Encode 回潜空间,做一次低 denoise 的 KSampler 补细节:

[VAE Decode] → [Upscale Model (2x)] → [VAE Encode] → [KSampler (denoise=0.3)] → [VAE Decode] → [Save]

五、8G 显存优化技巧

8G 显存可以流畅跑 SD 1.5,跑 SDXL 需要以下优化:

5.1 启动参数优化

编辑 run_nvidia_gpu.bat,在启动命令后加参数:

.\python_embeded\python.exe -s ComfyUI\main.py --lowvram --preview-method auto
参数 效果 适用场景
--lowvram 按需加载模型到显存 8G 显存跑 SDXL
--gpu-only 全部放显存(默认) 显存充足时
--fp16-vae VAE 用半精度 减少 VAE 解码时的显存峰值
--preview-method auto 生成时实时预览 不影响显存,体验好

8G 显存推荐组合--lowvram --fp16-vae --preview-method auto

5.2 推荐分辨率

模型 推荐分辨率 备注
SD 1.5 512x512 / 512x768 原生分辨率,显存友好
SDXL 1024x1024 / 896x1152 8G 需开 --lowvram

千万别直接生成超过 1024x1024 的图,先生成小图再用 Upscale 放大。

5.3 其他省显存技巧

  1. batch_size 保持 1:一次只生成一张
  2. 关闭不用的程序:浏览器、游戏等占显存的程序关掉
  3. steps 不用太高:20-25 步对大多数场景足够,30 步以上提升很小
  4. 用 TAESD 替代标准 VAE:TAESD 是轻量 VAE,显存占用极低
  5. 下载 taesd_decoder.pth,放入 models/vae_approx/
  6. ControlNet 用完释放:不用 ControlNet 的工作流就别加载它

六、推荐模型列表

6.1 Checkpoint 模型

模型 架构 大小 风格 推荐度
DreamShaper 8 SD 1.5 2GB 通用/半写实 入门首选
Realistic Vision 5.1 SD 1.5 2GB 写实人像 真实感
MeinaMix V11 SD 1.5 2GB 动漫 二次元首选
RevAnimated V2 SD 1.5 2GB 动漫/幻想 风格多变
Juggernaut XL v9 SDXL 6.5GB 写实通用 SDXL 顶级
Animagine XL 3.1 SDXL 6.5GB 动漫 SDXL 动漫

6.2 LoRA 模型

模型 用途 大小 触发词
Detail Tweaker LoRA 增加/减少细节 ~140MB 无需触发词,调 strength
Film Grain LoRA 胶片颗粒感 ~50MB film grain
Pixel Art LoRA 像素风格 ~50MB pixel art
Flat Color LoRA 扁平插画风 ~50MB flat color
Add More Details 补充画面细节 ~50MB detailed

6.3 ControlNet 模型

模型 功能 推荐度
control_v11p_sd15_openpose 姿势骨架控制 必装
control_v11p_sd15_canny 边缘线稿控制 必装
control_v11f1p_sd15_depth 深度图空间控制 推荐
control_v11p_sd15_lineart 线稿上色 推荐
control_v11p_sd15_softedge 软边缘控制 可选
t2i-adapter_diffusers_xl_openpose SDXL 姿势控制 SDXL 用户装

七、ComfyUI vs WebUI vs Fooocus 详细对比

维度 ComfyUI WebUI (A1111/Forge) Fooocus
界面形式 节点连线(像 Blender) 表单填写 极简聊天式
上手难度 需要 1-2 小时理解节点 开箱即用 几乎零门槛
灵活度 极高,可自由组合任意流程 高,但受限于 UI 布局 低,只能调少量参数
显存效率 最优(智能队列调度) 中等 中等
工作流复用 导出/导入 JSON,一键复现 需要手动截图记参数 不支持
API/自动化 原生支持 API 调用 有 API 但不如 ComfyUI 方便 不支持
插件生态 大量且快速增长 最大最成熟 很少
SDXL 支持 完善 完善 完善
SD 3 / Flux 支持 第一时间支持 需要等适配 部分支持
适合谁 想深入理解 + 生产力用户 想稳定出图的老用户 纯体验/不想学习
社区趋势 2024-2025 主流转向 ComfyUI 存量用户为主 小众

总结建议: - 纯体验 → Fooocus - 想学习原理 + 长期使用 → ComfyUI - 已经习惯 WebUI 的老用户 → WebUI Forge(A1111 的优化分支)


八、常见报错与解决

8.1 CUDA out of memory(显存不足)

原因:模型 + 图片分辨率超过显存容量。

解决: 1. 启动参数加 --lowvram 2. 降低分辨率(SD1.5 用 512x512,SDXL 用 1024x1024) 3. batch_size 改为 1 4. 关掉其他占显存的程序 5. 如果还不行,试试 --cpu-vae(VAE 解码用 CPU,慢但省显存)

8.2 Cannot find xxx model / checkpoint(找不到模型)

原因:模型文件没放对目录,或文件名有问题。

解决: 1. 确认文件放在 ComfyUI/models/checkpoints/ 下 2. 文件名不要有中文或特殊字符 3. 确认文件完整下载(没有中断),检查文件大小 4. 点击 Load Checkpoint 节点的刷新按钮

8.3 No module named 'xxx'(缺少 Python 包)

原因:某个插件需要额外的 Python 依赖。

解决

# 进入 ComfyUI 的 Python 环境
cd D:\ComfyUI_windows_portable
.\python_embeded\python.exe -m pip install 缺少的包名

或者通过 Manager → Install Missing → 自动安装缺失依赖。

8.4 RuntimeError: Expected all tensors on same device(设备不匹配)

原因:部分数据在 GPU,部分在 CPU,通常是 lowvram 模式下的兼容问题。

解决: 1. 更新 ComfyUI 到最新版 2. 更新出问题的插件 3. 换用 --lowvram 或去掉 --cpu 参数 4. 检查工作流中是否混用了不同精度的模型

8.5 Connection error / 打开浏览器白屏

原因:ComfyUI 服务没有正常启动。

解决: 1. 检查命令行窗口是否有报错信息 2. 确认端口 8188 没被占用:netstat -ano | findstr 8188 3. 如果端口被占用,启动时加 --port 8189 4. 确认防火墙没有拦截

8.6 NaN values in output(输出中出现 NaN,图片全黑/全灰)

原因:数值溢出,通常是 CFG 过高或模型不兼容。

解决: 1. 把 CFG Scale 降到 5-7 2. 换一个采样器(试试 eulerdpmpp_2m) 3. 如果用了 LoRA,降低 LoRA strength 4. 检查 VAE 是否匹配(有些模型需要特定 VAE)

8.7 WorkflowNodeNotFound(工作流中有未安装的节点)

原因:导入的工作流用了你没装的插件节点。

解决: 1. 打开 Manager → Install Missing Custom Nodes 2. Manager 会自动识别缺失的节点并提供安装选项 3. 安装后重启 ComfyUI


九、常用节点速查表

9.1 基础节点

节点名 功能 常用参数
Load Checkpoint 加载主模型 ckpt_name
CLIP Text Encode 文字→条件向量 text(正面/负面提示词)
Empty Latent Image 创建空白潜空间图 width, height, batch_size
KSampler 核心采样/去噪 seed, steps, cfg, sampler, denoise
VAE Decode 潜空间→图片
VAE Encode 图片→潜空间
Save Image 保存图片 filename_prefix
Preview Image 预览(不保存)

9.2 模型相关

节点名 功能
Load LoRA 加载 LoRA 模型
Load ControlNet Model 加载 ControlNet 模型
Apply ControlNet 将 ControlNet 条件应用到提示词
Load VAE 加载独立 VAE
Load Upscale Model 加载放大模型

9.3 图像处理

节点名 功能
Load Image 加载本地图片
Image Scale / Resize 缩放图片
Upscale Image (Using Model) 用 AI 模型放大图片
Image Composite 图片合并/拼接
Image Batch 批量处理多张图

9.4 条件控制

节点名 功能
CLIP Set Last Layer 设置 CLIP 使用哪一层(-1 或 -2)
Conditioning Combine 合并多个条件
Conditioning Set Area 限制条件到特定区域(区域提示词)
ControlNet Apply 应用 ControlNet

9.5 常用快捷键

快捷键 功能
Ctrl + Enter 开始生成(Queue Prompt)
Ctrl + Shift + Enter 队列生成(加入队列但不打断当前任务)
Ctrl + Z 撤销
Ctrl + S 保存工作流
Ctrl + O 打开/加载工作流
Space + 拖拽 移动画布
双击空白处 快速搜索添加节点
右键 打开节点菜单

十、延伸学习资源

10.1 官方与核心文档

  • ComfyUI GitHub:https://github.com/comfyanonymous/ComfyUI
  • ComfyUI 示例工作流:https://comfyanonymous.github.io/ComfyUI_examples/
  • Stable Diffusion 官方文档:https://stability.ai

10.2 工作流分享平台

  • OpenArthttps://openart.ai/workflows(大量 ComfyUI 工作流模板)
  • Civitaihttps://civitai.com(模型 + 工作流社区)
  • ComfyWorkflowshttps://comfyworkflows.com(专门的工作流分享站)

10.3 中文学习资源

  • B 站搜索 "ComfyUI 入门",推荐 UP 主:赛博佛祖、Nenly、秋叶aaaki
  • 知乎专栏 "Stable Diffusion 入门"
  • 微信公众号:AI绘画指南

10.4 进阶方向

方向 内容 难度
AnimateDiff 用 SD 生成短视频/动画 中等
IP-Adapter 用参考图控制风格/人物一致性 中等
InstantID 人脸一致性生成 中等
Inpainting 局部重绘(修改图片某个区域) 简单
Flux 模型 新一代基础模型,画质飞跃 中等(需更多显存)
ComfyUI API 用代码调用 ComfyUI 批量出图 需编程基础
训练自己的 LoRA 用自己的图片训练风格/角色 进阶

附:快速上手路线图

第 1 步:安装便携版 + 下载 DreamShaper 8
         ↓
第 2 步:跑通默认工作流(文生图)
         ↓
第 3 步:装 Manager,学会安装插件
         ↓
第 4 步:试图生图(调 denoise 感受变化)
         ↓
第 5 步:试 LoRA(找一个喜欢的风格加载)
         ↓
第 6 步:试 ControlNet(用 OpenPose 控制姿势)
         ↓
第 7 步:学会 Upscale 放大出高清图
         ↓
第 8 步:去 OpenArt 下载别人的工作流学习

每一步花 30 分钟到 1 小时,一个周末就能入门。


文档版本:v1.0 | 最后更新:2025年5月 | 适用 ComfyUI 版本:0.2.x+