Scheduler Loop
The laziest scheduler test on earth
- scheduler
- current_index
- total_combinations
- current_combination
The whole family, this is the simplest one. Scheduler Loop walks ComfyUI's scheduler list - simple, sgm_uniform, karras, exponential, ddim_uniform, beta, normal, linear_quadratic, kl_optimal - and hands your KSampler one scheduler name per workflow run. That's the complete job description. No samplers, no parameter ranges, no modes beyond the three standard ones.
It earns its keep the moment you're locked onto a sampler and just want to know which sigma schedule it prefers. Karras vs. exponential vs. simple is a real, output-shaping decision - the default karras isn't automatically right for every model, and the only way to know is to look at actual renders. This node turns that from a five-minute edit-and-rerun dance into a nine-run sweep where each image labels itself via current_combination.
How it works
The same counter machinery as every node in this pack: an internal counter per mode advances only when the node sees a new execution, so one queue run = one scheduler, and the next run = the next scheduler. Sequential walks the list in order and wraps around; random picks using seed + step (reproducible, but changes each run); ping_pong bounces forward and back. reset (BOOLEAN, default false) zeroes the counter for a fresh cycle.
Since it's just one dimension, total_combinations is simply the number of schedulers you didn't skip. It's the rare node in this pack where a full sweep is cheap - nine runs, done.
Inputs and outputs
- mode - sequential, random, ping_pong.
- seed - only matters in random mode.
- reset - start over.
- skip_schedulers - the one comma-separated skip list, e.g.
beta, kl_optimal. Exact names only; the console warns about anything unrecognized, and skipping them all silently reverts to the full list.
Outputs: scheduler (a plain string, exactly what stock KSampler's scheduler input wants) plus current_index, total_combinations, and current_combination (a "Scheduler: karras" string, handy for filenames or a text label).
Install
No dependencies, no models - pure Python. ComfyUI Manager → search comfyui-ksampler-tester-loop → install → restart, or the manual route:
cd ComfyUI/custom_nodes
git clone https://github.com/KY-2000/comfyui-ksampler-tester-loop
then restart ComfyUI. (Yes, this installs the whole pack - all nine nodes arrive together; you only do it once.)
The one mental model
Same as its siblings, so if you've used any of them you already know: "loop" means one selection per queue run, not an internal iteration. Re-queue the workflow - or queue it nine times at once - and it rolls through the schedulers. It will not generate a grid in a single execution, and expecting it to is the one way people get frustrated with it. If you're using a custom sampler node that needs a SAMPLER object instead of a name, grab the Advanced variant instead - but for stock KSampler, this is the whole trick, and it's plenty.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| mode | COMBO | 3 options: sequential, random, ping_pong | |
| seed | INT | 00–18446744073709550000 | — |
| reset | BOOLEAN | false | — |
| skip_schedulersopt | STRING | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| scheduler | simple,sgm_uniform,karras,exponential,ddim_uniform,beta,normal,linear_quadratic,kl_optimal | — |
| current_index | INT | — |
| total_combinations | INT | — |
| current_combination | STRING | — |