为什么选择ComfyUI而非WebUI
接触Stable Diffusion绘图生态的开发者,几乎都会面临同一个选择题:用自动1111的WebUI,还是ComfyUI?两者各有千秋,但如果你追求的是工作流可复用性和节点式灵活编排,ComfyUI几乎是唯一答案。
WebUI的优势在于开箱即用,一个界面搞定大部分需求。但当你需要把"文生图→高清修复→ControlNet控制→批量出图"串成一条流水线时,WebUI的操作路径就变得繁琐且难以分享。ComfyUI用节点图的方式把这些步骤可视化,工作流导出就是一个JSON文件,发给别人就能直接复用——这种体验在做AI绘图批量生产时,差距非常明显。
更重要的是,ComfyUI的内存管理比WebUI优秀得多。在显存有限(比如8GB显卡)的条件下,ComfyUI能通过智能的模型卸载机制,跑WebUI跑不动的大模型工作流。这是很多实际用户从WebUI迁移过来的核心原因。
环境准备:硬件与软件清单
在开始安装之前,先确认你的硬件和软件环境是否达标。
硬件要求
| 配置项 | 最低要求 | 推荐配置 |
|---|---|---|
| 显卡 | NVIDIA 4GB显存 | NVIDIA 8GB+ 显存 |
| 内存 | 8GB | 16GB+ |
| 硬盘 | 10GB可用空间 | 50GB+ SSD |
注意:ComfyUI对AMD显卡的ROCm支持仍在完善中,如果你用的是AMD显卡,体验可能不够稳定,建议优先考虑NVIDIA方案。没有独立显卡也能跑CPU模式,但出图速度会慢到难以接受(单张图可能需要几分钟)。
软件依赖
- Python 3.10.x(不要用3.11或3.12,部分依赖库尚未适配)
- Git(用于克隆仓库和更新)
- NVIDIA显卡驱动(建议更新到最新稳定版)
- CUDA Toolkit 11.8或12.x(与PyTorch版本匹配)
一个容易踩的坑:很多人安装了CUDA但忘记匹配PyTorch版本。ComfyUI默认安装PyTorch CUDA 12.1,如果你的CUDA版本是11.8,后续可能出现奇怪的推理错误。最省心的做法是让Python的pip自动处理PyTorch安装,不要手动装CUDA Toolkit。
第一步:安装Python环境
前往Python官网下载3.10.x版本的安装包。安装时务必勾选"Add Python to PATH",否则后续在命令行中会找不到python命令。
python --version pip --version
确认输出类似以下内容即表示安装成功:
Python 3.10.11 pip 23.3.1如果你之前系统里装过其他版本的Python,建议使用虚拟环境(venv)来隔离ComfyUI的依赖。虽然ComfyUI自带的启动脚本会处理venv创建,但提前了解这一点有助于排查问题。
第二步:克隆并安装ComfyUI
git clone https://github.com/comfyanonymous/ComfyUI.git cd ComfyUI pip install -r requirements.txt这一步会下载所有Python依赖包,包括PyTorch、torchvision等。如果你的网络环境访问GitHub速度较慢,可以考虑使用镜像源:
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple首次安装完成后,强烈建议验证PyTorch是否正确识别到GPU:
python -c "import torch; print(torch.cuda.is_available(), torch.cuda.get_device_name(0))"输出应该是
True NVIDIA GeForce RTX xxx。如果输出False,说明PyTorch没有正确安装CUDA版本,需要重新安装匹配的PyTorch。第三步:下载模型文件
ComfyUI本身只是一个框架,出图需要配合Stable Diffusion模型。模型的存放路径有严格要求:
ComfyUI/ ├── models/ │ ├── checkpoints/ # 大模型(SD1.5、SDXL、Flux等) │ ├── loras/ # LoRA微调模型 │ ├── vae/ # VAE变分自编码器 │ ├── controlnet/ # ControlNet模型 │ └── clip/ # CLIP文本编码器对于新手,推荐先下载一个SDXL基础模型,比如Stable Diffusion XL Base 1.0,约6.9GB。可以从HuggingFace或Civitai下载:
- HuggingFace:
stabilityai/stable-diffusion-xl-base-1.0 - Civitai: 搜索SDXL模型并下载safetensors格式
下载后把safetensors文件放入 models/checkpoints/ 目录即可。如果你打算用Flux模型(目前质量最高的开源模型之一),需要额外安装
第四步:启动ComfyUI
python main.py
首次启动时,ComfyUI会自动下载CLIP和VAE的必要组件。启动成功后,打开浏览器访问:
http://127.0.0.1:8188
你会看到一个带有很多节点的工作流画布。默认加载的是一个基础文生图工作流,包含:Load Checkpoint(加载模型)、CLIP Text Encode(文本编码)、KSampler(采样器)、VAE Decode(解码)和Save Image(保存图片)。
在Prompt节点中输入你的描述文本,点击"Queue Prompt"按钮,就能开始生成图片。首次出图时会有模型加载的延迟,后续出图速度取决于你的显卡性能——8GB显存的RTX 3060出一张SDXL图大约需要10-15秒。
第五步:安装常用自定义节点
ComfyUI的强大之处在于丰富的自定义节点生态。以下是一些几乎必装的核心节点:
- ComfyUI-Manager:节点管理器,提供一键安装和更新功能,是安装其他节点的前提
- ComfyUI-Impact-Pack:提供人脸修复、皮肤细节增强等功能
- ComfyUI-ControlNet-Aux:各种预处理器(深度图、边缘检测、姿态检测等)
- ComfyUI-AnimateDiff-Evolved:AI视频/动画生成
安装ComfyUI-Manager的方法:
cd ComfyUI/custom_nodes git clone https://github.com/ltdrdata/ComfyUI-Manager.git cd ComfyUI python main.py
安装完成后,ComfyUI界面会出现"Manager"按钮,之后所有节点都可以通过它一键安装,不需要再手动git clone。
工作流入门:创建你的第一个文生图
理解ComfyUI的关键在于理解数据流。每个节点有输入和输出端口,数据从左到右流动。一个典型的文生图流程:
- Load Checkpoint:加载模型,输出MODEL、CLIP、VAE三个对象
- CLIP Text Encode (Positive):正向提示词编码,接收CLIP和prompt文本
- CLIP Text Encode (Negative):负向提示词编码
- Empty Latent Image:生成空白潜空间图像,设定分辨率
- KSampler:核心采样节点,接收模型、正负编码、潜空间图,进行去噪
- VAE Decode:将潜空间结果解码为像素图像
- Save Image:保存到本地
SDXL推荐使用 DPM++ 2M Karras 采样器,步数25-30步,CFG Scale 7左右。这些参数在KSampler节点中设置。提示词方面,SDXL不需要像SD1.5那样写大量质量标签(如"masterpiece, best quality"),直接描述你想要的内容即可。
进阶技巧:优化出图质量与速度
经过大量实践,以下几个技巧对提升ComfyUI出图效果帮助最大:
1. 使用两阶段采样(High-res Fix)
先生成低分辨率图像,再通过放大模型(如Ultimate SD Upscale)放大并补充细节。这种方法比直接生成高分辨率图像效率更高,细节也更丰富。推荐流程:先在768x768分辨率下生成,再用4x-UltraSharp放大器提升到3072x3072。
2. LoRA组合使用
多个LoRA可以叠加使用来控制风格。比如同时加载一个"写实风格"LoRA和一个"特定艺术家风格"LoRA,权重分别设为0.7和0.5。注意总权重不要超过1.5,否则可能出现颜色偏移或伪影。
3. ControlNet精准控制构图
如果你需要精确控制人物姿势或画面构图,ControlNet是最佳选择。常用场景包括:用Canny边缘检测保持线稿结构,用Depth深度图控制空间关系,用OpenPose控制人物动作。安装ComfyUI-ControlNet-Aux后,所有预处理器都可以作为节点直接使用。
4. Tiled VAE节省显存
生成4K以上高分辨率图像时,普通VAE解码会直接爆显存。启用Tiled VAE可以将解码过程分块进行,8GB显存也能流畅处理大图。在VAE Decode节点中切换为VAE Decode (Tiled)即可。
常见问题排查
整理了新手最常遇到的几个问题及解决方案:
| 问题 | 原因 | 解决方案 |
|---|---|---|
| 出图全黑 | 模型与VAE不匹配 | 使用配套的VAE或加载SDXL内置VAE |
| CUDA out of memory | 显存不足 | 降低分辨率、使用FP8模型、开启Tiled VAE |
| 节点报红 | 自定义节点缺失 | 通过Manager安装缺失节点 |
| 出图速度极慢 | CPU模式运行 | 检查PyTorch是否安装CUDA版本 |
| 中文提示词无效 | CLIP不支持中文 | 使用翻译节点或中文CLIP模型 |
写在最后
ComfyUI的学习曲线确实比WebUI陡峭一些,但一旦掌握了节点式工作流的设计逻辑,你会发现它的上限远高于WebUI。尤其是当你需要批量生成、自动化工作流或与他人协作时,ComfyUI的JSON工作流格式让一切变得标准化和可复现。
如果你正在从Midjourney或DALL-E转向本地部署方案,ComfyUI配合SDXL或Flux模型,已经能在大多数场景下达到商业级出图质量。关键是找到适合你工作流的好模型和好LoRA——这些资源在Civitai社区非常丰富。
版权声明
本文仅代表个人观点。
本文系AI辅助作者原创,未经许可,转载请保留原文链接。

发表评论