♻ Loop (All Schedulers)
Loop (All Schedulers) (Bjornulf_custom_nodes) — ComfyUI Node Guide
- scheduler
Schedulers control how noise gets removed step by step during sampling, and picking the wrong one for your sampler or checkpoint is a quiet, easy-to-miss source of mediocre results. Rather than clicking through karras, then simple, then exponential one at a time and trying to remember which output belonged to which, this node runs your entire graph once per scheduler automatically, so you end up with a full side-by-side comparison from a single queue.
How it works
Set scheduler to ALL SCHEDULERS and the node outputs a list containing every scheduler ComfyUI supports - simple, sgm_uniform, karras, exponential, ddim_uniform, beta, normal, linear_quadratic, kl_optimal. Because it's a list output, ComfyUI's execution engine re-runs the downstream graph once per item, so wiring this into a KSampler's scheduler input gives you one full generation per scheduler, same prompt, same seed, same everything else - a clean apples-to-apples comparison. Pick a specific scheduler instead of ALL and it behaves like a normal single-value selector, no looping involved.
Inputs and outputs
One required input: scheduler, an enum with all nine real scheduler names plus the ALL SCHEDULERS loop-trigger option at the top. One output, typed as the literal scheduler-name list (matching ComfyUI core's own scheduler options), marked as a list - that's what drives the per-item re-execution when ALL SCHEDULERS is selected.
There's a sibling node in this pack worth knowing about: Loop All Samplers does the exact same thing for samplers instead of schedulers. If you're doing serious comparison work, the two together - or nested, sampler loop feeding a scheduler loop - let you build a full sampler × scheduler grid, though be warned that combination grows fast (nine schedulers times however many samplers is a lot of full renders).
Installing it
Comes with the rest of Bjornulf_custom_nodes. ComfyUI Manager → search "Bjornulf_custom_nodes" → install → restart, or cd ComfyUI/custom_nodes && git clone https://github.com/justUmen/Bjornulf_custom_nodes and restart manually. No dependency specific to this node - it reads directly from ComfyUI core's own scheduler list, so it'll always match whatever schedulers your ComfyUI version actually supports.
Common issues & troubleshooting
To connect this into a KSampler, you'll need to convert that node's scheduler widget to an input first - right-click the KSampler and choose "Convert widget to input." Plain dropdown widgets in ComfyUI don't expose a socket by default.
Picking ALL SCHEDULERS queues nine full generations from one click - reasonable for a deliberate comparison pass, easy to trigger by accident if you're just clicking through the dropdown while setting a workflow up. If you only meant to try one specific scheduler, make sure you actually selected it rather than leaving the dropdown on ALL SCHEDULERS from a previous session.
Keep in mind a scheduler comparison only tells you half the story - the same scheduler can behave very differently across samplers and across checkpoints. Treat a nine-image scheduler sweep as a starting point for your specific sampler and model, not a universal ranking; what wins for one combination won't necessarily win for another.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| scheduler | COMBO | 10 options: ALL SCHEDULERS, simple, sgm_uniform, karras, exponential, ddim_uniform, +4 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| scheduler | simple,sgm_uniform,karras,exponential,ddim_uniform,beta,normal,linear_quadratic,kl_optimal | — |