主题模式
Are you an LLM? You can read better optimized documentation at /ai/llm/comfyui-guide.md for this page in Markdown format
ComfyUI 本地 AI 绘图部署指南:Stable Diffusion XL/Flux 模型全流程实战
Midjourney 每月 $10-60,Stable Diffusion 在线服务也有各种限制。本地部署 ComfyUI 可以完全免费、无限次生成、隐私安全,还能自由组合工作流。本文从零开始,教你搭建一套完整的本地 AI 绘图系统。
📋 硬件要求
显卡要求对照
| 模型 | 最低显存 | 推荐显存 | 生成速度(512x512) | 备注 |
|---|---|---|---|---|
| SD 1.5 | 4GB | 8GB | ~3 秒/张 | 入门首选 |
| SDXL | 8GB | 12-16GB | ~8 秒/张 | 主流模型 |
| Flux.1-dev | 12GB | 24GB | ~15 秒/张 | 2026 年最强开源模型 |
| Flux.1-schnell | 8GB | 12GB | ~5 秒/张 | Flux 快速版 |
显存不足怎么办
- 使用 --lowvram 参数(ComfyUI 自动降级)
- 开启 FP8 量化(显存减半)
- 使用 CPU 模式(极慢但不需要 GPU)
- 租用 云端 GPU(按小时计费)
各显卡性能参考
| 显卡 | 显存 | SD 1.5 | SDXL | Flux | 推荐指数 |
|---|---|---|---|---|---|
| RTX 4090 | 24GB | ~1.5s | ~5s | ~10s | ⭐⭐⭐⭐⭐ |
| RTX 4080 | 16GB | ~2s | ~7s | ~15s | ⭐⭐⭐⭐⭐ |
| RTX 4070 Ti | 12GB | ~2.5s | ~8s | ~20s | ⭐⭐⭐⭐ |
| RTX 3060 | 12GB | ~4s | ~12s | ⚠️ FP8 | ⭐⭐⭐⭐ |
| RTX 4060 | 8GB | ~3s | ⚠️ FP8 | ⚠️ FP8 | ⭐⭐⭐ |
| Mac M2/M3 Max | 32GB+ | ~8s | ~25s | ~40s | ⭐⭐⭐ |
🚀 ComfyUI 安装
方式一:官方安装包(Windows 推荐)
bash
# 1. 下载 ComfyUI Windows 便携包
# 访问 https://github.com/comfyanonymous/ComfyUI/releases
# 下载 ComfyUI_windows_portable_nvidia_cu121_or_cpu.7z
# 2. 解压到任意目录(如 D:\ComfyUI)
# 3. 运行 update/update_comfyui.bat 更新到最新版
# 4. 运行 run_nvidia_gpu.bat 启动(NVIDIA 显卡)
# 或 run_cpu.bat 启动(CPU 模式)方式二:Git 安装(跨平台推荐)
bash
# 1. 克隆仓库
git clone https://github.com/comfyanonymous/ComfyUI.git
cd ComfyUI
# 2. 创建虚拟环境
python -m venv venv
# 3. 激活虚拟环境
# Windows:
venv\Scripts\activate
# macOS/Linux:
source venv/bin/activate
# 4. 安装 PyTorch(NVIDIA GPU)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
# macOS(Apple Silicon)
pip install torch torchvision torchaudio
# CPU only
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
# 5. 安装依赖
pip install -r requirements.txt
# 6. 启动
python main.py启动后访问 http://127.0.0.1:8188 即可打开 ComfyUI 界面。
方式三:Docker 部署
yaml
# docker-compose.yml
version: '3.8'
services:
comfyui:
image: yanwk/comfyui-boot:latest
container_name: comfyui
ports:
- '8188:8188'
volumes:
- ./models:/app/ComfyUI/models
- ./output:/app/ComfyUI/output
- ./custom_nodes:/app/ComfyUI/custom_nodes
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
command: --listen 0.0.0.0 --port 8188bash
docker compose up -d远程访问
添加 --listen 0.0.0.0 参数允许局域网访问。如需外网访问,建议通过 Cloudflare Tunnel 或 Tailscale 暴露,不要直接暴露端口。
📦 模型下载
模型目录结构
ComfyUI/
├── models/
│ ├── checkpoints/ # 主模型(.safetensors)
│ ├── loras/ # LoRA 微调模型
│ ├── vae/ # VAE 模型
│ ├── controlnet/ # ControlNet 模型
│ ├── embeddings/ # 文本反转嵌入
│ └── upscale_models/ # 放大模型
├── output/ # 生成图片输出
└── custom_nodes/ # 自定义节点SD 1.5 模型(入门推荐)
bash
# 下载 SD 1.5 基础模型
# 推荐下载带修复的社区版:
wget -P models/checkpoints/ \
"https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.safetensors"SDXL 模型(主流推荐)
bash
# SDXL Base 1.0
wget -P models/checkpoints/ \
"https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors"
# SDXL Refiner(精修模型)
wget -P models/checkpoints/ \
"https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/resolve/main/sd_xl_refiner_1.0.safetensors"Flux 模型(2026 年最强)
bash
# Flux.1-schnell(快速版,Apache 2.0 开源)
wget -P models/checkpoints/ \
"https://huggingface.co/black-forest-labs/FLUX.1-schnell/resolve/main/flux1-schnell.safetensors"
# Flux.1-dev(完整版,非商业授权)
wget -P models/checkpoints/ \
"https://huggingface.co/black-forest-labs/FLUX.1-dev/resolve/main/flux1-dev.safetensors"
# Flux VAE
wget -P models/vae/ \
"https://huggingface.co/black-forest-labs/FLUX.1-schnell/resolve/main/ae.safetensors"模型选择建议
- 新手入门:SD 1.5(文件小 ~4GB,出图快,教程多)
- 日常使用:SDXL(文件 ~6.5GB,画质好,生态丰富)
- 追求极致:Flux.1-dev(文件 ~23GB,画质最强,细节丰富)
- 快速预览:Flux.1-schnell(4 步出图,速度快)
推荐社区模型
| 模型名称 | 类型 | 特点 | 下载来源 |
|---|---|---|---|
| DreamShaper | SD 1.5 | 通用写实,画面精美 | CivitAI |
| Realistic Vision | SD 1.5 | 真实摄影风格 | CivitAI |
| Juggernaut XL | SDXL | 写实人像 | CivitAI |
| DreamShaper XL | SDXL | 通用增强 | CivitAI |
| Flux.1-dev | Flux | 最强开源模型 | HuggingFace |
🎨 基础工作流
加载默认工作流
ComfyUI 启动后会加载一个默认的 SD 1.5 工作流。如需切换:
- 界面右下角 → Queue Prompt 旁边 → Load Default
- 选择对应的模型(Checkpoints 节点)
SDXL 工作流
Load Checkpoint (SDXL) → CLIP Text Encode (Prompt) →
→ CLIP Text Encode (Negative) →
→ KSampler → VAE Decode → Save Image关键参数:
| 参数 | 推荐值 | 说明 |
|---|---|---|
| Steps | 25-35 | 采样步数,越多越精细 |
| CFG | 5-8 | 提示词权重,过高会过饱和 |
| Sampler | dpmpp_2m | 采样器,dpmpp_2m 最稳定 |
| Scheduler | karras | 调度器,karras 效果好 |
| Denoise | 1.0 | 去噪强度(图生图时调整) |
Flux 工作流
Flux 不需要负面提示词,工作流更简单:
Load Checkpoint (Flux) → CLIP Text Encode (Prompt) →
→ KSampler → VAE Decode → Save Image| 参数 | Flux-schnell | Flux-dev |
|---|---|---|
| Steps | 4 | 20-30 |
| CFG | 1.0 | 3.5 |
| Sampler | euler | euler |
| Scheduler | simple | simple |
Flux 提示词技巧
Flux 对自然语言理解更好,不需要像 SD 那样堆叠关键词。直接用描述性句子效果更佳:
- SD:
masterpiece, best quality, 1girl, red dress, beach, sunset, detailed - Flux:
A young woman in a flowing red dress standing on a beach at sunset, golden light reflecting off the ocean waves, cinematic composition
🔧 LoRA 微调模型
LoRA(Low-Rank Adaptation)是小型的风格微调模型,可以在不修改主模型的情况下改变画风。
安装 LoRA
bash
# 将 LoRA 文件放入
ComfyUI/models/loras/
# 文件大小通常 36MB-2GB在工作流中使用 LoRA
Load Checkpoint → Load LoRA → CLIP Text Encode → KSampler → VAE Decode → Save
↑
模型 + LoRA 融合LoRA 参数
| 参数 | 推荐范围 | 说明 |
|---|---|---|
| strength_model | 0.6-1.0 | 模型权重,过高会扭曲画面 |
| strength_clip | 0.6-1.0 | CLIP 权重,通常与模型权重一致 |
推荐社区 LoRA
| LoRA 名称 | 用途 | 下载来源 |
|---|---|---|
| Detail Tweaker | 增加细节 | CivitAI |
| Add More Details | 通用增强 | CivitAI |
| Filmgrain | 胶片颗粒效果 | CivitAI |
| 各种角色 LoRA | 特定角色/风格 | CivitAI |
🎯 ControlNet 精准控制
ControlNet 可以通过参考图控制生成结果的构图、姿态、边缘等。
安装 ControlNet 模型
bash
# SDXL ControlNet 模型
wget -P models/controlnet/ \
"https://huggingface.co/stabilityai/control-lora/resolve/main/control-LoRA-rank256-canny-sdxl.safetensors"
wget -P models/controlnet/ \
"https://huggingface.co/stabilityai/control-lora/resolve/main/control-LoRA-rank256-depth-sdxl.safetensors"
wget -P models/controlnet/ \
"https://huggingface.co/stabilityai/control-lora/resolve/main/control-LoRA-rank256-openpose-sdxl.safetensors"ControlNet 类型
| 类型 | 控制内容 | 适用场景 |
|---|---|---|
| Canny | 边缘检测 | 线稿转彩图 |
| Depth | 深度图 | 保持空间结构 |
| OpenPose | 人体姿态 | 控制人物动作 |
| Tile | 图像分块 | 放大/重绘 |
| Lineart | 线稿 | 动漫线稿上色 |
| Scribble | 涂鸦 | 草图生成 |
ControlNet 工作流示例
Load Image → Canny Preprocessor → ControlNet Apply →
↓
Load Checkpoint → Load LoRA → CLIP Text Encode → KSampler → VAE Decode → Save🧩 自定义节点(Custom Nodes)
安装 ComfyUI Manager
ComfyUI Manager 是最重要的自定义节点,提供节点管理界面:
bash
cd ComfyUI/custom_nodes/
git clone https://github.com/ltdrdata/ComfyUI-Manager.git重启 ComfyUI 后,界面右上角会出现 Manager 按钮。
必装自定义节点
| 节点名称 | 功能 | 安装方式 |
|---|---|---|
| ComfyUI-Manager | 节点管理器 | Git |
| ComfyUI_IPAdapter_plus | 图像风格迁移 | Manager 安装 |
| ComfyUI-ControlNet-Aux | ControlNet 预处理器 | Manager 安装 |
| ComfyUI_essentials | 常用工具节点 | Manager 安装 |
| cg-use-everywhere | 无线连接节点 | Manager 安装 |
| ComfyUI-Custom-Scripts | 质量增强脚本 | Manager 安装 |
通过 Manager 安装
- 点击 Manager → Install Custom Nodes
- 搜索节点名称
- 点击 Install
- 重启 ComfyUI
⚡ 性能优化
显存优化
bash
# 启动时添加参数
python main.py --lowvram # 低显存模式(按需加载)
python main.py --novram # 无显存模式(使用系统内存)
python main.py --fp8_e4m3fn # FP8 量化(显存减半)
# 推荐组合(8GB 显卡跑 SDXL)
python main.py --lowvram --fp8_e4m3fn参数说明
| 参数 | 效果 | 适用场景 |
|---|---|---|
--lowvram | 模型分块加载到显存 | 8-12GB 显存 |
--novram | 完全使用系统内存 | 4GB 以下显存 |
--fp8_e4m3fn | FP8 量化,显存减半 | 所有显存不足场景 |
--highvram | 全部加载到显存(默认) | 16GB+ 显存 |
--cache-none | 不缓存模型 | 显存不足 |
--cache-classic | 经典缓存策略 | 多模型切换 |
Apple Silicon 优化
bash
# macOS Apple Silicon
python main.py --force-fp16
# CoreML 加速(需安装 coremltools)
pip install coremltools
python main.py --coreml🖼️ 图片放大
Latent 放大(简单)
KSampler → Upscale Latent → KSampler (denoise: 0.5) → VAE Decode → Save模型放大(高质量)
KSampler → VAE Decode → Load Upscale Model → Upscale Image →
(4x-UltraSharp)
↓
→ KSampler (denoise: 0.25) → Savebash
# 下载放大模型
wget -P models/upscale_models/ \
"https://huggingface.co/Kim2091/4x-UltraSharp/resolve/main/4x-UltraSharp.safetensors"🔄 批量生成
KSampler (batch_size: 8) → VAE Decode → Save Image (for each)| 批量数 | 8GB 显存 | 12GB 显存 | 24GB 显存 |
|---|---|---|---|
| SD 1.5 | 4 张 | 8 张 | 16 张 |
| SDXL | 1 张 | 2 张 | 4 张 |
| Flux | ❌ | 1 张 | 2 张 |
📁 工作流管理
保存工作流
- 界面菜单 → Save → 保存为
.json文件 - 也可以直接拖拽图片到界面加载工作流(ComfyUI 将工作流嵌入 PNG 元数据)
导入工作流
- 界面菜单 → Load → 选择
.json文件 - 或拖拽含工作流元数据的 PNG 图片到界面
社区工作流资源
| 来源 | 说明 |
|---|---|
| ComfyUI Examples | 官方示例工作流 |
| OpenArt | 社区分享工作流 |
| CivitAI | 模型 + 工作流 |
❓ 常见问题
Q: 生成图片全黑/全噪点?
- 检查模型是否正确加载
- 检查 VAE 是否配置正确
- 尝试降低 CFG 值(5-7)
- 检查 Denoise 是否设为 1.0(文生图)
Q: 提示词不生效?
- SD 1.5/SDXL 使用逗号分隔的关键词
- Flux 使用自然语言描述
- 权重语法:
(keyword:1.5)增加权重 - 确认正面和负面提示词没有放反
Q: 显存不足(OOM)?
- 添加
--lowvram参数 - 开启 FP8 量化
--fp8_e4m3fn - 降低图片分辨率(1024x1024 → 768x768)
- 减少 batch_size 到 1
- 使用更小的模型(Flux → SDXL → SD 1.5)
Q: 如何在 Mac 上使用?
bash
# Apple Silicon Mac
python main.py --force-fp16
# 统一内存即显存
# M2/M3 Max 32GB+ 可以跑 SDXL
# M2/M3 Max 64GB+ 可以跑 FluxQ: ComfyUI 和 WebUI (A1111) 有什么区别?
| 对比 | ComfyUI | WebUI (A1111) |
|---|---|---|
| 界面 | 节点式(工作流) | 表单式 |
| 灵活性 | 极高 | 中等 |
| 上手难度 | 较高 | 低 |
| 性能 | 更优 | 一般 |
| 工作流复用 | 强 | 弱 |
| 推荐 | 进阶用户 | 新手 |
选择建议
新手先用 WebUI (A1111) 入门,熟悉后切换到 ComfyUI 获取更大灵活性。ComfyUI 的工作流思维一旦掌握,效率远超 WebUI。
🔗 相关文章
- Ollama 入门教程 — 本地大语言模型部署
- Open WebUI 部署 — AI 对话界面
- Dify 零代码自建 Agent — AI 工作流编排
- AI 方案选择指南 — 本地 vs 云端
- N100 小主机搭建全攻略 — 家庭服务器方案
- Docker 自托管服务部署合集 — 容器化部署
