π² Load Random Checkpoint
Load Random Checkpoint β ComfyUI Node Guide
- model
- clip
- vae
- path
If you've ever wanted a workflow that genuinely surprises you - picks a different checkpoint every time instead of the one you left selected in a dropdown - this is that node. It reads a list of checkpoints you give it and a seed, and returns a different model each time the seed advances, with real control over exactly what "different" means in your case.
This is also the pack's clearest example of a pattern that shows up repeatedly across its other nodes (Random Int/Float/Bool/Color all do the same thing at a smaller scale): a seed input paired with ComfyUI's own Control After Generate set to Increment is being used as a pseudo-randomization trigger, not as a literal sampling seed. If you forget to set Control After Generate to Increment, the seed never advances and you'll get the same checkpoint every single run - the tooltip flags this twice because it's the single most common way this node looks broken when it's actually working exactly as told.
The checkpoints field is where the real flexibility lives, and it accepts four different kinds of entries, one per line: plain names that get fuzzy-matched against your installed checkpoint files, relative paths from your checkpoints folder, absolute paths, or whole directory paths - pointing at a folder pulls in every .ckpt and .safetensors file inside it automatically. Mix and match freely; empty lines are ignored.
repeat_count and shuffle control the selection pattern, and they're the two settings worth actually thinking about rather than leaving at default. With repeat_count at 1 (default), every seed increment gives you a new checkpoint. Set it to 3 and seeds 0, 1, 2 all use the same checkpoint before moving to the next one for seeds 3, 4, 5 - handy for "generate three variations per model" batch runs without manually re-wiring anything between batches. shuffle decides how selection works within that: false (default) works through the whole pool without repeating until every checkpoint has had a turn, a proper shuffle-bag; true picks randomly each time, which means the same checkpoint genuinely can come up twice in a row.
Outputs: model, clip, and vae are the standard checkpoint triad, ready to route exactly like a normal Load Checkpoint node. The fourth output, path, is the one a plain checkpoint loader can't give you - the full file path of whichever checkpoint got picked this run, which matters a lot once you're generating a batch across multiple models and need to know afterward which output came from which one.
Installing it: ComfyUI Manager, search "ComfyUI-mnemic-nodes," or git clone https://github.com/MNeMoNiCuZ/ComfyUI-mnemic-nodes into custom_nodes, then restart. It's pure filesystem scanning and fuzzy string matching against checkpoints you already have - nothing downloads, nothing new to fit in VRAM beyond the checkpoint itself.
What actually goes wrong: the Control After Generate setting above is by far the most common issue. Beyond that, fuzzy name matching gets genuinely ambiguous if you have two similarly-named checkpoints installed - if the wrong one keeps getting picked, switch that line to a relative or absolute path instead of a bare name to remove the ambiguity entirely.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| checkpoints | STRING | Enter checkpoint names, file paths, or directory paths - one per line. β’ Names (model_one) are fuzzy-matched against checkpoint files β’ Relative paths (SDXL/Realistic/) based from checkpoints folder β’ Absolute paths (C:/path/to/model.safetensors) β’ Directory paths add all .ckpt/.safetensors files within them β’ Empty lines are ignored | |
| seed | INT | 00β18446744073709550000 | Controls checkpoint selection. Works with repeat_count: β’ repeat_count=1: Each seed gives different checkpoint β’ repeat_count=3: Seeds 0,1,2 β same checkpoint, seeds 3,4,5 β same different checkpoint Set 'Control After Generate' to 'Increment' for repeat_count to work. |
| repeat_count | INT | 11β1000 | Set 'Control After Generate' to 'Increment' for repeat_count to work. How many consecutive seeds use the same checkpoint. β’ 1 = Each seed picks a different checkpoint β’ 3 = Seeds 0,1,2 all use checkpoint A, seeds 3,4,5 all use checkpoint B |
| shuffle | BOOLEAN | false | Selection mode: β’ False: Checkpoints will not repeat until all possible candidates has been used β’ True: Random selection from the pool. The same checkpoint could be used multiple times in a row |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| model | MODEL | The loaded checkpoint model (MODEL) |
| clip | CLIP | The CLIP model from the checkpoint (CLIP) |
| vae | VAE | The VAE model from the checkpoint (VAE) |
| path | STRING | The full file path of the selected checkpoint file (STRING) |