OrbitQuant UNet Loader (INT-Crush)
The one-input loader that will tell you off
- MODEL
The OrbitQuant UNet Loader (INT-Crush) is the research flavor of the pack. Where the INT4 and INT8 loaders handle the plain INT-Crush format, this node loads OrbitQuant models - a different quantization scheme built on a Lloyd-Max codebook plus an RPBH rotation. It's the "no calibration data needed" pitch: most quantization methods want you to run a pile of real prompts through the model to measure activation ranges first, and OrbitQuant is designed to skip that step.
Here's the part that makes this node memorable: it has exactly one input, and it will refuse to load anything that isn't OrbitQuant. unet_name is the whole API. No rot_size, no kernel_backend, no strength dials. Drop a plain INT-Crush or regular checkpoint in and it raises a hard error telling you to use the INT4 or INT8 loader instead. That's not a bug - it's the node being honest, because the two formats genuinely can't share kernels.
How it works
OrbitQuant layers aren't compatible with the INT8 GEMM kernels the other loaders use; the codebook scheme is different math. So this loader validates the file's metadata (format_version 4 with int_crush.orbitquant=true), pre-loads the global RPBH/codebook tensors, and then runs each layer through a fused Triton codebook GEMM for small batches, or dequantizes to float and hits cuBLAS for large ones. The RPBH rotation uses a Triton kernel with a PyTorch fallback. This is also why the kernel_backend toggle that the other loaders have doesn't apply here - the OrbitQuant path ignores it entirely.
In practice, be honest about what you're getting into: this is bleeding edge with essentially no community footprint yet. There are almost no OrbitQuant-quantized models floating around to load, and the pack's README openly calls itself "not thoroughly tested." You'll mostly hit this node because a workflow template references it, or because you went through the converter's OrbitQuant option yourself.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/ThunderFun/ComfyUI-INT-Crush
Restart ComfyUI, or install via ComfyUI Manager (search "ComfyUI-INT-Crush"). No pip step. Triton is strongly recommended here - the RPBH rotation and codebook kernels want it, and without it you fall back to PyTorch, which is slow. Note that Triton on Windows remains the classic pain point; that hasn't changed for this pack.
Where people get burned
- The wrong file is the #1 failure mode. If the dropdown file isn't OrbitQuant, you get a hard
ValueError. Read it: it tells you to use the INT4/INT8 loader for other INT-Crush formats, and it's right. - Slow OrbitQuant inference usually means Triton isn't available and you're on the PyTorch fallback. Install Triton or accept the crawl.
- Untested territory. No reddit thread, no wiki, no best-practice writeups exist for this format yet - because almost nobody is running it. Back up a working fp16/INT8 workflow before you invest an afternoon here.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| unet_name | COMBO | 0 options: |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | — |