Qwen-Image-2512-Fun-Controlnet-Union — packed tiers (bf16 / Q8 / Q4)
Pre-quantized, group-64 packed weight tiers of the alibaba-pai
Qwen-Image-2512-Fun-Controlnet-Union
VACE-style control branch (the -2602 overlay) — for on-device Qwen-Image
control generation (pose / canny / depth) riding the Qwen-Image-2512 base.
These tiers are consumed directly, with no dense staging, by both backends of
the SceneWorks generation stack — MLX (mlx-gen, Apple Silicon) and
candle / CUDA (candle-gen) — which packed-detect each Linear via the
presence of {base}.scales (epic 9083 / sc-9517). Only the control branch's
Linears are packed; the base transformer + text encoder are unquantized by
design and live in the base model.
Tiers
| dir | contents | size |
|---|---|---|
bf16/ |
dense overlay (byte mirror of upstream) | ~3.3 GB |
q8/ |
group-64 affine Q8, packed | ~1.9 GB |
q4/ |
group-64 affine Q4, packed | ~1.0 GB |
Each q4/q8 dir is a single model.safetensors (packed triples
{base}.weight u32 codes + {base}.scales + {base}.biases) plus a provenance
config.json ({"quantization": {"bits", "group_size": 64}}, informational —
the loaders auto-detect packed weights from {base}.scales). The
control_img_in patch embedder (132 in-features, not group-aligned) and the
per-head attention RMSNorms stay dense, matching the reference nn.quantize
scope.
Quantization
Group-wise affine Q4/Q8 at group_size = 64, byte-identical to the
load-time quantize(weight.bf16, 64, bits) — the "pre-quantize on-disk ==
quantize-at-load" round-trip (sc-8670). Built by
mlx_gen_qwen_image::convert::quantize_qwen_control_branch.
Provenance & license
Derived from alibaba-pai/Qwen-Image-2512-Fun-Controlnet-Union (Apache-2.0).
This repository is likewise Apache-2.0; see LICENSE.