Download
1 variant available
bf16 SafeTensor
p_qwen_image_2.1_5step_v0.1.safetensors
BF16, good balance • 320.06 MB
Verified: a day ago

30
78
License:
Qwen Research License AgreementQwen is licensed under the Qwen RESEARCH LICENSE AGREEMENT, Copyright (c) 2026 Hangzhou Tongyi Laboratory Technology Co., Ltd. All Rights Reserved.
Pruna-Qwen-Image-2.1
Unofficial mirror. This listing mirrors the original project for reference and convenience. It is not created, maintained, or endorsed by Pruna AI. Please credit the original authors and preserve all license, attribution, and modification notices.
Original project: PrunaAI/Pruna-Qwen-Image-2.1 on Hugging Face
Base model: Qwen/Qwen-Image-2.1
Project/GitHub: Pruna AI / pruna
Overview
Pruna-Qwen-Image-2.1 is a set of LoRA adapters for Qwen-Image-2.1. The adapters enable text-to-image generation and image editing in 5 or 8 steps while keeping the base pipeline, text encoder, and VAE unchanged. Training is based on DMD and improved using Qwen.
5 or 8 inference steps
Up to 6.3x faster in the original benchmark
No CFG
Text-to-image and image editing
BF16, CUDA GPU required
LoRA strength: 1.0
Variants
Both adapters are v0.1. Use only one adapter at a time because each has its own sigma schedule.
FileStepsTrade-offp_qwen_image_2.1_8step_v0.1.safetensors8Higher quality; recommended default.p_qwen_image_2.1_5step_v0.1.safetensors5Higher speed, with noticeably lower visual quality.
Visual examples from the original model card
These examples are hosted in the original Hugging Face repository and are included here with source attribution.






Prompts, editing, and resolution
The adapters were trained at 1K resolution with simple and upsampled prompts, text-to-image generation, and single- and multi-image editing with up to 3 reference images. Prompt upsampling is optional; detailed prompts usually work better.
Start at 1024 x 1024.
Use at most 3 reference images for editing.
Higher resolutions, including 2K, and more reference images may work, but are outside the training coverage and quality may vary.
Benchmarking
Original benchmark: official Qwen model-card example prompt, BF16, batch size 1, one NVIDIA H100 80GB, median of 3 requests after one warmup. It includes prompt encoding, denoising, and decoding, and excludes PNG saving, model loading, and warmup. These timings do not imply equal image quality.
PipelineBase, 40 steps8-step LoRA5-step LoRAText-to-image, 102431.44 s7.60 s4.98 sImage-to-image, 10247.05 s2.01 s1.43 s
Published benchmark configuration: base with KV cache on; Pruna adapters with KV cache off; LoRAs unmerged; no CFG, compilation, or CPU offload.
Quickstart (Diffusers)
pip install 'torch>=2.4.0' 'transformers>=5.17' accelerate peft pillow
pip install git+https://github.com/huggingface/diffusers@6256aa7666cedd47443adc8f82da9a10e110b09c
import torch
from PIL import Image
from diffusers import FlowMatchEulerDiscreteScheduler, QwenImage21Pipeline
STEPS = 8 # 8 for higher quality, 5 for higher speed
SIGMAS = {
5: [1.0, 0.94, 6 / 7, 2 / 3, 0.4],
8: [1.0, 14 / 15, 6 / 7, 10 / 13, 2 / 3, 6 / 11, 0.4, 2 / 9],
}[STEPS]
pipe = QwenImage21Pipeline.from_pretrained(
"Qwen/Qwen-Image-2.1", torch_dtype=torch.bfloat16
).to("cuda")
pipe.load_lora_weights(
"PrunaAI/Pruna-Qwen-Image-2.1",
weight_name=f"p_qwen_image_2.1_{STEPS}step_v0.1.safetensors",
)
pipe.scheduler = FlowMatchEulerDiscreteScheduler.from_config(
pipe.scheduler.config,
use_dynamic_shifting=False,
shift=1.0,
shift_terminal=None,
)
# Text-to-image
image = pipe(
prompt=(
'A glowing neon shop sign that reads "QWEN IMAGE 2.1", mounted on a brick wall '
'in a narrow city alley at night. Heavy rain, wet pavement reflecting pink and '
'blue light, shallow depth of field, cinematic photograph.'
),
width=1024,
height=1024,
generator=torch.Generator("cuda").manual_seed(42),
num_inference_steps=STEPS,
sigmas=SIGMAS,
true_cfg_scale=1.0,
use_kv_cache=True,
).images[0]
# Image editing
image = pipe(
prompt="Change the background to a sunset beach",
image=Image.open("input.png").convert("RGB"),
generator=torch.Generator("cuda").manual_seed(42),
num_inference_steps=STEPS,
sigmas=SIGMAS,
true_cfg_scale=1.0,
use_kv_cache=True,
).images[0]Recommended settings
Use the sigma schedule matching the adapter; keep
shift=1.0with dynamic shifting off.8-step:
1 -> 14/15 -> 6/7 -> 10/13 -> 2/3 -> 6/11 -> 0.4 -> 2/9 -> 0.5-step:
1 -> 0.94 -> 6/7 -> 2/3 -> 0.4 -> 0.No CFG: keep
true_cfg_scale=1.0and do not pass a negative prompt.Keep LoRA strength at
1.0.Use detailed prompts describing subject, setting, lighting, and style.
Limitations
This is a first version and quality is below the base model.
The 5-step adapter is faster but visibly lower quality than the 8-step adapter.
Short or vague text-to-image prompts give weaker results.
Other step counts, schedules, or CFG values are not supported.
This is not a standalone model; it requires the Qwen/Qwen-Image-2.1 base weights.
This is not a replacement for the base model when full quality is required.
This is not a finished release; weights may change in future versions.
License and attribution
The original repository declares qwen-research / the Qwen Research License Agreement. This adapter is a derivative of Qwen-Image-2.1. Review the license before using or redistributing it, preserve the original LICENSE and NOTICE, and retain attribution and modification notices. Qwen is Copyright (c) 2026 Hangzhou Tongyi Laboratory Technology Co., Ltd. All Rights Reserved.
Mirror notice: This is an unofficial mirror. It is not created or endorsed by the original authors. No additional commercial rights are granted by this listing; do not sell this model or merges made from it unless the original license and all applicable permissions explicitly allow it.

