Qwen-Image-2.1 无审查版本部署指南

ruiwang 发布于 6 天前 70 次阅读


AI 摘要

8GB显存也能跑Qwen-Image-2.1?本文实测RTX 5070 Laptop,从嵌入式Python、cu130与GGUF节点,到模型下载、工作流搭建和常见坑,带你用约19GB空间完成一套透明、可控的本地部署。

硬件环境: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 整合包

两个原因:

  1. 网络:huggingface.co 直连不通,GitHub Releases 直连只有 20KB/s(挂代理也只有 40KB/s),2GB 的整合包要下一天。
  2. 可控性:源码 + 嵌入式 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.gguf88ce8e90e5b959cce5e248f697d7f6c9c7ca5696c1eac64a10dadb041dd7fd07
qwen3vl_8b_int8_convrot.safetensors8bfd0f6e12abf2d2d697ecc888e5e90b0d6741d6708f05799f53afa560452e8f
qwen_image_2.1_vae_bf16.safetensorsbb21f7473051e1ac368515dd3f2e15cd44d7a11748ee8823e1ddca3e4876b7c9

然后归位: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 Image1024 × 1024,批次 1
KSamplersteps 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解码→保存图像。

三个要点:

  1. Load CLIP 的 device 必须选 cpu——9.35GB 编码器常驻内存不占显存,这是 8GB 卡能跑的关键,而且文本编码每个提示词只跑一次,对速度几乎无影响。
  2. type 必须选 qwen_image,选错类型加载直接报错。
  3. 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
此作者没有提供个人介绍。
最后更新于 2026-10-13