Nodes/Doom_Flux_NodePack/Doom Flux1 Loader (GGUF / WAN)
ComfyUI Node

Doom Flux1 Loader (GGUF / WAN)

One loader for full-precision, GGUF, and a second MoE model — the 'wan' is in the name for a reason

By PeterMikhai·Created about a year ago·Updated 6 days ago· 1
Doom Flux1 Loader (GGUF / WAN)
    • model
    • model_2
    • vae
    • clip
    model_nameNone
    model_name_2None
    vae_nameBaked VAE
    clip_name1None
    clip_name2None
    clip_name3None
    clip_typeace
    weight_dtypedefault
    devicedefault

    Doom Flux1 Loader (GGUF / WAN) is the pack's universal diffusion-model loader, and the name is doing a lot of work. It loads Flux.1 - and quite a bit beyond it - by auto-detecting whether you handed it a full-precision .safetensors or a quantized .gguf, loading up to three text encoders (each FP or GGUF), and optionally loading a second model for the MoE dual-expert architectures like Wan 2.2. If you're running the pack's Flux samplers, this is the loader you wire into them; if you're doing GGUF-quantized Flux on a small card, this is the node that makes it a two-dropdown affair instead of a scavenger hunt.

    One important framing: because it ships with its own GGUF backend, it doesn't depend on the ComfyUI-GGUF pack. The vendor's own gguf folder is bundled inside this pack.

    How it works

    The mechanism is extension sniffing plus fallbacks:

    • model_name - a dropdown of both diffusion_models and .gguf files. If the name ends in .gguf, it's loaded through the bundled GGUF path (GGUFModelPatcher + GGML operations); otherwise a normal diffusion-model load. This is your Flux.1 dev/schnell, or any DiT.
    • model_name_2 - the second model for MoE pairs like Wan 2.2's two experts. Both get a ModelSamplingFlux-style patch so the Flux-family samplers can drive them. If you're not doing MoE, leave it on None; the model_2 output is None too.
    • clip_name1/clip_name2/clip_name3 + clip_type - up to three text encoders, each FP or GGUF (GGUF clips come from the clip folder), typed by clip_type (flux, flux2, wan, ltxv, minimax, krea2…). Flux.1's T5 + CLIP-L is a two-encoder job; Flux.2's 24B Mistral encoder is the third kind of beast entirely.
    • vae_name - with a "Baked VAE" option for checkpoints that carry one.
    • weight_dtype - default / fp8_e4m3fn / fp8_e4m3fn_fast / fp8_e5m2. The fp8 ladder is the modern fit lever for 40-series cards and up.
    • device - default or cpu; the cpu option offloads loading to RAM, which is the low-VRAM emergency hatch.

    Outputs: model, model_2, vae, clip - exactly what the samplers want.

    GGUF, briefly

    The GGUF ladder is your fit-to-VRAM tool: Q8 is basically fp16 at half the size, Q4/Q5 is where 12GB cards live, Q3 and below are desperation. The tax is dequantization overhead - worst when LoRAs force repeated dequantize/requantize cycles. The KB's GGUF panel has the full story. Rule of thumb: if it fits at fp8, use fp8; reach for GGUF when it doesn't.

    Installing it

    cd ComfyUI/custom_nodes
    git clone https://github.com/PeterMikhai/Doom_Flux_NodePack
    

    Restart ComfyUI (or ComfyUI Manager). No extra pip dependencies - the GGUF backend is bundled. Note the README still shows the renamed DoomAI_nodes.git; the live repo is Doom_Flux_NodePack.

    Common issues

    • GGUF options missing from dropdowns. The bundled backend fails gracefully (_GGUF_OK=False) if it can't import - GGUF files then vanish from the lists and you get a log warning. Usually means a stale ComfyUI; update first.
    • "Which VAE?" For Flux.1 use the standard ae.safetensors; choose "Baked VAE" only when loading a checkpoint that embeds one. Loading a baked VAE with a diffusion-model Flux setup is a classic source of weird colors.
    • The text encoder is its own VRAM budget. On Flux.2-class encoders, quantize the encoder hard and keep precision in the diffusion model - the encoder is frequently what decides whether the whole thing fits. (See the KB's troubleshooting doc on 2026's "second VRAM budget".)
    • Wan 2.2 workflows expect the second expert wired from model_2 - leave it on None and you'll get half a model and odd results.

    It's the most "actual product" loader in the pack: FP or GGUF, one or two models, three encoders, all in one node, and it feeds every Doom sampler without adapters.

    CategoryDoom/Loader

    Inputs (9)

    NameTypeDefaultDescription
    model_nameCOMBONoneОсновная диффузионная модель (FP или .gguf)
    model_name_2COMBONoneВторая модель (MoE: WAN 2.2 и т.п.)
    vae_nameCOMBOBaked VAE1 options: Baked VAE
    clip_name1COMBONoneCLIP 1 (FP или .gguf)
    clip_name2COMBONone1 options: None
    clip_name3COMBONone1 options: None
    clip_typeCOMBOace35 options: ace, boogu, chroma, cogvideox, cosmos, flux, +29
    weight_dtypeCOMBOdefault4 options: default, fp8_e4m3fn, fp8_e4m3fn_fast, fp8_e5m2
    deviceCOMBOdefaultcpu — загрузка/оффлоад в RAM

    Outputs (4)

    NameTypeDescription
    modelMODEL
    model_2MODELВторая модель (MoE); None, если не выбрана
    vaeVAE
    clipCLIP