Model reference · open weights
Qwen-Image-2.1-PE-T2I is an open-weight image model from Qwen. Qwen-Image-2.1-PE-T2I (BF16) weighs 18.8 GB; the smallest configuration that runs it is RTX 3060 12 GB.
For self-hosting, compare this build's requirements below with the GPU you plan to rent.
Summary of the Qwen/Qwen-Image-2.1-PE-T2I model card, 2026-10-01
What it is
| Released by | Qwen |
|---|---|
| Released | 2026-09-20 |
| Parameters | 9.4B |
| VRAM | 18.8 GB for the weights |
What it runs on
| Card | One image | Memory |
|---|---|---|
| RTX 3060 12 GB | tight (encoders offloaded) | 11.6 GB |
| RTX 4060 Ti 16 GB | fits (encoders offloaded) | 15.4 GB |
| RTX 3090 24 GB | fits (encoders offloaded) | 23.4 GB |
| RTX 4090 24 GB | fits (encoders offloaded) | 23.4 GB |
| RTX 5090 32 GB | fits | 31.0 GB |
| L40S 48 GB | fits | 44.0 GB |
| A100 80 GB | fits | 78.2 GB |
| H100 80 GB | fits | 78.1 GB |
| RTX PRO 6000 Blackwell 96 GB | fits | 93.8 GB |
| DGX Spark (GB10) 128 GB unified | fits | 107 GB |
| H200 141 GB | fits | 138 GB |
| B200 180 GB | fits | 176 GB |
From the model card
🤖 ModelScope | 🤗 HuggingFace | 📑 Blog | 🖥️ Demo | 🫨 Discord
We are excited to open-source Qwen-Image-2.1, a unified text-to-image generation and image editing model in the Qwen family. With just 7B parameters in its visual generation component (32 Single-Stream DiT layers), Qwen-Image-2.1 balances generation quality, inference efficiency, and versatility.
Four key improvements define this release:
Text-to-image prompt rewriting model for Qwen-Image-2.1. A fine-tuned Qwen3.5-VL 9B that turns a brief image request in any language into a detailed English prompt plus a recommended aspect ratio.
For more details, see the GitHub repo and Blog.
pip install transformers>=5.4.0 torch>=2.4.0 accelerate pillow
import json
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "Qwen/Qwen-Image-2.1-PE-T2I"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id, dtype=torch.bfloat16, device_map="auto"
).eval()
# Load the system prompt shipped with the model
import huggingface_hub
sys_prompt_path = huggingface_hub.hf_hub_download(model_id, "system_prompt.txt")
system_prompt = open(sys_prompt_path).read().strip()
user_prompt = "一只在雨中弹吉他的柯基"
text = tokenizer.apply_chat_template(
[{"role": "system", "content": system_prompt},
{"role": "user", "content": user_prompt}],
tokenize=False, add_generation_prompt=True, enable_thinking=True,
)
inputs = tokenizer(text, return_tensors="pt").to(model.device)
with torch.no_grad():
out = model.generate(
**inputs, max_new_tokens=16256,
do_sample=True, temperature=1.0, top_p=0.95, top_k=20,
)
gen = tokenizer.decode(out[0, inputs["input_ids"].shape[1]:], skip_special_tokens=True)
# Split thinking from the answer
thinking, _, answer = gen.partition("")
result = json.loads(answer.strip())
print(result)
# {"rewritten_prompt": "", "wh_ratio": "16:9"}
import json
import torch
from diffusers import QwenImage21Pipeline
WH_RATIO_TO_SIZE = {
"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),
}
# Assuming `result` from above
prompt = result["rewritten_prompt"]
width, height = WH_RATIO_TO_SIZE.get(result["wh_ratio"], (2048, 2048))
pipe = QwenImage21Pipeline.from_pretrained(
"Qwen/Qwen-Image-2.1", torch_dtype=torch.bfloat16
).to("cuda")
image = pipe(
prompt=prompt,
width=width, height=height,
num_inference_steps=40,
generator=torch.Generator("cuda").manual_seed(42),
).images[0]
image.save("rewritten_t2i.png")
The model outputs a JSON object after a `` reasoning block:
{
"rewritten_prompt": "",
"wh_ratio": "16:9"
}
rewritten_prompt — the expanded prompt to pass to the image generation modelwh_ratio — the recommended aspect ratio for renderingThis model is licensed under the Qwen Research License Agreement.
Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.
Running it yourself
Rent a machine by the hour. How to run this model is on its model card.