2026-06-14 12:08:38 +08:00
|
|
|
|
# 06 ComfyUI 装出图
|
|
|
|
|
|
|
|
|
|
|
|
## 目标
|
|
|
|
|
|
|
2026-06-14 13:41:40 +08:00
|
|
|
|
装 ComfyUI + 拉 SDXL 模型 + 出第一张图。
|
|
|
|
|
|
|
|
|
|
|
|
> **本机实测版本**(2026-06-14):
|
|
|
|
|
|
> - ComfyUI master(2026-06)
|
|
|
|
|
|
> - ComfyUI 依赖 101 个包,5 分 10 秒装完
|
|
|
|
|
|
> - torch 2.12.0 + torchvision 0.27.0 + torchaudio 2.11.0
|
|
|
|
|
|
> - 模型:**SDXL base 1.0**(6.94 GB,`sd_xl_base_1.0.safetensors`)
|
|
|
|
|
|
> - 出图实测:1024×1024,25 步,~5-10 秒
|
|
|
|
|
|
> - 显存占用:~7.9 GB / 16 GB(剩 8.4 GB 余量)
|
2026-06-14 12:08:38 +08:00
|
|
|
|
|
|
|
|
|
|
## 拉 ComfyUI 代码
|
|
|
|
|
|
|
|
|
|
|
|
**WSL2 终端**:
|
|
|
|
|
|
```bash
|
|
|
|
|
|
cd /mnt/d/img-code
|
|
|
|
|
|
git clone https://github.com/comfyanonymous/ComfyUI.git
|
|
|
|
|
|
cd ComfyUI
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 建独立 venv(和 LLM 那个分开)
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
uv venv --python 3.11 .venv
|
|
|
|
|
|
source .venv/bin/activate
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 装依赖
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
uv pip install -r requirements.txt
|
|
|
|
|
|
uv pip install torch torchvision torchaudio \
|
|
|
|
|
|
--index-url https://download.pytorch.org/whl/cu128 \
|
|
|
|
|
|
--extra-index-url https://pypi.tuna.tsinghua.edu.cn/simple
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 让 ComfyUI 用 D 盘模型
|
|
|
|
|
|
|
|
|
|
|
|
**WSL2 终端**(在 ComfyUI 目录下):
|
|
|
|
|
|
```bash
|
|
|
|
|
|
cat > extra_model_paths.yaml << 'EOF'
|
|
|
|
|
|
comfyui_models:
|
|
|
|
|
|
base_path: /mnt/d/ComfyUI-models
|
|
|
|
|
|
checkpoints: checkpoints
|
|
|
|
|
|
vae: vae
|
|
|
|
|
|
loras: loras
|
|
|
|
|
|
controlnet: controlnet
|
|
|
|
|
|
EOF
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
**这样配置后**:
|
|
|
|
|
|
- 你把模型放 `/mnt/d/ComfyUI-models/checkpoints/`
|
|
|
|
|
|
- ComfyUI 自动找到(不用改代码)
|
|
|
|
|
|
|
|
|
|
|
|
## 验证 PyTorch(同 05 章)
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
python -c "import torch; print(torch.cuda.is_available(), torch.cuda.get_device_name(0))"
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2026-06-14 13:41:40 +08:00
|
|
|
|
## 拉 SDXL 模型(单文件,最省事)
|
|
|
|
|
|
|
|
|
|
|
|
### 选 Flux 还是 SDXL?
|
|
|
|
|
|
|
|
|
|
|
|
| 模型 | 显存 | 出图速度 | 画质 | 文件数 | 难度 |
|
|
|
|
|
|
|------|------|------|------|------|------|
|
|
|
|
|
|
| **SDXL 1.0** | ~7 GB | 5-10s | ⭐⭐⭐⭐ | 2 个(7G + 335M)| ⭐ 直接 Load Checkpoint |
|
|
|
|
|
|
| FLUX.1-dev fp8 | ~12 GB | 30-60s | ⭐⭐⭐⭐⭐ | 4 个(12G + 335M + 230M + 9.5G)| ⭐⭐⭐⭐ 拆 4 个 Loader |
|
|
|
|
|
|
|
|
|
|
|
|
**推荐第一次先装 SDXL**——单文件 + 不用拆节点,**5 分钟出第一张图**。
|
|
|
|
|
|
|
|
|
|
|
|
### 浏览器下 SDXL(国内 ModelScope 镜像)
|
|
|
|
|
|
|
|
|
|
|
|
**Windows 浏览器**打开:
|
|
|
|
|
|
https://www.modelscope.cn/models/AI-ModelScope/stable-diffusion-xl-base-1.0/files
|
|
|
|
|
|
|
|
|
|
|
|
**只下这一个**(VAE 在主模型里内置,不用单独下):
|
|
|
|
|
|
- `sd_xl_base_1.0.safetensors`(**6.94 GB**)
|
|
|
|
|
|
|
|
|
|
|
|
存到 `D:\FluxModels\`。
|
|
|
|
|
|
|
|
|
|
|
|
### WSL2 移到对的位置
|
2026-06-14 12:08:38 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
2026-06-14 13:41:40 +08:00
|
|
|
|
mkdir -p /mnt/d/ComfyUI-models/checkpoints
|
|
|
|
|
|
mv /mnt/d/FluxModels/sd_xl_base_1.0.safetensors /mnt/d/ComfyUI-models/checkpoints/
|
|
|
|
|
|
ls -lh /mnt/d/ComfyUI-models/checkpoints/
|
2026-06-14 12:08:38 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
2026-06-14 13:41:40 +08:00
|
|
|
|
**应当看到**:`sd_xl_base_1.0.safetensors 6.94G`
|
|
|
|
|
|
|
|
|
|
|
|
> **不要下错**的:`sd_xl_offset_example-lora_1.0.safetensors`(49MB 是 LoRA 增强,第一次跑不用)。
|
|
|
|
|
|
>
|
|
|
|
|
|
> **不要下**:FLUX 的 `ae.safetensors`(VAE,FLUX 不内置但 SDXL 内置了)。
|
2026-06-14 12:08:38 +08:00
|
|
|
|
|
|
|
|
|
|
## 启动 ComfyUI
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
python main.py --listen 0.0.0.0
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
**看到**:
|
|
|
|
|
|
```
|
|
|
|
|
|
To see the GUI go to: http://0.0.0.0:8188
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
**Windows 浏览器打开**:http://localhost:8188
|
|
|
|
|
|
|
2026-06-14 13:41:40 +08:00
|
|
|
|
## 出第一张图(SDXL 节点图)
|
|
|
|
|
|
|
|
|
|
|
|
### 节点清单
|
|
|
|
|
|
|
|
|
|
|
|
1. **Load Checkpoint**(双击空白处搜)→ 选 `sd_xl_base_1.0.safetensors`
|
|
|
|
|
|
2. **CLIP Text Encode**(加**两次**,一正一负)
|
|
|
|
|
|
3. **Empty Latent Image** → 1024×1024
|
|
|
|
|
|
4. **KSampler** → steps=25, cfg=7, sampler=euler_ancestral, scheduler=normal, denoise=1
|
|
|
|
|
|
5. **VAE Decode**
|
|
|
|
|
|
6. **Save Image**
|
|
|
|
|
|
|
|
|
|
|
|
### 连线(6 根)
|
|
|
|
|
|
|
|
|
|
|
|
| 起点 | → | 终点 |
|
|
|
|
|
|
|------|---|------|
|
|
|
|
|
|
| Load Checkpoint.MODEL | → | KSampler.model |
|
|
|
|
|
|
| Load Checkpoint.CLIP | → | 两个 CLIP Text Encode.clip |
|
|
|
|
|
|
| CLIP Text Encode (正面).CONDITIONING | → | KSampler.positive |
|
|
|
|
|
|
| CLIP Text Encode (负面).CONDITIONING | → | KSampler.negative |
|
|
|
|
|
|
| Empty Latent Image.LATENT | → | KSampler.latent_image |
|
|
|
|
|
|
| KSampler.LATENT | → | VAE Decode.samples |
|
|
|
|
|
|
| Load Checkpoint.VAE | → | VAE Decode.vae |
|
|
|
|
|
|
| VAE Decode.IMAGE | → | Save Image.images |
|
|
|
|
|
|
|
|
|
|
|
|
### 提示词
|
|
|
|
|
|
|
|
|
|
|
|
- **正面**:`a cute orange cat sitting on a windowsill, sunny day, high quality, detailed`
|
|
|
|
|
|
- **负面**:`blurry, low quality, distorted, ugly`
|
|
|
|
|
|
|
|
|
|
|
|
### 点 Queue Prompt
|
2026-06-14 12:08:38 +08:00
|
|
|
|
|
2026-06-14 13:41:40 +08:00
|
|
|
|
**首次出图 30-60 秒**(编译 kernel),**之后每张 5-10 秒**。
|
2026-06-14 12:08:38 +08:00
|
|
|
|
|
2026-06-14 13:41:40 +08:00
|
|
|
|
## 实机出图示例(2026-06-14)
|
2026-06-14 12:08:38 +08:00
|
|
|
|
|
2026-06-14 13:41:40 +08:00
|
|
|
|
**提示词**:`a cute orange cat sitting on a windowsill, sunny day, high quality, detailed`
|
2026-06-14 12:08:38 +08:00
|
|
|
|
|
2026-06-14 13:41:40 +08:00
|
|
|
|
**出图**(1024×1024,25 步):
|
|
|
|
|
|
- 构图:猫居中,对称植物框景
|
|
|
|
|
|
- 光影:阳光从右上斜射,暖光
|
|
|
|
|
|
- 配色:暖橙 + 蓝绿 + 米黄
|
|
|
|
|
|
- 风格:绘本/吉卜力治愈风
|
|
|
|
|
|
- 显存:~7.9 GB / 16 GB
|
|
|
|
|
|
- 出图时间:~5-10 秒
|
2026-06-14 12:08:38 +08:00
|
|
|
|
|
2026-06-14 13:41:40 +08:00
|
|
|
|
**没畸形、没变形、提示词全还原**——SDXL 一次成功。
|
2026-06-14 12:08:38 +08:00
|
|
|
|
|
|
|
|
|
|
## 关掉 ComfyUI
|
|
|
|
|
|
|
|
|
|
|
|
回到 WSL2 终端,按 `Ctrl+C`。
|
|
|
|
|
|
|
|
|
|
|
|
## 下一步
|
|
|
|
|
|
|
|
|
|
|
|
✅ 通过后 → 装更多模型 / 装 ComfyUI-Manager(一键装插件)/ 学 workflow
|