Nodes/comfyui-ksampler-tester-loop/All Parameters Loop (Sampler Custom Advanced)
ComfyUI Node

All Parameters Loop (Sampler Custom Advanced)

The kitchen-sink loop, but with SAMPLER objects for custom sampler nodes

By KY-2000·Created about a year ago·Updated about a year ago· 8
All Parameters Loop (Sampler Custom Advanced)
    • steps
    • cfg
    • shift
    • sampler
    • scheduler
    • current_index
    • total_combinations
    • current_combination
    mode
    steps_start20
    steps_end50
    steps_interval10
    cfg_start1.0
    cfg_end8.0
    cfg_interval1.0
    shift_start1.0
    shift_end3.0
    shift_interval0.5
    seed0
    resetfalse
    skip_samplers
    skip_schedulers

    Take the kitchen-sink All Parameters Loop - steps, CFG, shift, sampler, and scheduler sweeping together - and swap its sampler output from a string to a genuine SAMPLER object, and you have All Parameters Loop (Sampler Custom Advanced). It's the node you reach for when your sampling setup is built around custom nodes - SamplerCustom, SamplerCustomAdvanced, Kijai's wrapper stack, that crowd - because those nodes refuse plain sampler names and demand a real object on the sampler input.

    This is also the natural pairing for WanVideo tuning, and not by accident: this pack grew out of the WanVideo scheduler-loop work by tankenyuen-ola. Wan workflows almost always run through a custom sampler node rather than the stock KSampler, they need the shift output this node provides, and the CFG landscape is exactly the kind of thing you want to sweep (CFG 1.0 with speed LoRAs like lightx2v/CausVid, 3.5+ without - the KB's Wan notes are the reference here). For a Wan parameter hunt, this is arguably the most relevant node in the whole pack.

    Mechanism

    Same counter-driven looping as its sibling: one combination per queue run, advancing only on a new execution. Combination order is steps → CFG → shift → sampler → scheduler, so the scheduler changes fastest. Modes are sequential, random (seeded via seed + step), and ping_pong.

    When it lands on a sampler name, it resolves the object via comfy.samplers.sampler_object(), with a fallback to the samplers dict and - last resort - a raw string plus a console warning. If you ever see that warning, your custom sampler node will likely choke on it; normally the object path just works.

    Inputs that matter

    The same five ranges as the standard version, in _start / _end / _interval form:

    • steps_start/end/interval - integers, defaults 20/50/10.
    • cfg_start/end/interval - floats, defaults 1/8/1.
    • shift_start/end/interval - floats, defaults 1/3/0.5. shift is the WanVideo flow-shift parameter (lightx2v setups commonly sit around shift 8); on pure SD graphs there's nowhere for it to go, so leave it unplugged.
    • mode, seed, reset - the usual controls.
    • skip_samplers / skip_schedulers - comma-separated, exact-match skip lists. Skip everything in one and it silently reverts to the full list, so check the console if behavior looks weird.

    Outputs: steps (INT), cfg (FLOAT), shift (FLOAT), sampler (SAMPLER type - the point of this variant), scheduler (string, one of nine), then current_index, total_combinations, and current_combination for labeling.

    The math warning, louder

    Five ranges multiply. Defaults alone give you a big product, and with 44 samplers × 9 schedulers in the mix you can hit tens of thousands of combinations without trying. The total_combinations output will happily tell you the number - it won't tell you that you can't afford it. Skip lists and narrow ranges are not optional; they're the whole workflow. My habit: lock sampler/scheduler to a shortlist, sweep steps/CFG/shift, then flip the sweep.

    Install

    Nothing exotic - no pip dependencies, no model downloads, just ComfyUI's own sampler machinery. ComfyUI Manager → search comfyui-ksampler-tester-loop ("Sampler Scheduler Loop" also finds it) → install → restart. Or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/KY-2000/comfyui-ksampler-tester-loop
    

    Restart, done. The pack prints verbose per-run logging to the console - annoying at volume, but genuinely handy for confirming which combination the current run is on.

    CategorySamplers/Loop/Advanced

    Inputs (14)

    NameTypeDefaultDescription
    modeCOMBO3 options: sequential, random, ping_pong
    steps_startINT201–1000
    steps_endINT501–1000
    steps_intervalINT101–100
    cfg_startFLOAT1.00–30
    cfg_endFLOAT8.00–30
    cfg_intervalFLOAT1.00.1–10
    shift_startFLOAT1.00–10
    shift_endFLOAT3.00–10
    shift_intervalFLOAT0.50.1–5
    seedINT00–18446744073709550000
    resetBOOLEANfalse
    skip_samplersoptSTRING
    skip_schedulersoptSTRING

    Outputs (8)

    NameTypeDescription
    stepsINT
    cfgFLOAT
    shiftFLOAT
    samplerSAMPLER
    schedulersimple,sgm_uniform,karras,exponential,ddim_uniform,beta,normal,linear_quadratic,kl_optimal
    current_indexINT
    total_combinationsINT
    current_combinationSTRING