Qwen-Image-2.1-viggle-turbo便携包 在 ComfyUI 上跑通,3060显卡40 秒出1080P图

Qwen-Image-2.1-viggle-turbo便携包 在 ComfyUI 上跑通,3060显卡40 秒出1080P图

便携整合包 :ComfyUI 本体、Python 环境、GGUF 插件、三个模型权重、两套工作流全部内置,解压双击就能跑,第一次运行不需要联网。

验证硬件:RTX 3060 12G,1088×1920 竖屏单张约 40 秒。

📦 下载

夸克网盘:https://pan.quark.cn/s/1d4fc1b71967

解压即用,不用装 Python,不用装 ComfyUI,不用配环境变量。

硬件要求

先对一下机器,对不上就别下了:

项目 要求
显卡 NVIDIA,6GB 显存起步,12GB 舒适(本包在 RTX 3060 12G 上验证)
驱动 支持 CUDA 12.4,即驱动 ≥ 551 系列
内存 ≥ 16GB
磁盘 包体约 19GB,解压后另留空间
网络 首次运行不需要。ComfyUI 联网只用于你主动拉别的模型

显存低于 8GB 也能跑,启动命令加 --lowvram(见第三节)。

这篇按「为什么能这么快 → 拿到包怎么用 → 里面是什么 → 参数怎么调 → 踩了哪些坑」的顺序写,全是能直接抄的操作。


一、快在哪:三层叠加的压缩

能在 3060 上 40 秒出竖屏图,不是单一优化。是三层压缩叠在一起乘出来的。

第一层:蒸馏,25~50 步砍成 4 步

viggle-turbo 是 DMD2(Distribution Matching Distillation v2)蒸馏出来的。做法是拿一个跑得慢但质量好的多步教师模型,训出一个几步就收敛的学生,直接去匹配教师的输出分布,而不是跟着教师一步步走。

ComfyUI 官方的 image_qwen_image_2_1_image_edit.json 用的是完整 base 模型,采样要 25~50 步。turbo 4 步就收敛,这是倍数级收益,也是三层里唯一真正改变计算量的一层。

顺带一个副作用:蒸馏把 CFG 那一维压掉了。学生直接学到了教师在引导之后的分布,不再需要 classifier-free guidance 去外推。所以 CFG 只能锁 1.0------调高不会「更有引导性」,只会把输出推到训练分布外面去,表现为颜色断层、对比度爆掉。

第二层:量化,4bit 权重既压显存也压延迟

主模型是 GGUF 的 Q4_K_M,5.56GB。4bit 权重比 8bit 少一半的字节要搬。

关键在于 4 步的时候瓶颈不在算力,在显存带宽。每一步都要把整个模型从显存读一遍过一遍,4 步就是读 4 遍 5.5GB。这阶段算力利用率上不去,等的是数据。所以权重大小基本直接决定单步延迟,砍一半就快一截。

这也是 6GB 显存能跑的唯一原因。bf16 主模型加上文本编码器,12G 卡大概率要开 lowvram 硬扛。

第三层:文本编码器也量化,w4a8

qwen3vl_8b_w4a8_heretic.safetensors 是 8B 的 Qwen3-VL 文本编码器,w4a8 = 4bit 权重 + 8bit 激活。

它每次出图只跑一次,不像 UNet 要跑 4 遍。但在 4 步这个尺度上,「只跑一次」的开销占比被放大了------文本编码很可能是整个流程里除 UNet 外最大的一块。所以它也一起量化,省显存的同时省掉那一次前向的时间。

附:一个隐含的压缩------VAE latent 打包

Qwen 用 16 通道 latent(常规 SD 系是 4 通道)配 2×2 patchify。1088×1920 经 VAE 8 倍下采样得 136×240,再 patchify 成 68×120 = 8160 token 的网格。token 数就是 UNet 的序列长度,直接决定注意力开销。

这就是边长必须整除 16 的原因------不对齐的话 patchify 要塞 padding,白烧算力。

代价

  • 量化有损 → GGUF 输出和上游 bf16 不完全一致
  • 蒸馏有损 → 4 步的细节上限低于 25 步
  • 两者叠加 → 正式生产前用同 prompt + 同 seed 跟 bf16 原模型对比一轮

一句话:4 步 × 4bit 权重 × 4bit 文本编码器,三层相乘,才换来 3060 上 40 秒。单独拿出来任何一层都做不到。


二、三步跑起来

  1. 整个目录解压到任意位置(路径可以带中文、可以带空格、可以换盘符)
  2. 双击 start.bat
  3. 浏览器会自动打开 http://127.0.0.1:8188(没自动开就手动输这个地址)

进 ComfyUI 后,左侧「工作流」→ 打开 Qwen2.1_ViggleTurbo ,在 TextEncodeQwenImage21 节点里改提示词 → 点运行。图片出在 ComfyUI/output/。

停服:关掉黑色命令行窗口,或窗口里按 Ctrl+C。

三、显存不够怎么办

前面硬件表说了 6GB 是起步线。显存低于 8GB 时,在启动窗口里 Ctrl+C,然后:

bat 复制代码
start.bat --lowvram

四、包里装了什么

复制代码
QwenImage21-ViggleTurbo-ComfyUI\
├── start.bat                     ← 唯一入口,双击这个
├── README.md
├── python311\                    ← 嵌入式 Python 3.11.9 + PyTorch 2.6.0+cu124
├── ComfyUI\                      ← ComfyUI v0.37.0 本体
│   ├── custom_nodes\ComfyUI-GGUF\   ← GGUF 加载插件(依赖已装)
│   ├── models\diffusion_models\Qwen-Image-2.1-viggle-turbo-Q4_K_M.gguf   5.56 GB
│   ├── models\text_encoders\qwen3vl_8b_w4a8_heretic.safetensors           6.31 GB
│   ├── models\vae\qwen_image_2.1_vae_bf16.safetensors                    675 MB
│   └── user\default\workflows\
│       ├── Qwen2.1_ViggleTurbo.json      ← 文生图(默认 1088×1920 竖屏)
│       └── Qwen2.1_ViggleTurbo_i2i.json  ← 图生图 / 编辑
└── .runtime\                     ← 全部缓存,可整个删掉,不影响运行

文本编码器选的是 w4a8 量化版(6.3GB)。比 int8 版再省 3.5GB 显存,画质差异基本看不出来。

五、文生图参数

工作流 8 个节点,关键参数:

节点 参数
EmptyLatentImage width=1088 / height=1920 / batch=1 ← 分辨率在这改
TextEncodeQwenImage21 正向提示词 / 负向 / resolution=1472
KSampler steps=4 / cfg=1.0 / sampler=euler / scheduler=simple / denoise=1.0

改分辨率就改 EmptyLatentImage 的 width / height。 边长必须是 16 的倍数(原因见第一节)。1080 不是(1080÷16=67.5),填 1080 会被自动上取整成 1088,所以要精确竖屏直接填 1088。推荐值:1088×1920(9:16)、1024×1024、768×1344、1344×768。

TextEncodeQwenImage21 里的 resolution=1472 只在接了参考图 时才参与计算,纯文生图不用管,保持不动即可。规则是 resolution = √(宽 × 高),√(1088×1920) ≈ 1445,取的 1472。

CFG 必须锁死 1.0(原因见第一节)。也因为 CFG=1.0,负向提示词在数学上被完全忽略,工作流里那串 negative 是装饰,留空或保留都一样。

六、图生图 / 编辑工作流

包内第二个 Qwen2.1_ViggleTurbo_i2i.json,不用下任何额外权重。

用法:LoadImage 选图 → 在 TextEncodeQwenImage21 写编辑指令 → 运行。选图可以直接把文件拖到节点上。

提示词写法是关键,这是编辑指令,不是重新描述画面:

复制代码
✗ a red dress, a woman, an arch hall        ← 等于重画,参考图白给
✓ transform the golden gown into a deep crimson red silk dress,
  keep her pose, face, hairstyle and background exactly the same

核心是说清「改什么」+「保留什么」。保留项写得越明确,人物和背景的 likeness 越稳。

包内 JSON 的实际值:steps=4 / denoise=0.9 / resolution=1088。实测 3060 12G 上 steps=4 约 163 秒,steps=8 约 123 秒(编辑更稳,包内 Note 建议改 8 步)。比文生图慢是因为要额外编码参考图。

多图可以接 image_1~image_10,提示词里用 <image1> <image2> 指代。

⚠️ 这套 i2i 不是官方模板。官方那套用的是完整 base 模型 (qwen_image_2.1_int8_convrot + qwen3vl_8b_int8_convrot,合计 16.6GB),25~50 步。本包为了控制体积只装了 4 步蒸馏的 Viggle Turbo GGUF,所以上面这个是 turbo 改造版:能用、速度可以,但编辑精细度不如官方 base 模型。

七、三个模型从哪来

国内走 hf-mirror 直连:

文件 仓库
Qwen-Image-2.1-viggle-turbo-Q4_K_M.gguf realrebelai/Viggle_Qwen-Image-2.1-Turbo_GGUFs
qwen3vl_8b_w4a8_heretic.safetensors pottokao/Qwen-Image-2.1-Text-Encoder-Heretic-W4A8
qwen_image_2.1_vae_bf16.safetensors abenzerps/Qwen-Image-2.1-Uncensored-GGUF

这里踩了两个大坑,参考文档给的信息对不上实际上游:

1.上游 realrebelai 仓库实际只有 Q2_K / Q3_K_M / Q4_K_M / Q5_K_M / Q6_K / Q8_0 六档,本包用的是的 Q4_K_M.gguf。

  1. 文本编码器 是去审查版 _heretic,托管在 pottokao/Qwen-Image-2.1-Text-Encoder-Heretic-W4A8。

另外 hf download 带子目录时会自动建一层同名文件夹,下载完必须 mv 出来,否则 ComfyUI 扫不到。

八、常见问题

现象 处理
双击闪退 命令行 cd 到本目录执行 start.bat,看报错信息
端口 8188 被占 跑 start.bat --port 8189,浏览器改 8189
提示 UnetLoaderGGUF 节点不存在 插件被删了,重装后跑 python311\python.exe -m pip install -r ComfyUI\custom_nodes\ComfyUI-GGUF\requirements.txt
首次加载特别慢 GGUF 首次加载有编译缓存,属正常,之后就快了
杀毒软件拦端口 关掉程序级网络管控(联想/火绒/360 的「网络防护」常见)
画质不如原版 bf16 GGUF 量化有损。生产前用同 prompt + 同 seed 与 bf16 对比一轮;要更高质量换 Q5_K_M / Q6_K 档,12G 卡跑得动 Q6_K
想彻底重置 删掉整个 .runtime\,重启自动重建

九、几个别踩的坑

  • 不要再叠那个 340MB 的 Viggle LoRA。 Q4_K_M GGUF 本身已经是完整蒸馏后的 transformer,叠上去是重复蒸馏,画质反而劣化。包内默认没装,需要就自己丢到 ComfyUI\models\loras\。
  • 分辨率边长必须整除 16。 1080 会被自动上取整。
  • CFG 永远锁 1.0。 别手滑调到 1.5。
  • GGUF 与上游 bf16 输出不完全一致。 拿去做商品图正式生产前,先用同 prompt + 同 seed 跟原模型对比一轮画质,别直接上线。

十、便携性是怎么做的

start.bat 里做了三件事,这也是「免安装」能成立的原因:

  1. 路径全部走 %~dp0 相对定位 ,cd /d 到包根再启动,所以换盘、带中文带空格都不影响
  2. Python 走包内嵌入版 python311\python.exe,并设 PYTHONNOUSERSITE=1 隔离系统级 site-packages,防止和机器上别的 Python 环境串味
  3. 缓存全部重定向到 .runtime\ (HF_HOME / TORCH_HOME / inductor / triton / TMP / TEMP),一个字符都不写用户目录。代价是首次启动慢一点,删掉 .runtime\ 就能彻底重置

另外内置了 PIP_CONFIG_FILE 指空索引,防止启动时 pip 手贱去联网;还把 torch 的 libiomp5md.dll 复制成 libomp140.x86_64.dll,避免 fbgemm 加载报错。

十一、想改点什么

  • 换量化档 :去 realrebelai/Viggle_Qwen-Image-2.1-Turbo_GGUFs 下 Q6_K,丢进 models\diffusion_models\,在 UnetLoaderGGUF 节点里改文件名
  • 升级 ComfyUI :包内 ComfyUI\ 是纯净源码(已删 .git)。要升级就重新 clone 官方 tag,再把 models\ 和 custom_nodes\ 拷回去
  • 重装依赖 :pip-build.ini 是构建期用的镜像配置(阿里云 PyPI + 上交 torch cu124 源),装完依赖即可删
相关推荐
浪淘沙jkp18 小时前
ComfyUI全方位指南(5)LTX-2.5 ComfyUI图生视频,文生视频可以你也可以的
音视频·comfyui
AIGC小尼19 小时前
MiniMax-H3 8G 显存 AI 漫剧进阶实战|ComfyUI 命令行调参、角色锁定与 FFmpeg 批量脚本全解析
人工智能·ffmpeg·comfyui·ai漫剧
AIGC小尼21 小时前
ACE-Step-1.5 本地 AI 音乐模型实战|text2music 歌词转人声,部署脚本、参数调优与排坑全记录
人工智能·算法·comfyui·ai漫剧
GPU实战笔记9 天前
ComfyUI 镜像首跑:先验证自启动与端口入口,再处理外部服务集成
comfyui·故障排查·镜像部署·云端gpu·端口访问
jianpeng的工程笔记9 天前
Qwen-Image-2.1 图像编辑拆解:从透明改字到多图合成
人工智能·qwen·图像生成·comfyui
AIGC小尼10 天前
本地AI漫剧部署|低配8G显存实战部署MiniMax-H3|4步极速采样+低显存优化完整方案(可角色替换/视频魔改)
人工智能·stable diffusion·comfyui·ai漫剧
福大大架构师每日一题11 天前
ComfyUI v0.36.0更新:视频拼接、通用循环、Yue2音乐、Marigold v2与大量合作节点全面上线
comfyui
每天死循环11 天前
ComfyUI 桌面版保姆级图文教程 · 第二节:一张手抄报彩图,出「深线稿 + 浅线稿」两张涂色卡
ai作画·comfyui·手抄报
论文复现现场12 天前
ComfyUI 怎么同时调用 4 张/8 张 RTX 4090?AI 视频批量生成的多实例队列与 Python 调度方案
人工智能·python·comfyui·rtx4090