🍳 Kitchen Quant Converter
NVFP4 Your Own Models in One Click, Calibration-Free
- status
So you've got a fine-tuned or merged Z-Image, Flux, or Qwen-Image model, and there's no official NVFP4 release for it. That's the exact gap this node fills: pick the model, pick the architecture, hit Queue, and the converter writes a quantized copy back into your models/diffusion_models folder. No calibration prompts, no SVD decomposition, no babysitting a command-line script for two hours. It's the "I just want it smaller on my 50-series card" tool.
Why NVFP4 at all
NVFP4 is the 4-bit format that runs natively on the Tensor Cores of Blackwell GPUs (RTX 50-series). That's the key difference from GGUF Q4, which is emulated and pays a dequantization penalty - NVFP4 is hardware-accelerated, so it's genuinely fast rather than just small. BFL claims up to 2.7x faster and 55% less VRAM for Klein, and community measurements on a 5090 running Z-Image Base put NVFP4 at ~13.7s versus 18.7s for BF16. The README's "divide model size by 3.5" number checks out too.
Here's the catch you need to internalize before you convert anything: NVFP4 is Blackwell-only. On a 30-series or 40-series card it has no native compute path, so a converted file buys you nothing there. If that's you, the INT8-ConvRot format this engine also supports is the one that actually helps - it runs on 20/30/40/50-series hardware and is native in ComfyUI.
The honest quality tradeoff
This converter does fast per-tensor quantization, not the SVD-with-calibration dance that official NVFP4 releases go through. When the author posted it, the first replies were people arguing that instant converts "will be pretty bad quality" versus SVD-quantized models; the author pushed back that quality lands between bf16 and fp8 without calibration. My read: for a personal fine-tune you just want to shrink and keep on one card, it's a perfectly reasonable shortcut. For a model where fine detail matters, remember that NVFP4 in general is the point below fp8 where eyes and other small details start visibly degrading - so prefer the curated NVFP4 packages when one exists, and treat this node as the DIY path.
How it works
Each supported architecture has a hand-tuned profile. The node walks every tensor in the file: anything in that profile's blacklist - embeddings, norms, biases, modulation layers, the output head - stays in bf16, and only the big 2D linear weights get quantized. It then writes <yourmodel>_nvfp4.safetensors right next to the source with _quantization_metadata embedded in the safetensors header, which ComfyUI's native loader reads without any extra steps. It's an output node, so the only wire is a status string telling you the filename and the new size in GB - the real output is the file on disk.
The inputs that matter
model_type- the architecture, and the one to get right. It's a dropdown spanning Z-Image Turbo/Base, Flux.1-dev/Fill, Flux.2-dev/Klein-9b, Qwen-Image-Edit 2511 / Qwen-Image 2512, Wan2.2 i2v, LTX-2 19B, plus newer profiles for Krea 2, MiniMax H3, Chroma, Ideogram 4, ERNIE, ACE-Step, SeedVR, Anima, and Boogu-Image. Pick the exact match - a wrong profile keeps the wrong layers at bf16 and you can get subtly broken output.model_name- dropdown of everything inmodels/diffusion_models.output_filename- optional. Leave it empty and it derives the name from the source; the format suffix gets appended automatically.device-cudafor speed;cputechnically works but converting a 12B model on CPU is a long wait. Newer builds also add aquant_formatpicker (NVFP4 default, plus MXFP8, INT8/INT4-ConvRot, W4A8) - if your copy doesn't show it, it's fixed to NVFP4.
Installing it
Via ComfyUI Manager (search "Kitchen"), or:
cd ComfyUI/custom_nodes
git clone https://github.com/tritant/ComfyUI_Kitchen_nvfp4_Converter
Then restart. The real dependency is comfy-kitchen, ComfyUI's kernel library - newer ComfyUI builds bundle it, but if your console prints comfy-kitchen introuvable at startup, that's the fix:
pip install comfy-kitchen
in ComfyUI's Python environment. One gotcha: the README's own clone command still points at the old repo name (ComfyUI_ZimageTurbo_nvfp4_Converter) - use the Kitchen URL above, or Manager will sort you out. The node shows up under the Kitchen category as "🍳 Kitchen Quant Converter" in current builds (older installs called it "Kitchen NVFP4 Converter"; same node).
Where people get burned
Convert from a bf16/fp16 source, never an already-fp8 file - re-quantizing quantized weights compounds the loss. Double-check your GPU before choosing NVFP4, and remember the README's own advice to stick to the original Comfy-Org checkpoints when you can. And if the output looks wrong, your first suspect is a mismatched model_type, not the converter.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| model_name | COMBO | 0 options: | |
| output_filename | STRING | Le suffixe du format choisi est ajoute automatiquement. | |
| model_type | COMBO | Z-Image-Turbo | 19 options: Z-Image-Turbo, Z-Image-Base, Flux.1-dev, Flux.1-Fill, Flux.2-dev, Flux.2-Klein-9b, +13 |
| quant_format | COMBO | NVFP4 | 5 options: NVFP4, MXFP8, INT8_CONVROT, INT4_CONVROT, W4A8_INT8 |
| device | COMBO | cuda | 2 options: cuda, cpu |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| status | STRING | — |