MultiModelCheckpointIteratorFirst
Sweep the First Model, Keep the Rest Fixed
- latent_image
- LATENT
- prompt
- seed
- lora
- settings
- used_ckpt_name
MultiModelCheckpointIterator sweeps the middle model of a three-model chain. This sibling node sweeps the first one. You paste a list of checkpoints into ckpt_name1_list, keep models 2 and 3 as fixed dropdowns, and every queue run the chain starts from the next model on the list.
Since the first model does the composition work - the steps that decide what's actually in the frame - this is the natural tool when you're testing "which base model gives me the composition I want, finished by my usual detail checkpoint?" Each run produces a full image from a different starting model, and the node tells you which one it used.
How it works
Mechanically it's the Advanced sampler's chaining pipeline (rescaled-CFG warm-up, model 1's pass to steps_end_first, then models 2 and 3) with the iteration moved to slot one. ckpt_name1_list is newline-separated; each execution picks the next entry, advances the internal index, and uses that as ckpt_name1 for the run. detached_checkpoint is what activates list iteration. There's also detached_seed (keep your seed input authoritative even when loading settings) and stop_at_step for early-stopping a run partway.
The important addition over its sibling: this node returns used_ckpt_name - the string of the checkpoint that actually ran this time, cleaned down to the filename. The sibling leaves you to dig it out of the settings JSON; here it's a first-class output you can wire straight into a saver for per-image filenames or into a text logger.
The inputs that matter
- ckpt_name1_list - one checkpoint per line; the sweep list.
- ckpt_name2 / ckpt_name3 - fixed dropdowns for the rest of the chain.
- detached_checkpoint - on to iterate the list.
- detached_seed / stop_at_step - seed authority and early-stop controls.
Outputs: LATENT, prompt, seed, lora, settings, and used_ckpt_name.
Install and gotchas
Part of comfyui-rapidfire, no extra dependencies. Install via ComfyUI Manager (search "comfyui-rapidfire") or:
cd ComfyUI/custom_nodes
git clone https://github.com/Zeks/comfyui-rapidfire
then restart.
Same state caveat as its sibling, worth repeating: the sweep index lives on the node instance, so reloading the workflow or restarting ComfyUI resets your position. And if you're sweeping just to compare single models, remember this is still a chaining sampler - the model-2/3 slots will run too. Set used_model_count to 1 if you truly want first-model-only runs; otherwise you're paying for three models per image.
Inputs (28)
| Name | Type | Default | Description |
|---|---|---|---|
| used_model_count | INT | 21–3 | — |
| ckpt_name1_list | STRING | — | |
| ckpt_name2 | COMBO | 0 options: | |
| ckpt_name3 | COMBO | 0 options: | |
| positive | STRING | — | |
| negative | STRING | — | |
| lora_name | STRING | — | |
| noise_seed | INT | 00–18446744073709550000 | — |
| rescaled_steps | INT | 80–100 | — |
| rescale_multiplier | FLOAT | 0.700–1 | — |
| total_steps_original | INT | 251–100 | — |
| total_steps_shift_second | INT | 0-50–100 | — |
| total_steps_shift_third | INT | 0-50–100 | — |
| sampler_name | COMBO | 44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38 | |
| scheduler | COMBO | 9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3 | |
| starting_cfg | FLOAT | 8.00–100 | — |
| cfg_shift | FLOAT | 0.0-10–100 | — |
| steps_end_first | INT | 150–100 | — |
| steps_shift_second | INT | 0-20–100 | — |
| steps_end_second | INT | 00–100 | — |
| steps_shift_third | INT | 0-20–100 | — |
| token_normalization | COMBO | 4 options: none, mean, length, length+mean | |
| weight_interpretation | COMBO | 5 options: comfy, A1111, compel, comfy++, down_weight | |
| detached_seed | BOOLEAN | false | — |
| detached_checkpoint | BOOLEAN | false | — |
| stop_at_step | INT | 00–100 | — |
| latent_image | LATENT | — | |
| load_settingsopt | STRING | — |
Outputs (6)
| Name | Type | Description |
|---|---|---|
| LATENT | LATENT | — |
| prompt | STRING | — |
| seed | INT | — |
| lora | STRING | — |
| settings | STRING | — |
| used_ckpt_name | STRING | — |