---
title: Qwen-Image-Flash-bf16
canonical_url: "https://www.modelscope.cn/models/mlx-community/Qwen-Image-Flash-bf16"
md_url: "https://www.modelscope.cn/models/mlx-community/Qwen-Image-Flash-bf16.md"
repository: mlx-community/Qwen-Image-Flash-bf16
last_updated: 2026-07-25
license: other
pipeline_tag: text-to-image-synthesis
tasks:
  - text-to-image-synthesis
base_model:
  - nvidia/Qwen-Image-Flash
base_model_relation: finetune
parameters: 28.8B
tensor_type:
  - BF16
library_name:
  - mlx
  - lora
  - safetensors
  - diffusers
  - pytorch
frameworks:
  - pytorch
downloads: 17
stars: 0
tags:
  - mlx
  - mlx-swift
  - text-to-image
  - qwen-image
  - dmd2
  - few-step
  - nvidia
---

# Qwen-Image-Flash-bf16

> Qwen-Image-Flash-bf16 - mlx-community 在 ModelScope 开源的模型。Qwen-Image-Flash-bf16 (MLX)

mlx-community/Qwen-Image-Flash-bf16 是 ModelScope 魔搭社区上的 28.8B 参数text-to-image-synthesis模型，采用 other 许可，基于 nvidia/Qwen-Image-Flash 构建。

- **Repository**: mlx-community/Qwen-Image-Flash-bf16
- **License**: other
- **Tasks**: text-to-image-synthesis
- **Parameters**: 28.8B
- **Base model**: nvidia/Qwen-Image-Flash
- **Tags**: mlx, mlx-swift, text-to-image, qwen-image, dmd2, few-step, nvidia
- **Downloads**: 17
- **Stars**: 0
- **Last updated**: 2026-07-25

Source: https://www.modelscope.cn/models/mlx-community/Qwen-Image-Flash-bf16

---

# Qwen-Image-Flash-bf16 (MLX)

An MLX-ready bf16 snapshot of [nvidia/Qwen-Image-Flash](https://huggingface.co/nvidia/Qwen-Image-Flash) —
NVIDIA's DMD2 four-step distillation of [Qwen/Qwen-Image](https://huggingface.co/Qwen/Qwen-Image)
(20.43B-parameter MMDiT + Qwen2.5-VL text encoder + Qwen-Image VAE).

## What this repo is, precisely

**The weights are byte-identical to upstream.** MLX and MLX-Swift consume the diffusers-layout
safetensors directly — key sanitizing and the conv-layout transposes happen at load — so no dtype
conversion or re-layout is involved, and none is claimed. This snapshot exists so an MLX consumer can
materialize the whole pipeline from **one** repo, and it adds exactly one thing upstream does not ship:

- **`tokenizer/tokenizer.json`** — upstream ships slow-tokenizer files only (`vocab.json` +
  `merges.txt`), which the Swift `swift-transformers` stack cannot read. The fast tokenizer here was
  converted from those same files and verified to produce **identical token ids** (the encode template
  tokenizes to 34 prefix tokens either way, matching `prompt_template_encode_start_idx = 34`).

If you are using PyTorch/diffusers, use [the upstream repo](https://huggingface.co/nvidia/Qwen-Image-Flash)
instead — it is the same weights, and NVIDIA is the source of truth.

## Inference notes that are easy to get wrong

The distillation **internalized CFG 4.0**, and the packaged scheduler is **static shift-3**
(`use_dynamic_shifting: false`):

- `num_inference_steps = 4`, `true_cfg_scale = 1.0` — applying CFG again double-counts guidance the
  student already absorbed, and doubles the transformer evaluations per step for nothing.
- The four-step trajectory is sigmas `[1.0, 0.9, 0.75, 0.5, 0.0]`. This is what the student was
  distilled on; substituting a dynamic-shift schedule degrades output.
- Tested at 1024 × 1024. Use width/height divisible by 16.

## Use from Swift (MLXEngine)

```swift
import MLXQwenImageFlash
import MLXToolKit

let package = QwenImageFlashPackage(configuration: .init())   // materializes from this repo
try await package.load()
let response = try await package.run(T2IRequest(
    prompt: "A red fox in a snowy pine forest at golden hour, photorealistic",
    width: 1024, height: 1024, seed: 42)) as! T2IResponse
// response.image: PNG, 1024×1024 — 4 steps
```

Port: [xocialize/qwen-image-edit-swift](https://github.com/xocialize/qwen-image-edit-swift) (MIT).
The text-to-image path shares the parity-locked Qwen-Image DiT / VAE / Qwen2.5-VL core with the
Qwen-Image-Edit packages — the Flash checkpoint is a pure weight delta on the same architecture.

**Validated against PyTorch fp32 goldens** (diffusers 0.37.1): prompt embeds cos 0.9999926 (bf16) ·
DiT step-0 cos **1.0000002** (fp32 CPU stream) / 0.99836 (bf16 GPU) · end-to-end 1024²/4-step render
coherent in 83.3 s on an M5 Max, consistent with the diffusers bf16 reference render.

> **M5-class GPUs / mlx-swift ≤ 0.31.6:** the 1024² text-to-image sequence (4096 image tokens) lands
> exactly on the upper edge of the NAX split-K GEMM window (mlx#3797) for this model's feed-forward
> down-projection, which returns NaN there. The Swift port works around it with an exact row-chunk;
> other MLX consumers on an unpatched runtime should verify a 1024² render before trusting output.

## License

Governing terms: **[NVIDIA Open Model License Agreement](https://www.nvidia.com/en-us/agreements/enterprise-software/nvidia-open-model-license)**.
Additional information: Apache License 2.0 (`LICENSE`).

> Licensed by NVIDIA Corporation under the NVIDIA Open Model License

Commercial use, derivative models, and redistribution are permitted; if you redistribute these
weights you must pass on the Agreement and this notice (§3.1). See `NOTICE`.
