This model is described in the paper Scaling Properties of Text Conditioning in Visual Generation.
QwenImage DiT + text-encoder fine-tuned on Structured-Prompt data (context-scaling project). EMA weights, bf16, 55 GB total.
Sharded across 14 safetensors files (each ~4.5 GB, well under HF LFS per-file limits):
dit_model-*.safetensors (10 shards) → transformer state dicttext_encoder-*.safetensors (4 shards) → Qwen2.5-VL text-encoderModule prefix already stripped inside each shard, so:
import torch, glob
from safetensors.torch import load_file
from diffusers import QwenImagePipeline
from huggingface_hub import hf_hub_download, snapshot_download
pipe = QwenImagePipeline.from_pretrained("Qwen/Qwen-Image", torch_dtype=torch.bfloat16)
local = snapshot_download("heheyas/Qwen-Image-SP")
for shard in sorted(glob.glob(f"{local}/dit_model-*.safetensors")):
pipe.transformer.load_state_dict(load_file(shard), strict=False)
for shard in sorted(glob.glob(f"{local}/text_encoder-*.safetensors")):
pipe.text_encoder.load_state_dict(load_file(shard), strict=False)
VAE, tokenizer, scheduler are inherited from Qwen/Qwen-Image at load
time and not shipped here.
This model is described in the paper Scaling Properties of Text Conditioning in Visual Generation.
QwenImage DiT + text-encoder fine-tuned on Structured-Prompt data (context-scaling project). EMA weights, bf16, 55 GB total.
Sharded across 14 safetensors files (each ~4.5 GB, well under HF LFS per-file limits):
dit_model-*.safetensors (10 shards) → transformer state dicttext_encoder-*.safetensors (4 shards) → Qwen2.5-VL text-encoderModule prefix already stripped inside each shard, so:
import torch, glob
from safetensors.torch import load_file
from diffusers import QwenImagePipeline
from huggingface_hub import hf_hub_download, snapshot_download
pipe = QwenImagePipeline.from_pretrained("Qwen/Qwen-Image", torch_dtype=torch.bfloat16)
local = snapshot_download("heheyas/Qwen-Image-SP")
for shard in sorted(glob.glob(f"{local}/dit_model-*.safetensors")):
pipe.transformer.load_state_dict(load_file(shard), strict=False)
for shard in sorted(glob.glob(f"{local}/text_encoder-*.safetensors")):
pipe.text_encoder.load_state_dict(load_file(shard), strict=False)
VAE, tokenizer, scheduler are inherited from Qwen/Qwen-Image at load
time and not shipped here.