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
- Install ComfyUI-ConvRot-ControlNet into
custom_nodes/and restart ComfyUI. Confirm the console shows[ConvRot-ControlNet] patched 3/3 loaders. - Drop the file into the folder from the table above.
- In your existing workflow, select the
_int8_convrotfile in the same loader node you already use. Nothing else changes.
Requirements
- ComfyUI β₯ 0.33 (native
int8_tensorwisesupport incomfy.quant_ops) - ComfyUI-ConvRot-ControlNet
How they were made
Quantized with 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
- alibaba-pai/Qwen-Image-2512-Fun-Controlnet-Union (2602 release)
- InstantX/Qwen-Image-ControlNet-Union
All three originals are Apache-2.0; these quantized files carry the same license.