Nodes/ComfyUI-DiffusionGemma/DiffusionGemma Loader
ComfyUI Node

DiffusionGemma Loader

The 54 GB door into DiffusionGemma — and the one quant setting that actually works

By shanevcantwell·Created 3 months ago·Updated 8 days ago· 1
DiffusionGemma Loader
    • model
    quantnone
    local_model_dir

    DiffusionGemma isn't a checkpoint you tuck into a prompt-enhancer workflow and forget. It's Google's diffusion LLM - text that's annealed out of a canvas of pure noise rather than written left to right - and this pack's whole point is to let you watch that happen. DGemmaLoader is the front door. Every other node in the pack - sampler, denoise, encode - consumes the model it produces, so until this loads, nothing else exists.

    Reach for it when you want to see a diffusion language model think instead of just getting text back. The community that's playing with DiffusionGemma in ComfyUI is mostly using it as a fancy prompt-builder for LTX and Ideogram4; this pack is the rarer, more interesting angle: it treats the model as an instrument. The price of admission is steep, and the loader is where you'll feel it.

    How it works

    The loader pulls google/diffusiongemma-26B-A4B-it from HuggingFace (ungated, no API key), loads it through transformers, and hands it to a Diffusers pipeline. It's a 26B-parameter model with only ~4B active - a fused MoE - and at full bf16 that's roughly 54 GB. ComfyUI's memory management carries it: weights get offloaded to system RAM and streamed to the GPU as needed, which is why the README says a 48 GB card works and a 24 GB card just squeezes by. The thing people miss is system RAM - most of a 54 GB model rides there, so thin memory, not VRAM, is what actually kills a run.

    The inputs that matter

    There's exactly one widget you'll touch, and it's a trap in waiting:

    • quant - "none" (full bf16, ~54 GB) is the only working load path today. "autoround" exists in the dropdown and points at a pre-quantized INT4 checkpoint (~30 GB), but every load currently crashes post-load in _assert_tie_integrity. Don't pick it yet. bitsandbytes, AWQ, and MXFP4 are all dead against this model's fused MoE experts, so there's no sneaky smaller-card path here either - that's what GGUF builds are for, and they don't run through this pack.

    The optional local_model_dir lets you point at a local copy if you've already got the checkpoint under ComfyUI's models/text_encoders or models/diffusion_models folders instead of re-downloading.

    Output: a single model (DGEMMA_MODEL) socket - wire it into DGemmaSampler, DGemmaDenoise, or DGemmaEncode.

    Install

    Via ComfyUI Manager, search ComfyUI-DiffusionGemma and install - dependencies (transformers==5.13.0, diffusers>=0.39.0, accelerate) come along automatically. Manual clone works too:

    cd ComfyUI/custom_nodes
    git clone https://github.com/shanevcantwell/ComfyUI-DiffusionGemma
    # restart ComfyUI, then install requirements into ComfyUI's own Python:
    path/to/ComfyUI/venv/bin/python -m pip install -r requirements.txt
    

    The transformers==5.13.0 pin is load-bearing - DiffusionGemma support lives there. If an install lands half-broken, the pack ships an install.py that re-checks every pin and self-heals; running it the same way ComfyUI does usually fixes whatever the Manager flow missed.

    Where people get burned

    • The first load is a ~54 GB download. On a normal connection that's a long, silent wait that looks like a hang. It's cached afterward, and the pack's HF-cache flow can skip the network check on subsequent loads entirely.
    • Budget disk before you start - ~54 GB in your HuggingFace cache.
    • Don't touch quant. If you see a crash mentioning _assert_tie_integrity, that's you. Set it back to none and it works.

    One honest take: this loader is a research instrument, not a convenience. If you just want a diffusion LLM to write you better LTX prompts, other packs run the NVFP4/quantized builds of this same model on way less VRAM. You're here because you want the graph you can watch - and this is where that starts.

    CategoryDiffusionGemma

    Inputs (2)

    NameTypeDefaultDescription
    quantCOMBOnonenone = full bf16 (~53GB VRAM) · autoround = pre-quantized INT4 (~30GB VRAM, requires auto-round extra)
    local_model_diroptCOMBO0 options:

    Outputs (1)

    NameTypeDescription
    modelDGEMMA_MODEL