Nodes/ComfyUI-hybs-nodes/Diffusion Model List
ComfyUI Node

Diffusion Model List

Pick a stack of UNet models without typing a single filename

By hybskgks28275·Created about a year ago·Updated 2 months ago· 3
Diffusion Model List
    • model names
    • count
    selection[]

    If you've ever hand-typed a checkpoint filename into a text field because the dropdown didn't exist, this node is the apology. HYBS_DiffusionModelList builds a LIST of UNet/diffusion model filenames straight from your models/unet folder - not from models/checkpoints. It's the model-selection half of a batch or XY-plot run where you want to flip between several UNets without rebuilding the graph or fat-fingering a path.

    A quick vocabulary check, because this trips up people coming from SD 1.5/SDXL: a checkpoint bundles the UNet, the text encoder, and the VAE into one file. A standalone UNet is just the denoiser half, and you load it separately (that's the Load Diffusion Model / UNETLoader pattern Flux and friends use). This node only lists what ComfyUI registers under models/unet. If you've never downloaded a standalone UNet, the list will be empty and the node will complain - that's expected, not a bug.

    How it works

    The node reads folder_paths.get_filename_list("diffusion_models") at startup and hands the full list to a frontend widget. Start with one model selector; pick a model and the widget grows a second row. Each pick appends to the internal selection state, which is all the node's backend cares about. There's exactly one input, selection, and it's socketless - it's the widget's own JSON, not something you wire to. You set it by clicking rows in the UI.

    Outputs are the honest part:

    • model names (LIST) - the selected filenames in visible-row order
    • count (INT) - how many models you actually selected

    The author's docs call out the intended use: feed model names into ComfyLab's XY Plot as row labels, so each cell runs the same workflow with a different UNet and the plot tells you which filename produced which image. That's the whole pitch - a proper list input for nodes that iterate over lists, instead of one hard-coded Load Diffusion Model node per run.

    Installation

    Same as every node in this pack, and it's a light one - no model downloads, no CUDA deps, just the toml requirement that's really for a sibling node:

    cd path/to/ComfyUI/custom_nodes
    git clone https://github.com/hybskgks28275/ComfyUI-hybs-nodes.git
    pip install -r ComfyUI-hybs-nodes/requirements.txt
    

    Or skip all that and install "ComfyUI-hybs-nodes" via ComfyUI Manager's Custom Nodes search. Restart ComfyUI after either route.

    Where people get burned

    • Empty dropdown means nothing lives in models/unet yet. If you only have checkpoints, this node has nothing to list.
    • The model list is snapshot at node-schema build, i.e. startup. Drop a new UNet into the folder and it won't appear until you restart ComfyUI (or at least reload).
    • validate_inputs hard-fails if you select a filename that isn't in models/unet anymore - say you renamed the file. The error message names the offender, so it's a quick fix, but the node is strict on purpose: a batch run with one missing file would otherwise silently produce a broken cell.

    For most people the built-in checkpoints loader is fine. Reach for this one when you're doing multi-model comparisons - XY plots, A/B runs, prompt sweeps - and you want the list of candidates as data in the graph, not as muscle memory.

    CategoryHYBS/Model

    Inputs (1)

    NameTypeDefaultDescription
    selectionSTRING[]Internal selection state managed by the frontend widget.

    Outputs (2)

    NameTypeDescription
    model namesLISTSelected UNet/diffusion model filenames.
    countINTNumber of selected models.