Nodes/comfyui_bmad_nodes/CheckpointLoaderSimple (dirty)
ComfyUI Node Runs on cloud

CheckpointLoaderSimple (dirty)

The simple loader, minus the dropdown, for scripts that know the filename

By bmad4ever·Created 3 years ago·Updated 9 months ago· 70
CheckpointLoaderSimple (dirty)
    • MODEL
    • CLIP
    • VAE
    ckpt_name

    CheckpointLoaderSimple (dirty) is the little brother of CheckpointLoader (dirty), and it removes the one thing you most want gone in an API workflow: the model dropdown. Where the standard loader makes you pick a file from a list in the UI, this one takes the filename as a plain STRING - so a script posting a JSON payload can name its own checkpoint, and the graph doesn't need a human to touch anything.

    The "dirty" part is the forgiving matching. The string you pass gets its extension stripped and is matched by base name against the checkpoints folder, so "dreamshaper_8" resolves the same as "dreamshaper_8.safetensors". Scripts don't have to know the exact bytes of the filename - just the base name, which is the thing people actually type.

    Inputs and outputs

    • ckpt_name (STRING) - the checkpoint to load. This is the only input, which is the entire point: it's a plain text field, not a dropdown.
    • Outputs: MODEL, CLIP, VAE - the standard triple, because after resolving the name it just calls ComfyUI's own CheckpointLoaderSimple.

    The difference from its sibling: CheckpointLoader (dirty) also takes a config_name; this one doesn't need one, which makes it the right pick for modern single-file checkpoints where the config is implied. If you only ever load one model at a time and don't care about configs, this is the leaner option.

    It slots into the same automation story as the rest of the pack's API nodes: Get Models dumps the real filename list to JSON, your script picks one and sends it as text, this loader resolves and loads it. The dropdown problem - where the UI knows filenames your code doesn't - just stops existing.

    Install

    Part of bmad4ever/comfyui_bmad_nodes, under Bmad/api/dirty loaders:

    cd ComfyUI/custom_nodes
    git clone https://github.com/bmad4ever/comfyui_bmad_nodes
    cd comfyui_bmad_nodes
    pip install -r requirements.txt
    

    Restart, or ComfyUI Manager → search comfyui_bmad_nodes. It loads models you already have; nothing to download.

    Gotchas

    Same rules as its sibling. The base name must match a file in models/checkpoints exactly or the node fails with a "File not found" error state - no fuzzy autocomplete, just a resolved-or-dead match. And remember it resolves against checkpoints only; pointing it at a LoRA or a different model type won't work. It's also worth knowing the file-extension leniency goes one way: it tolerates you omitting the extension, but it won't rescue you from a wrong base name. If you're hand-driving this in a normal (non-API) workflow, the standard dropdown loader is honestly easier - this node earns its keep when a script is choosing the file.

    CategoryBmad/api/dirty loaders

    Inputs (1)

    NameTypeDefaultDescription
    ckpt_nameSTRING

    Outputs (3)

    NameTypeDescription
    MODELMODEL
    CLIPCLIP
    VAEVAE