Nodes/DarkPrompts/Dark Checkpoint Switcher
ComfyUI Node

Dark Checkpoint Switcher

Two checkpoints, one switch — manual model A/B without rewiring anything

By darkpixel·Created 3 years ago·Updated about a year ago· 11
Dark Checkpoint Switcher
    • ckpt_name
    checkpoint1
    checkpoint2
    use_checkpoint1

    DarkCheckpointSwitcher is the dumbest node in the DarkPrompts pack, and it's supposed to be. You pick two checkpoints in two dropdowns, set use_checkpoint to 1 or 2, and it hands you whichever one you chose. That's the entire job. If you're A/B testing models, or you have one workflow you want to run against two different checkpoints without editing anything, this saves you from building two parallel loader branches and swapping wires by hand.

    How it works

    The two checkpoint1 and checkpoint2 inputs aren't free-text fields - they're dropdowns populated from your actual models/checkpoints folder via ComfyUI's folder_paths.get_filename_list("checkpoints"), so you can't mistype a filename. An INT selector (use_checkpoint, 1 or 2) picks which one comes out the other side. Internally it's a two-line if/else: return checkpoint1, or return checkpoint2.

    Like its randomizer sibling, the output ckpt_name is a checkpoint name (STRING), not a loaded MODEL - you connect it into a CheckpointLoader node's ckpt_name input, and the loader does the heavy lifting. That means switching is a model load, which on an SDXL checkpoint is a couple of seconds, not instant. Fine for A/B comparisons, and honestly fine for most use.

    When to reach for it

    • Manual A/B testing. Generate the same seed against model 1, flip use_checkpoint to 2, generate again. Fixed seed, single change, exactly the comparison the troubleshooting playbook tells you to run.
    • One graph, two looks. Portrait vs. anime style from the same prompt structure - just flip the switch instead of maintaining a second branch.

    It's a manual switch. If you want automatic rotation - a random pick held for N generations - that's the separate DarkCheckpointRandomizer node in the same pack. They're designed to cover different jobs and they don't overlap.

    The inputs that matter

    • checkpoint1 / checkpoint2 (dropdowns) - your two candidates.
    • use_checkpoint (INT, 1 or 2, default 1) - the switch.

    No seeds, no state files, nothing persisted. Restart the server and it forgets nothing, because it has nothing to remember. About the only way to trip this node up is to delete one of the two checkpoints it points at - the dropdown just won't list it anymore, so re-pick it.

    Install

    ComfyUI Manager → search "DarkPrompts" → install, restart. Or the git route:

    cd ComfyUI/custom_nodes
    git clone https://github.com/darkpixel/darkprompts.git
    

    Restart ComfyUI. No dependencies, no model downloads - the node reads your existing checkpoints folder and does nothing else.

    CategoryDarkPrompt

    Inputs (3)

    NameTypeDefaultDescription
    checkpoint1COMBO0 options:
    checkpoint2COMBO0 options:
    use_checkpointINT11–2

    Outputs (1)

    NameTypeDescription
    ckpt_name