🧩 ComfyUI:112k Stars,可视化节点编排 Stable Diffusion 工作流,不用写一行代码
项目地址:comfyanonymous/ComfyUI | ⭐ 112,147 Stars | 🐍 Python | 作者:comfyanonymous
老实说,Stable Diffusion 这生态已经大到让人头晕了。模型一堆、LoRA 一堆、ControlNet 一堆,每次想搞个复杂点的生成流程——比如「先用 SDXL 出图 → 加 ControlNet 固定姿势 → 局部重绘 → 高清放大」——你要么写 Python 脚本硬撸,要么在 WebUI 里反复切 tab。两种都挺累的。
ComfyUI 换了个思路:把整个生成流程变成可视化节点图。每个节点就是一个模块(模型加载器、采样器、VAE 解码器),拖拽连线就能搭出任意复杂的流水线。112k Stars、13k Forks,社区生态已经是 AI 绘图领域最活跃的之一。
📊 项目数据
| 指标 | 数据 |
|------|------|
| ⭐ Stars | 112,147 |
| 🍴 Forks | 13,102 |
| 📝 语言 | Python |
| 📜 协议 | GPL-3.0 |
| 🏢 作者 | comfyanonymous |
| 📅 创建 | 2023-01-17 |
🎨 核心功能拆解
🧩 节点图工作流
ComfyUI 的核心就是那个节点编辑器。每个节点是一个功能模块:加载模型、写 Prompt、设置采样参数、解码图片。把它们用线连起来,数据从左往右流,最后输出结果。
和 WebUI 最大的区别:ComfyUI 不会在你切换设置时偷偷重置流程。所有节点状态独立,改一个参数不会影响其他,调试起来舒服很多。
🖼️ 支持的模型全家桶
ComfyUI 原生支持的模型已经覆盖了几乎所有主流方案:
| 类型 | 支持模型 |
|------|----------|
| 🖼 图像生成 | SD1.x / SD2.x / SDXL / SD3 / SD3.5 / Flux / Flux 2 |
| | Pixart / AuraFlow / HunyuanDiT / Lumina Image 2.0 |
| | Qwen Image / HiDream / Z Image / Ernie Image |
| ✏️ 图像编辑 | Omnigen 2 / Flux Kontext / HiDream E1.1 / Qwen Image Edit |
| 🎬 视频生成 | Stable Video Diffusion / Mochi / LTX-Video |
| | Hunyuan Video / Wan 2.1 / Wan 2.2 |
| 🔊 音频生成 | Stable Audio / ACE Step |
| 🗿 3D 模型 | Hunyuan3D 2.0 |
注意这些是原生支持,社区自定义节点可以接入更多。
🔧 高级功能
ControlNet / T2I-Adapter:通过节点直接接入,不用额外插件。拖入 ControlNet 节点 → 连上图片输入 → 选模型 → 搞定。
LoRA / Hypernetwork:每个 LoRA 都是独立节点,叠加多个 LoRA 直接拖线就行,权重互相独立。
内存优化:智能卸载,1GB 显存也能跑——开 --cpu 甚至无 GPU 也能运行。同一张卡上自动管理多个模型的显存占用。
增量执行:修改工作流中某个节点,ComfyUI 只重新执行受影响的部分,不会从头跑一遍。
App Mode:把复杂的完整工作流暴露成简单的 UI 界面,不懂节点的人也能用。
⚡ 实操步骤:从零搭建一个文生图工作流
一、安装
最推荐手动安装,灵活可控:
# 克隆仓库
git clone https://github.com/comfyanonymous/ComfyUI.git
cd ComfyUI
# 创建虚拟环境(推荐 Python 3.12)
python -m venv venv
source venv/bin/activate # Windows 用 venv\Scripts\activate
# 安装 PyTorch(NVIDIA GPU)
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu130
# 安装依赖
pip install -r requirements.txt
然后把模型文件放到对应目录:
models/checkpoints/ ← SD 主模型(ckpt / safetensors)
models/vae/ ← VAE 模型
models/loras/ ← LoRA 文件
models/controlnet/ ← ControlNet 模型
二、启动
python main.py
# 指定端口
python main.py --port 8188
# 无 GPU 模式
python main.py --cpu
浏览器打开 http://127.0.0.1:8188,就能看到节点编辑器了。
三、搭建一条基础工作流
Checkpoint Loader → CLIP Text Encode (正面词)
→ CLIP Text Encode (负面词)
→ KSampler → VAE Decode → Save Image
操作步骤:
1. 右键画布 → Add Node → loaders → Load Checkpoint
2. 右键 → Add Node → conditioning → CLIP Text Encode (Prompt)
3. 连接 Checkpoint Loader 的 CLIP 输出到 CLIP Text Encode 的 CLIP 输入
4. 右键 → Add Node → sampling → KSampler
5. 把 CLIP Text Encode 的 CONDITIONING 连到 KSampler 的 positive/negative
6. Checkpoint Loader 的 MODEL 连到 KSampler 的 model
7. 右键 → Add Node → image → VAE Decode
8. Checkpoint Loader 的 VAE 连到 VAE Decode 的 vae
9. KSampler 的 LATENT 连到 VAE Decode 的 samples
10. 右键 → Add Node → image → Save Image
11. VAE Decode 的 IMAGE 连到 Save Image 的 images
写 Prompt、设参数 → 点 Queue Prompt → 出图。这套流程搭一次就可以导出为 JSON 模板,以后直接拖入复用。
🧠 对比:ComfyUI vs WebUI
| 维度 | ComfyUI | WebUI (AUTOMATIC1111) |
|------|---------|----------------------|
| 界面 | 节点图 | 表单式 |
| 复杂度 | 初期高,后期灵活 | 上手快,复杂流程难 |
| 内存管理 | 智能卸载,1GB 可跑 | 占用更高 |
| 增量执行 | ✅ 支持 | ❌ 每次全跑 |
| 自定义流程 | 任意组合节点 | 靠脚本/扩展 |
| 批量处理 | 队列系统原生支持 | 靠外部工具 |
| 学习曲线 | 📈 前期陡峭 | 📉 平缓 |
简单结论:刚入门 WebUI 省心,想认真搞复杂工作流 ComfyUI 是最终归宿。
📌 要点总结
git clone && pip install -r requirements.txt && python main.py 三步上手标签:#StableDiffusion #ComfyUI #AI绘图 #AI视频 #OpenSource