Nodes/ComfyUI_Kitchen_nvfp4_Converter/🍳 Kitchen Quant Converter
ComfyUI Node

🍳 Kitchen Quant Converter

NVFP4 Your Own Models in One Click, Calibration-Free

By tritant·Created 8 months ago·Updated about a month ago· 105
🍳 Kitchen Quant Converter
    • status
    model_name
    output_filename
    model_typeZ-Image-Turbo
    quant_formatNVFP4
    devicecuda

    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 in models/diffusion_models.
    • output_filename - optional. Leave it empty and it derives the name from the source; the format suffix gets appended automatically.
    • device - cuda for speed; cpu technically works but converting a 12B model on CPU is a long wait. Newer builds also add a quant_format picker (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.

    CategoryKitchen

    Inputs (5)

    NameTypeDefaultDescription
    model_nameCOMBO0 options:
    output_filenameSTRINGLe suffixe du format choisi est ajoute automatiquement.
    model_typeCOMBOZ-Image-Turbo19 options: Z-Image-Turbo, Z-Image-Base, Flux.1-dev, Flux.1-Fill, Flux.2-dev, Flux.2-Klein-9b, +13
    quant_formatCOMBONVFP45 options: NVFP4, MXFP8, INT8_CONVROT, INT4_CONVROT, W4A8_INT8
    deviceCOMBOcuda2 options: cuda, cpu

    Outputs (1)

    NameTypeDescription
    statusSTRING