Nodes/ComfyUI-GGUF-Loader/Qwen-Image Model Loader ⚡
ComfyUI Node

Qwen-Image Model Loader ⚡

Load Qwen-Image as plain comfy MODEL / CLIP / VAE — GGUF quants included

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

    Qwen-Image is a 20B model. Full-precision, that's a lot of VRAM, and the GGUF quant ladder exists precisely for this moment: a Q5 or Q8 of the DiT plus a quantized text encoder turns "won't load on my card" into "runs fine." This node is the thin GGUF-aware loader that makes that work - three dropdowns, three files, and out come plain comfy MODEL / CLIP / VAE objects that compose with everything downstream.

    The three dropdowns

    • unet_name - the Qwen-Image diffusion model, from models/diffusion_models (the unet folder). .safetensors or GGUF quant - the loader handles both.
    • clip_name - the text encoder, from models/text_encoders. Qwen-Image uses an LLM text encoder (Qwen2.5-VL family), and this loader selects it with the right type="qwen_image" flag internally, so no fiddling.
    • vae_name - the VAE, from models/vae.

    The file table mirrors the rest of this pack's loaders (same shape as the Krea2 and Z-Image loaders): pick names, get objects. It's a convenience loader, not magic - ComfyUI core already knows the Qwen-Image architecture; this node just adds GGUF awareness and bundles the three loads into one.

    What "GGUF stays quantized" means for you

    This is the part that makes the node worth reaching for over stock loaders. When you load a GGUF quant, the weights don't get dequantized to fp16 on load (which would defeat the whole point). They stay packed, and dequantize one layer at a time as they're used. The DiT and the text encoder both go through this path, so the VRAM savings are real at every step - the kind of thing that takes Qwen-Image from "24GB or bust" to comfortable on a 12GB card with the right quants.

    The outputs

    • model (MODEL) - into your sampler or into Qwen-Image img2img.
    • clip (CLIP) - into CLIPTextEncode (or the img2img node, which encodes for you).
    • vae (VAE) - into VAE Decode for the final image.

    The natural graph: Qwen-Image Model Loader → Qwen-Image img2img → stock KSampler → VAE Decode, with the optional ControlNet branch off the loader if you're conditioning.

    Installing it

    Part of the ComfyUI-GGUF-Loader pack under 🤖 CCTech/Qwen-Image. ComfyUI Manager → search "ComfyUI-GGUF-Loader" → install → restart, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/ChrisColeTech/ComfyUI-GGUF-Loader
    cd ComfyUI-GGUF-Loader
    pip install -r requirements.txt
    

    You also want a reasonably recent ComfyUI - loading UNET-only GGUF files relies on custom ops that need a current core.

    Common issues

    Empty dropdown = the file isn't in the folder the tooltip names; drop it in and re-add the node to refresh the list. GGUF Q4 and below on a 20B model will show visible degradation - Q8 is "basically fp16 at half the size," Q5 is the last stop before it gets obvious, so pick your quant to fit your card, not to hit the smallest number. And don't mix text-encoder formats blindly: the loader reads both safetensors and GGUF, but pair them with a quant that matches what your VRAM budget actually allows.

    Category🤖 CCTech/Qwen-Image

    Inputs (3)

    NameTypeDefaultDescription
    unet_nameCOMBOQwen-Image diffusion model - .safetensors or GGUF quant, from models/diffusion_models (unet).
    clip_nameCOMBOQwen-Image text encoder - .safetensors or GGUF quant, from models/text_encoders (clip).
    vae_nameCOMBOQwen-Image VAE, from models/vae.

    Outputs (3)

    NameTypeDescription
    modelMODEL
    clipCLIP
    vaeVAE