
节点式工作流看起来复杂,但一旦理解核心逻辑,它能做到的事远超想象。
Stable Diffusion 生态有三个主流 UI:
工具 | 定位 | 上手成本 | 灵活度 |
|---|---|---|---|
A1111 WebUI | 一站式图形界面 | 低 | 中 |
Fooocus | 极简开箱即用 | 最低 | 低 |
ComfyUI | 节点式工作流 | 高 | 最高 |
选 ComfyUI 的理由:
• 可视化编程思维:功能即节点,连接即逻辑,复用性强
• 显存效率高:比 A1111 省 30-50% 显存,同样的卡能跑更大的模型
• 扩展性强:自定义节点生态丰富
• 自动化友好:工作流保存为 JSON,可批量执行、API 调用
代价是学习曲线陡峭。这篇文章帮你跨过门槛。
git clone https://github.com/comfyanonymous/ComfyUI
cd ComfyUI
python -m venv venv
source venv/bin/activate # Windows 用 venv\Scripts\activate
pip install -r requirements.txt
python main.py
浏览器打开 http://127.0.0.1:8188。
没有独立显卡也能跑,但速度差距明显:
python main.py --cpu
性能参考(20 步采样):
配置 | SD 1.5 (512×512) | SDXL (1024×1024) | FLUX |
|---|---|---|---|
CPU only | 2-5 分钟/张 | 5-15 分钟/张 | 不推荐 |
M4 Pro (MPS) | 10-20 秒/张 | 30-60 秒/张 | 1-3 分钟/张 |
RTX 4090 | 2-5 秒/张 | 5-10 秒/张 | 10-20 秒/张 |
Mac 用户无需额外配置,M 系列芯片自动启用 MPS 加速。
CPU 模式适合学习调试,不适合大模型或批量生成。
启动后点击右侧 Load Default 加载默认工作流:
Load Checkpoint → CLIP Text Encode (Positive) → KSampler → VAE Decode → Save Image
↓
CLIP Text Encode (Negative)
KSampler 核心参数:
参数 | 含义 | 常用值 |
|---|---|---|
steps | 采样步数 | 20-30 |
cfg | 提示词引导强度 | 7-8 |
seed | 随机种子 | 固定可复现 |
denoise | 去噪强度 | 1.0(文生图) |
点击 Queue Prompt 生成。Save 导出为 JSON,下次 Load 直接恢复。
理解四个概念,看懂 90% 的工作流。
节点是功能单元。连接有两种:
• 实线:数据流(模型权重、Latent、图像)
• 虚线:控制流(条件执行)
拓扑排序执行:从输出节点往回追溯,只计算有连接的节点。没连线的节点不执行。
模型在 Latent(潜空间)中操作:
图像 → VAE Encode → Latent → KSampler(去噪)→ Latent → VAE Decode → 图像
Latent 体积远小于像素图像,这是显存效率高的原因。
实操要点:
• 修改图像尺寸时改 Latent 宽高(SDXL 用 1024,SD1.5 用 512)
• 图生图时输入先编码为 Latent 再送入 KSampler
Checkpoint 包含三部分:
• UNet:核心去噪网络
• CLIP:文本编码器
• VAE:图像编解码器
可单独加载各组件,如用不同 VAE 改变画风。
安装 ComfyUI-Manager:
https://github.com/ltdrdata/ComfyUI-Manager
cd ComfyUI/custom_nodes
git clone https://github.com/ltdrdata/ComfyUI-Manager.git
重启后侧边栏会出现 Manager 按钮,可搜索安装其他节点。
推荐节点:
节点包 | 功能 |
|---|---|
ComfyUI_IPAdapter_plus(https://github.com/cubiq/ComfyUI_IPAdapter_plus) | 风格迁移、角色一致性 |
ComfyUI-ControlNet | 精确控制生成结构 |
ComfyUI-Custom-Scripts | 实用工具集 |
工作流:
Load Image → OpenPose Extract → ControlNet Apply → KSampler → ...
关键参数:
• ControlNet Apply:选择 OpenPose 模型,strength 设 0.8-1.0
• OpenPose Extract:自动提取输入图像骨架
效果:生成人物姿势与输入一致,风格可完全不同。
社区资源:
• OpenArt Workflows:https://openart.ai/workflows
• Civitai:https://civitai.com
• ComfyUI Examples:https://comfyanonymous.github.io/ComfyUI_examples/
导入后检查缺失节点(用 Manager 安装)和模型路径。
现象:CUDA out of memory 或生成极慢
解决:降低 Latent 尺寸、用 --lowvram 启动、切换 fp16 精度、使用 GGUF 量化模型。
模型放到正确目录:models/checkpoints/、models/loras/、models/controlnet/。节点装到 custom_nodes/ 并重启。
检查项:VAE 是否正确加载、采样步数是否太低(< 15)、CFG 是否过高(> 12)。
用 Preview Image 节点在关键位置查看中间结果,检查连接是否完整。
场景 | 推荐工具 | 理由 |
|---|---|---|
快速出图、探索风格 | Fooocus 或 Midjourney | 零配置,效果稳定 |
精细控制、批量生产 | ComfyUI | 工作流复用、自动化友好 |
研究/开发新功能 | ComfyUI + 自定义节点 | 灵活度最高 |
日常修图、简单生成 | A1111 WebUI | 上手快,插件多 |
• IP-Adapter:用参考图控制风格/角色,比 LoRA 更灵活
• AnimateDiff:生成短视频
• API 服务化:暴露为 HTTP API,集成到自动化流程
• ComfyUI-To-Python:导出为 Python 脚本,脱离 Web UI 运行