Nodes/ComfyUI-GGUF-Loader/Flux Klein Model Loader ⚡
ComfyUI Node

Flux Klein Model Loader ⚡

Klein's three files, one loader — and GGUF stays quantized

By ChrisColeTech·Created about a month ago·Updated 3 days ago· 10
Flux Klein Model Loader ⚡
    • model
    • clip
    • vae
    unet_name
    clip_name
    vae_name

    Every Klein workflow starts the same way: three files in, three objects out. Flux Klein Model Loader is the unglamorous node that does that - loads FLUX.2 Klein's diffusion model, its Qwen3 text encoder, and the Flux.2 VAE as native comfy MODEL / CLIP / VAE objects, ready to wire into Flux Klein img2img and a sampler. What makes it worth a node at all, rather than three stock loaders, is that it's GGUF-aware: a quantized Klein checkpoint loads through this pack's GGUF path and stays quantized, which is the entire reason Klein runs on consumer cards.

    What it is

    Klein is natively detected by ComfyUI core - the architecture isn't a mystery the pack has to reverse-engineer. So this loader is a thin convenience: MODEL/CLIP/VAE by name, with the text encoder set to CLIPType.FLUX2 (matching core's CLIPLoader type dropdown). It exists so the GGUF versions of those files load correctly through the fork's custom ops instead of being refused or silently dequantized.

    Three dropdowns, all from the standard folders:

    • unet_name - the Klein diffusion model from models/diffusion_models (unet). .safetensors or a GGUF quant. This is where quant choice matters.
    • clip_name - the Qwen3 text encoder from models/text_encoders, safetensors or GGUF.
    • vae_name - the Flux.2 VAE from models/vae.

    Outputs: model, clip, vae - standard comfy objects, GGUF quants staying packed through the pack's operations.

    Which Klein to load

    Klein shipped as four checkpoints on two axes, and mixing them up is the classic bad take generator. Size: 4B (Apache-2.0, commercially usable, Qwen3-4B encoder, ~13GB) vs 9B (FLUX non-commercial license, Qwen3-8B, the better editor). Distillation: the distilled versions generate in ~4 steps and are the daily drivers, the base versions take ~50 steps and are for training LoRAs. If you just want to edit photos, load the distilled 9B if the license fits your use, the distilled 4B if it doesn't. The quality ladder for GGUF applies as ever: Q8 is basically fp16 at half the size, Q4_K_M is the accepted compromise when VRAM is tight.

    How it fits

    Flux Klein Model LoaderFlux Klein img2img (prompt + references typed there) → stock KSamplerVAE Decode. The loader itself does nothing clever after loading; all the Klein-specific smarts live in the img2img node and the model-patch nodes. That's a feature - the loader is the boring, reliable part.

    Installing it

    Same pack as all the Klein nodes - the CCTech fork of city96/ComfyUI-GGUF:

    cd ComfyUI/custom_nodes
    git clone https://github.com/ChrisColeTech/ComfyUI-GGUF-Loader
    cd ComfyUI-GGUF-Loader
    pip install --upgrade gguf
    

    Restart, and it appears under 🤖 CCTech/Flux Klein. One install note that applies to the whole pack: make sure your ComfyUI is recent enough to support the custom ops when loading UNET-only - an outdated core is the most common reason GGUF loaders throw on import or fail on first load. And pip install --upgrade gguf is the dependency people skip; the "No module named gguf" error is the classic tell.

    The gotcha

    If your dropdown shows empty, the file's not in the right folder or the extension isn't picked up - Klein GGUFs live in models/diffusion_models, not models/unet (both work, but the dropdown is built from the diffusion_models folder). And don't expect this loader to patch anything: if an edit looks wrong, the answer is in the img2img/reference nodes, not here. Loader's job is done the moment the green checkmark appears.

    Category🤖 CCTech/Flux Klein

    Inputs (3)

    NameTypeDefaultDescription
    unet_nameCOMBOFlux.2 Klein diffusion model - .safetensors or GGUF quant, from models/diffusion_models (unet).
    clip_nameCOMBOFlux.2 Klein text encoder (Qwen3) - .safetensors or GGUF quant, from models/text_encoders (clip).
    vae_nameCOMBOFlux.2 VAE, from models/vae.

    Outputs (3)

    NameTypeDescription
    modelMODEL
    clipCLIP
    vaeVAE