硬件环境:Windows 11 · RTX 5070 Laptop (8GB 显存) · 32GB DDR5 内存 软件版本:ComfyUI v0.37.0 · Python 3.12.10(嵌入式) · PyTorch 2.14.0+cu130 · ComfyUI-GGUF(leejet fork) 实测性能:1024×1024,euler/simple,约 8 秒/步,25 步一张图 2~3 分钟
下文所有命令以安装根目录 D:\ComfyUI 为例——可以换成任意磁盘的任意文件夹,建议路径纯英文、不含空格,尽量不要放 C 盘。整套部署完成后总共 约 19 GB
模型下载地址:https://huggingface.co/abenzerps/Qwen-Image-2.1-Uncensored-Quantized
模型选择:qwen-image-2.1-UC-Q5_K_M.gguf
模型选择思路:8GB 显存装不下 bf16 主模型(约 20GB+),所以 DiT 用 Q5_K_M 量化 GGUF(5.22GB,进显存);文本编码器用 int8 量化版(9.35GB,放内存跑,编码每个提示词只算一次,速度几乎无损);VAE 本来就小。
为什么不用官方 portable 整合包
两个原因:
- 网络:huggingface.co 直连不通,GitHub Releases 直连只有 20KB/s(挂代理也只有 40KB/s),2GB 的整合包要下一天。
- 可控性:源码 + 嵌入式 Python 的方式每一步都透明,依赖全部走国内镜像,后面升级、换模型都方便。
如果你的网络可以直接满速访问 GitHub,用 ComfyUI portable(选不带 cu126 后缀的 nvidia 版)然后跳到第四步下载模型,也是完全 OK 的——但 portable 同样要注意本文的 cu130 和 GGUF fork 两个坑。
第一步:嵌入式 Python
不装系统 Python,用官方 embeddable 包(10MB),npmmirror 有镜像:
cd /d D:\ComfyUI
curl -L -o python-embed.zip https://registry.npmmirror.com/-/binary/python/3.12.10/python-3.12.10-embed-amd64.zip
:: 用系统自带 tar 解压(Win10 1809+ 都有)
C:\Windows\System32\tar.exe -xf python-embed.zip -C python-embed
然后关键一步:用记事本打开 python-embed\python312._pth,改成下面这样(原文件里 import site 前面有 #,去掉它,再加一行 ..\ComfyUI):
python312.zip
.
..\ComfyUI
import site
import site:启用 site-packages,pip 装的包才能被找到
..\ComfyUI:嵌入式 Python 是隔离模式,不会自动把脚本目录加进模块搜索路径,不加这行启动 ComfyUI 直接报 ModuleNotFoundError: No module named 'comfy'
装 pip:
curl -L -o get-pip.py https://bootstrap.pypa.io/get-pip.py
python-embed\python.exe get-pip.py -i https://pypi.tuna.tsinghua.edu.cn/simple
顺手把 pip 缓存挪出 C 盘(默认在 C:\Users\<你>\AppData\Local\pip\Cache,装一次 torch 能吃掉 5GB+):
python-embed\python.exe -m pip config set global.cache-dir D:\ComfyUI\pip-cache
第二步:ComfyUI 本体 + GGUF 节点
git clone --depth 1 https://github.com/comfyanonymous/ComfyUI.git
cd ComfyUI\custom_nodes
git clone --depth 1 https://github.com/leejet/ComfyUI-GGUF.git
必须是 leejet 的 fork,不要用老的 city96 版。Qwen-Image 2.1 是新架构,city96 版会报
Unknown model architecture!。模型仓库 README 也特别强调了这一点。
第三步:装依赖(顺序很重要)
RTX 50 系(Blackwell,sm_120)必须 cu128 及以上的 PyTorch;而且 ComfyUI v0.37 起,优化 CUDA 算子要求 cu130+(启动时会打警告)。所以我们直接上 cu130 版。
坑在这里:ComfyUI 的 requirements.txt 里除了 torch/torchvision,还有 kornia 和 spandrel 两个包依赖 torch。如果直接一把装,pip 会从 PyPI 拉一个默认构建的 torch(不是 cu130 版),后面再想装 cu130 版会因为"已满足"被跳过。
所以分三步走:
① 先用记事本打开 ComfyUI\requirements.txt,删掉这四行(只删这四行,torchsde 要保留!):
torch
torchvision
kornia
spandrel
② 装其余依赖(清华镜像,找不到的包自动回落 PyPI 官方):
cd /d D:\ComfyUI
python-embed\python.exe -m pip install -r ComfyUI\requirements.txt gguf sentencepiece protobuf -i https://pypi.tuna.tsinghua.edu.cn/simple --extra-index-url https://pypi.org/simple
③ 装 cu130 版 torch + torchvision(PyTorch 官方源,约 2GB,耐心等):
python-embed\python.exe -m pip install torch==2.14.0 torchvision --index-url https://download.pytorch.org/whl/cu130
④ 补回被删的两个可选依赖(此时 torch 已就位,pip 不会再乱拉):
python-embed\python.exe -m pip install kornia spandrel
验证 GPU 识别(看到 sm_120 就对了,那是 50 系的架构代号):
python-embed\python.exe -c "import torch; print(torch.version, torch.cuda.get_arch_list())"
:: 期望输出类似:2.14.0+cu130 ['sm_75', 'sm_80', 'sm_86', 'sm_90', 'sm_100', 'sm_120']
第四步:下载模型(hf-mirror + 断点续传 + 校验)
三个文件都从 abenzerps/Qwen-Image-2.1-GGUF
仓库走 hf-mirror 镜像下载。curl -C - 支持断点续传,网断了重跑同一条命令即可:
cd /d D:\ComfyUI
:: DiT 主模型 → diffusion_models
curl -L -C - -o qwen-image-2.1-Q5_K_M.gguf https://hf-mirror.com/abenzerps/Qwen-Image-2.1-GGUF/resolve/main/qwen-image-2.1-Q5_K_M.gguf
:: 文本编码器(int8 量化版)→ text_encoders
curl -L -C - -o qwen3vl_8b_int8_convrot.safetensors https://hf-mirror.com/abenzerps/Qwen-Image-2.1-GGUF/resolve/main/text_encoders/qwen3vl_8b_int8_convrot.safetensors
:: VAE → vae
curl -L -C - -o qwen_image_2.1_vae_bf16.safetensors https://hf-mirror.com/abenzerps/Qwen-Image-2.1-GGUF/resolve/main/vae/qwen_image_2.1_vae_bf16.safetensors
下载完务必校验(15GB 的文件断点续传很容易混进坏块):
certutil -hashfile qwen-image-2.1-Q5_K_M.gguf SHA256
三个文件的官方 SHA256(对得上才算数):
| 文件 | SHA256 |
|---|---|
| qwen-image-2.1-Q5_K_M.gguf | 88ce8e90e5b959cce5e248f697d7f6c9c7ca5696c1eac64a10dadb041dd7fd07 |
| qwen3vl_8b_int8_convrot.safetensors | 8bfd0f6e12abf2d2d697ecc888e5e90b0d6741d6708f05799f53afa560452e8f |
| qwen_image_2.1_vae_bf16.safetensors | bb21f7473051e1ac368515dd3f2e15cd44d7a11748ee8823e1ddca3e4876b7c9 |
然后归位:move qwen-image-2.1-Q5_K_M.gguf ComfyUI\models\diffusion_models
move qwen3vl_8b_int8_convrot.safetensors ComfyUI\models\text_encoders
move qwen_image_2.1_vae_bf16.safetensors ComfyUI\models\vae\
第五步:启动脚本
在安装根目录新建 run.bat(文件名想用中文也行,内容必须是纯英文):
@echo off
chcp 65001 >nul
title ComfyUI - Qwen-Image 2.1 GGUF (lowvram)
cd /d "%~dp0"
REM --lowvram: prevents VRAM overflow on 8GB GPUs
REM The text encoder (9.35 GB int8) runs on system RAM
REM via the workflow's Load CLIP node (device=cpu).
"%~dp0python-embed\python.exe" -s "%~dp0ComfyUI\main.py" --lowvram --windows-standalone-build --port 8188
echo.
echo ComfyUI has exited. If there were errors, check the text above.
pause
.bat 文件里不要写中文注释! cmd 用系统 GBK 代码页解析批处理,UTF-8 中文会被当成乱码字节,轻则注释变乱码,重则把命令行撕碎导致整份脚本无法运行。所以脚本内容全程 ASCII。脚本用的是
%~dp0相对路径,放在任何目录都能跑。
双击运行,浏览器自动打开 http://127.0.0.1:8188 就成功了。
第六步:搭建工作流
两种方式任选:
方式 A:把文末附录的 JSON 保存为 .json 文件,拖进 ComfyUI 画布。
方式 B:手动搭建,共 9 个节点:
| 节点 | 关键参数 |
|---|---|
| Unet Loader (GGUF) | unet_name 选 qwen-image-2.1-Q5_K_M.gguf |
| Load CLIP(CLIPLoader) | clip_name 选 qwen3vl_8b_int8_convrot.safetensors,type 选 qwen_image,device 选 cpu |
| Load VAE(VAELoader) | vae_name 选 qwen_image_2.1_vae_bf16.safetensors |
| CLIP Text Encode ×2 | 正向写描述;负向随便写(cfg=1 时不生效) |
| Empty Latent Image | 1024 × 1024,批次 1 |
| KSampler | steps 25 · cfg 1.0 · euler · simple · denoise 1.0 |
| VAE Decode | — |
| Save Image | 文件名前缀随意 |
连线就是标准文生图流:GGUF加载器→KSampler.model,Load CLIP→两个文本编码,文本编码→KSampler 正/负条件,Empty Latent→KSampler.latent_image,KSampler.LATENT→VAE解码.samples,VAELoader→VAE解码.vae,VAE解码→保存图像。
三个要点:
- Load CLIP 的 device 必须选
cpu——9.35GB 编码器常驻内存不占显存,这是 8GB 卡能跑的关键,而且文本编码每个提示词只跑一次,对速度几乎无影响。 - type 必须选
qwen_image,选错类型加载直接报错。 - KSampler 只有一个 LATENT 输出口(v0.37 删掉了老版的 MODEL 直通口),如果你看到教程截图里 KSampler 有两个输出口,那是老版本。
第七步:验证
点运行后看黑色控制台窗口,出现这些说明一切正常:
pytorch version: 2.14.0+cu130
ComfyUI-GGUF: Allowing full torch compile
gguf qtypes: BF16 (68), Q5_K (165), Q6_K (64)
Requested to load QwenImage21
首次运行要加载 14.6GB 权重(编码器进内存、DiT 进显存),之后 ComfyUI 会把模型缓存在内存/显存里,第二次生成直接命中缓存。生成的图在 ComfyUI\output\。
日常使用与调优
- 想要更快:steps 降到 15-20;或换
qwen-image-2.1-Q4_K_M.gguf(4.6GB,官方推荐的大小/质量平衡点,下载方式同第四步,改文件名即可) - 想要更高质量/更大图:模型原生支持 2048×2048,但 8GB 显存建议先 1024×1024,OOM 就降到 832×1216
- 用负向提示词:把 cfg 提到 2.5~4(cfg=1 时负向提示不生效,这是 Qwen-Image 2.1 官方推荐路径)
- 中文提示词随便写,Qwen3-VL 编码器对中文长描述的理解是强项
- 更新 ComfyUI:
cd /d D:\ComfyUI\ComfyUI && git pull,然后重跑第三步的第②条命令(有新依赖时会自动补装) - 显存还是吃紧:
--lowvram之外还可以加--novram(更激进),或把 GGUF 换成 Q4_K_M

Comments NOTHING