Nodes/PG Nodes/Diffusion Select
ComfyUI Node

Diffusion Select

Pick your UNet/DiT by filename

By GizmoR13·Created 11 months ago·Updated 11 months ago· 16
Diffusion Select
    • diffusion_name
    diffusion_name

    Modern checkpoints come as a model + text encoder + VAE bundle, but a growing share of workflows load the diffusion backbone by itself - the UNet, or on the post-2024 architectures the DiT - straight from diffusion_models. PgDiffusionSelect is the PG Nodes selector for exactly that: a dropdown of the diffusion model files ComfyUI knows about, outputting the chosen filename for a UNETLoader or the Unified Loader's diffusion slot.

    Why load the diffusion model separately instead of via a checkpoint? Control and VRAM, mostly. FP8 quantized variants (the fp8_e4m3fn files you see floating around) are diffusion-model-only - there's no "fp8 checkpoint" for many bases, so the only way to run them is to load the UNet directly and pair it with separately-loaded CLIP and VAE. That's precisely the workflow the Unified Loader and these selectors were built to serve.

    How it works

    The list comes from ComfyUI's folder_paths, with the code trying several keys (diffusion_models, diffusion, diffusion_model) so it finds your files wherever your install keeps them. The chosen name is returned as the node's single output (diffusion_name). List materializes at import, so new downloads need a ComfyUI restart to appear. The Uni variant (in PG/Select/UniLoader) adds a leading none for the Unified Loader.

    Input: the diffusion_name dropdown. Output: the chosen name, typed to the diffusion list so it connects to a UNETLoader.

    Install

    Part of PG Nodes: ComfyUI Manager → "PG Nodes" → install → restart, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/GizmoR13/PG-Nodes
    

    Common issues

    The classic confusion: a diffusion model is not a complete checkpoint. Load a UNet alone and you still need a CLIP and a VAE from elsewhere, or sampling fails with a missing-encoder error. So this selector is usually part of a multi-piece loading stack, not a standalone answer. And remember the output is a filename, not a loaded model - the UNETLoader downstream does the actual work. If you're only ever loading full checkpoints, you can skip this node entirely.

    CategoryPG/Select

    Inputs (1)

    NameTypeDefaultDescription
    diffusion_nameCOMBO0 options:

    Outputs (1)

    NameTypeDescription
    diffusion_name