--- license: apache-2.0 base_model: - alibaba-pai/Z-Image-Turbo-Fun-Controlnet-Union-2.1 - alibaba-pai/Qwen-Image-2512-Fun-Controlnet-Union - InstantX/Qwen-Image-ControlNet-Union base_model_relation: quantized tags: - comfyui - controlnet - int8 - convrot - quantized - z-image - qwen-image --- # ControlNet models — INT8 ConvRot INT8 ConvRot quantized ControlNet models for **Z-Image** and **Qwen-Image**, in ComfyUI-native `.comfy_quant` format. Same quality as the bf16 originals, roughly half the VRAM and disk. **Requires the loader patch:** stock ComfyUI cannot load INT8 ControlNet files (the ControlNet and model-patch loaders never got native INT8 support). Install **https://github.com/0xBeycan/ComfyUI-ConvRot-ControlNet** — it patches the stock loader nodes, adds no new nodes, and leaves bf16 / fp8 ControlNets untouched. ## Files | File | Put in | Load with | bf16 → INT8 | VRAM saved | PSNR vs bf16 | |---|---|---|---|---|---| | `Z-Image-Turbo-Fun-Controlnet-Union-2.1_int8_convrot.safetensors` | `models/model_patches/` | `ModelPatchLoader` | 6.71 → 3.36 GB | −3.0 GB | 42.0 dB | | `Qwen-Image-2512-Fun-Controlnet-Union-2602_int8_convrot.safetensors` | `models/controlnet/` | `Load ControlNet Model` | 3.51 → 1.82 GB | −1.6 GB | 36.0 dB | | `Qwen-Image-InstantX-ControlNet-Union_int8_convrot.safetensors` | `models/controlnet/` | `Load ControlNet Model` | 3.54 → 1.83 GB | −1.6 GB | 44.8 dB | Each file was compared against its bf16 original at the same seed and settings. Generation speed was identical on the test hardware — the gain is memory, not time. Older GPUs (30/40 series) may see a speed-up from the INT8 kernel; not tested. Test setup: RTX 5090, ComfyUI 0.33.1, PyTorch 2.10.0+cu130. ## Usage 1. Install [ComfyUI-ConvRot-ControlNet](https://github.com/0xBeycan/ComfyUI-ConvRot-ControlNet) into `custom_nodes/` and restart ComfyUI. Confirm the console shows `[ConvRot-ControlNet] patched 3/3 loaders`. 2. Drop the file into the folder from the table above. 3. In your existing workflow, select the `_int8_convrot` file in the same loader node you already use. Nothing else changes. ## Requirements - ComfyUI ≥ 0.33 (native `int8_tensorwise` support in `comfy.quant_ops`) - [ComfyUI-ConvRot-ControlNet](https://github.com/0xBeycan/ComfyUI-ConvRot-ControlNet) ## How they were made Quantized with [silveroxides/convert_to_quant](https://github.com/silveroxides/convert_to_quant): INT8, ConvRot rotation (group size 256), **row-wise scaling** (`--scaling_mode row` — tensor-wise scaling breaks LoRA compatibility and softens output), `.comfy_quant` metadata. The zero-initialised / low-magnitude control-injection layers are kept in bf16 in every model, since quantizing them mutes the conditioning. The full recipe and per-model exclusion lists are in the loader repo's README. ## Sources - [alibaba-pai/Z-Image-Turbo-Fun-Controlnet-Union-2.1](https://huggingface.co/alibaba-pai/Z-Image-Turbo-Fun-Controlnet-Union-2.1) - [alibaba-pai/Qwen-Image-2512-Fun-Controlnet-Union](https://huggingface.co/alibaba-pai/Qwen-Image-2512-Fun-Controlnet-Union) (2602 release) - [InstantX/Qwen-Image-ControlNet-Union](https://huggingface.co/InstantX/Qwen-Image-ControlNet-Union) All three originals are Apache-2.0; these quantized files carry the same license.