9 月 20 日,阿里 Qwen 团队把 Qwen-Image-2.1 的权重直接放到了 HuggingFace 和 ModelScope 上。这不是一次简单的「版本号 +1」:视觉生成主干只有 7B 参数,却在一个 checkpoint 里同时做了文生图、图像编辑、原生 RGBA 透明图、最多 10 张参考图合成,以及圈选/涂抹/mask 局部编辑。Diffusers、ComfyUI、vLLM-Omni、SGLang、LightX2V 全部是 Day-0 支持。
我先把仓库和文档核对了一遍:HuggingFace 的 Qwen/Qwen-Image-2.1 页面返回 200,pipeline_tag 是 text-to-image,标签里同时有 image-generation 和 image-editing;GitHub 仓库 QwenLM/Qwen-Image-2.1 的 README 也返回 200,首页明确写了 2026.09.20 的发布时间和 Diffusers/ComfyUI 支持。下面把官方文档里的关键用法、默认参数和两个容易踩的坑整理出来,你可以直接照着跑。
如果你刚接触 Qwen 图像模型,可以先看站内这篇 Qwen-Image-3.0 上手指南;想对比闭源 API 方案,可以参考 GPT-Image-2.5 API 上手指南。另外 阿里 Qwen 3.8 Max 开发者指南 里有 Qwen 系列模型的通用接入思路。
两个先决条件,没想清楚别下载
第一,许可证变了。 Qwen-Image 1.0 和 2512 都是 Apache 2.0,商用随便改。但 2.1 采用的是 Qwen Research License Agreement,核心就一条:非商用可下载、可修改、可分发,商用必须单独找阿里申请许可。也就是说,你可以拿它做内部测试、写文章、做研究,但要是直接集成到产品里卖钱,先发邮件谈授权。这个坑比技术坑更致命,因为很多人看到「开源权重」四个字就默认能商用。
第二,7B 只是视觉生成主干的参数。 完整跑起来还需要一个 Qwen3-VL 8B 文本编码器、一个 64 通道 RGBA VAE,以及两个 9B 的提示词改写模型(PE-T2I / PE-I2I)。官方文档虽然没有给出一个精确的总显存数字,但社区估算 FP16/BF16 全加载约 33GB。这意味着一张 24GB 的 RTX 3090/4090 是跑不起原生 BF16 的,必须开 enable_model_cpu_offload() 或者等社区量化版。不要看到「7B」就以为老旧笔记本也能跑。
这是我对这次发布最谨慎的地方:参数数字很好看,但本地部署成本被有意无意地淡化了。
环境准备
官方推荐的环境如下。这套依赖组合对版本比较敏感,照着装完再进下一步。
# 建议 Python 3.10 - 3.12,PyTorch 2.4.0+
pip install "torch>=2.4.0"
pip install "transformers>=5.17"
pip install git+https://github.com/huggingface/diffusers
pip install accelerate pillow注意 transformers 必须 ≥ 5.17,因为文本编码器用的是 Qwen3-VL;diffusers 需要装 git 最新版,正式版可能还没合并 QwenImage21Pipeline。
文生图最小可运行示例
下面这段代码来自官方 GitHub 示例,我按文档原样整理,参数和默认值都没有改。
import torch
from diffusers import QwenImage21Pipeline
pipe = QwenImage21Pipeline.from_pretrained(
"Qwen/Qwen-Image-2.1",
torch_dtype=torch.bfloat16,
).to("cuda")
image = pipe(
prompt='A neon shop sign that reads "QWEN IMAGE 2.1", rainy night',
width=2048,
height=2048,
num_inference_steps=40,
generator=torch.Generator("cuda").manual_seed(42),
).images[0]
image.save("t2i.png")如果显存不够,把 .to("cuda") 换成 pipe.enable_model_cpu_offload(),会把文本编码器和 VAE 按需放到内存里。代价是生成速度会慢一些,但至少能跑。
原生透明图:这次最大的卖点
2.1 的 VAE 直接输出 4 通道 RGBA,不是生成后再抠图。对做贴纸、Logo、电商白底图的人来说,这意味着省掉一个背景移除模型和修边步骤。
官方示例的提示词会明确带上 “RGBA image with transparency” 和 “alpha channel”,我也建议你不要省略这些关键词——模型虽然能根据提示词自动判断,但显式声明更稳。
image = pipe(
prompt=(
"This is an RGBA image with transparency. "
"A cute cartoon dragon sticker. "
"The image has alpha channel and the background is transparent."
),
width=2048,
height=2048,
num_inference_steps=40,
).images[0]
image.save("sticker.png") # 保存为带 alpha 通道的 PNG图像编辑:不传 image 是生成,传了就是编辑
同一个 Pipeline,多传一个 image 参数就变成编辑模式。这是 2.1 相比 1.0 最大的工程改进——以前要分别下载生图和编辑两个 checkpoint,现在一个模型搞定。
from PIL import Image
image = pipe(
prompt="Change the background to a sunset beach",
image=Image.open("input.png"),
num_inference_steps=40,
).images[0]局部编辑支持三种方式:圈选、涂抹、独立 mask。独立 mask 最不容易误伤原图,适合需要保留完整输入的场景。
# 多参考图合成:最多 10 张
refs = [Image.open(f"ref_{i}.png") for i in range(3)]
image = pipe(
prompt="These three characters are sitting around a campfire",
image=refs,
width=2048,
height=2048,
num_inference_steps=40,
).images[0]分辨率与宽高比
官方推荐的常用分辨率如下。不要盲目拉到 2048×2048,显存会炸。
| 比例 | 分辨率 |
|---|---|
| 1:1 | 2048×2048 |
| 4:3 | 2400×1792 |
| 3:4 | 1792×2400 |
| 3:2 | 2528×1696 |
| 2:3 | 1696×2528 |
| 16:9 | 2752×1536 |
| 9:16 | 1536×2752 |
ComfyUI 与 Day-0 生态
如果你用 ComfyUI,可以直接从 Comfy-Org/Qwen-Image-2.1 下载兼容权重,官方提供了文生图和图像编辑两个工作流模板。vLLM-Omni 和 SGLang 也同日合入了支持,适合想做成服务的人。节点命名和官方示例保持一致,加载后先用一张 1:1 的图验证通路。
Diffusers 的 PR 是 #14804,SGLang 的 PR 是 #39983。
官方 benchmark 要小心看
Qwen 官方在博客里说 2.1 在 Qwen-Image-Bench 上超过多数闭源模型。但 Qwen-Image-Bench 是 Qwen 团队自己 5 月份发布的评测基准,裁判模型也是 Qwen3.6-27B 微调的 Q-Judger。这等于既当运动员又当裁判,独立第三方复现出来之前,只能当作参考。
目前唯一的外部数据点是 ModelScope Studio 上早鸟测试者的反馈:文生图约 10–15 秒、编辑约 18–23 秒;参考图 ≥ 3 张后一致性开始下降。这些是社区数据,硬件和参数不同差异会很大,仅供参考。
什么时候不建议用
- 商用产品:许可证非商用,先拿到授权再考虑。
- 低显存设备:7B 只是视觉主干,完整权重约 33GB,24GB 显卡需要 CPU offload 或等量化版。
- 对真实感要求极高的场景:早期社区反馈写实人像优于部分竞品,但密集人群、小尺寸人脸、复杂光影下一致性会下降。
- 追求完全开源可商用:如果 Apache 2.0 是硬约束,应该继续用 Qwen-Image 1.0/2512 或 Stable Diffusion 3 系列。