Nodes/Bjornulf_custom_nodes/♻ Loop Load checkpoint (Model Selector)
ComfyUI Node

♻ Loop Load checkpoint (Model Selector)

Batch-test checkpoints in one run

By justUmen·Created 2 years ago·Updated about a year ago· 545
♻ Loop Load checkpoint (Model Selector)
    • model
    • clip
    • vae
    • model_path
    • model_name
    • model_folder
    number_of_models3
    model_1
    model_2
    model_3
    model_4
    model_5
    model_6
    model_7
    model_8
    model_9
    model_10

    The honest way to pick a checkpoint isn't reading CivitAI comments - it's running your actual prompt through five of them and looking. This node makes that a one-click thing. You choose a handful of checkpoints, it loops your workflow over each, and you get one image per model with everything else held constant. No swapping loaders, no re-queuing, no keeping track of which render came from what.

    Where it fits

    Checkpoint choice is the single biggest lever on your output - bigger than sampler, bigger than most prompt tweaks. A photoreal SDXL merge and a stylized anime one respond to the same prompt completely differently. So the useful move, when you're settling on a base model for a project, is a controlled bake-off: same prompt, same seed, same steps, swap only the checkpoint. That's what this node automates. It's the model-level sibling of the pack's sampler and LoRA loop nodes, and it slots into the same "test once, lock the winner" workflow.

    How it works

    It's a checkpoint loader that holds several models instead of one. You set number_of_models (default 3, up to 20) and that many model_N dropdowns appear, each listing the checkpoints in your ComfyUI/models/checkpoints folder. Pick a different checkpoint in each slot. On run, the node loops: iteration one loads the first, iteration two the second, and so on.

    The outputs are the standard trio - model, clip, vae - plus three string outputs, model_path, model_name, and model_folder, that tell you which checkpoint produced the current image. Those strings are gold for a batch test: pipe model_name into a Show or Save-to-folder node and every result is labeled or filed by the model that made it, so you're never squinting at a grid trying to remember which is which.

    One detail from the author worth knowing: this loader preloads the selected checkpoints into memory so it can rip through them all quickly. That's the speed win - you're not paying the disk-load cost on every iteration. The flip side is VRAM/RAM pressure if you queue up a dozen big models at once, so be a little reasonable with how many you stack.

    The inputs that matter

    • number_of_models - how many slots to show. Start at 2–3.
    • model_1 … model_N - the checkpoints to compare, one per dropdown.

    That's really it. The strength of the node is its narrowness: it changes the model and nothing else.

    Installing the pack

    All Bjornulf nodes come in one pack. ComfyUI Manager → Install Custom Nodes → search Bjornulf_custom_nodes → install → restart. Manual route:

    cd ComfyUI/custom_nodes
    git clone https://github.com/justUmen/Bjornulf_custom_nodes
    

    Restart and find it under Bjornulf. It's a loader with no exotic dependencies; it just needs checkpoints in your models folder to list.

    Common issues

    If the dropdowns are empty, you have no checkpoints where ComfyUI expects them - drop some .safetensors into ComfyUI/models/checkpoints and restart or refresh so the node re-scans. (In a fresh scan the slots list as blank; that's the tooling reading the node before any models are installed, not the node being broken.)

    The bigger thing to understand is list behavior. Because this node emits a list, everything downstream of it runs once per checkpoint. That's the whole point, but it means you should keep the graph after it lean - every extra heavy node in the chain runs N times too. And don't stack this with another list-producing loop (samplers, LoRAs) in the same graph unless you genuinely want the full cross-product, because the run count multiplies fast. Test one dimension at a time, note the winner, wire it in with a normal loader, and pull the loop out.

    CategoryBjornulf

    Inputs (11)

    NameTypeDefaultDescription
    number_of_modelsINT31–20
    model_1optCOMBO0 options:
    model_2optCOMBO0 options:
    model_3optCOMBO0 options:
    model_4optCOMBO0 options:
    model_5optCOMBO0 options:
    model_6optCOMBO0 options:
    model_7optCOMBO0 options:
    model_8optCOMBO0 options:
    model_9optCOMBO0 options:
    model_10optCOMBO0 options:

    Outputs (6)

    NameTypeDescription
    modelMODEL
    clipCLIP
    vaeVAE
    model_pathSTRING
    model_nameSTRING
    model_folderSTRING