Nodes/RES4LYF-tester-loop/RES4LYF Scheduler Loop
ComfyUI Node

RES4LYF Scheduler Loop

One queue run per scheduler — the painless RES4LYF A/B test

By KY-2000·Created about a year ago·Updated about a year ago· 9
RES4LYF Scheduler Loop
    • scheduler
    • current_index
    • total_combinations
    • current_combination
    • sampler_mode
    • label
    mode
    seed0
    resetfalse
    skip_schedulers
    loop_sampler_modefalse
    sampler_mode_method
    skip_sampler_modes

    Scheduler choice is where flow-matching models actually live or die. On a rectified-flow architecture like Flux or Z-Image, Karras and exponential schedules don't just underperform - they fail outright, while beta57 (RES4LYF's signature schedule) is what a growing share of the community names as its default. Yet the scheduler is also the setting people tune by feel, one rerun at a time. RES4LYFSchedulerLoop is the node that turns that grind into a sweep: every time you queue, it hands you the next scheduler, so a single batch gives you the comparison on a plate.

    It comes from KY-2000's RES4LYF-tester-loop pack, a loop-helper companion to ClownsharkBatwing's RES4LYF sampler pack. Like its sibling RES4LYFSamplerLoop, it doesn't add schedulers - it steps through the ones you already have, which keeps you honest about what your setup can actually do.

    How it works

    At import time the node pulls the scheduler list from your RES4LYF install's helper.py (the get_res4lyf_scheduler_list() function), so you get whatever's current upstream - right now that's the eleven entries: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, normal, linear_quadratic, kl_optimal, bong_tangent, and beta57. If it can't reach RES4LYF, it falls back to that same eleven-item built-in list and logs Using FALLBACK_SCHEDULERS to the console. Each run advances a counter and selects by mode - sequential, random (seeded), or ping_pong bouncing through the list.

    The inputs that matter

    • mode - sequential / random / ping_pong.
    • seed - makes random mode reproducible.
    • reset - true restarts the sweep from the top.
    • skip_schedulers - exclude names with a comma/newline list, e.g. karras, exponential if you're on flow-matching and already know those are dead ends.
    • loop_sampler_mode with sampler_mode_method and skip_sampler_modes - optionally cycle RES4LYF's unsample / standard / resample sampler modes at the same time.

    Outputs: scheduler (wired straight into ClownsharKSampler_Beta.scheduler), current_index, total_combinations, current_combination, sampler_mode, and a label like beta57 | standard for captioning or filenames.

    Install

    RES4LYF first, then the loop pack, both in custom_nodes/:

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

    Restart ComfyUI. That's the whole install - no Python dependencies beyond the standard library, no models to fetch. ComfyUI Manager finds both by title if you prefer point-and-click.

    Where people get burned

    One genuinely useful heads-up from the community sampler sweep lore: bong_tangent applies its own sigma shift and ignores the workflow's, so if you're sweeping with a shift set, results from that scheduler will look "off" relative to the rest - it's the scheduler, not the shift. Also worth knowing: every instance of this node class shares one counter, so two Scheduler Loops in one graph advance in lockstep. And if you see the fallback console message, your sweep is running against the built-in list, not your RES4LYF install - same names today, but it'll drift as RES4LYF adds schedules.

    CategoryRES4LYF/Loop

    Inputs (7)

    NameTypeDefaultDescription
    modeCOMBO3 options: sequential, random, ping_pong
    seedINT00–18446744073709550000
    resetBOOLEANfalse
    skip_schedulersoptSTRING
    loop_sampler_modeoptBOOLEANfalse
    sampler_mode_methodoptCOMBO3 options: sequential, random, ping_pong
    skip_sampler_modesoptSTRING

    Outputs (6)

    NameTypeDescription
    schedulersimple,sgm_uniform,karras,exponential,ddim_uniform,beta,normal,linear_quadratic,kl_optimal,bong_tangent,beta57
    current_indexINT
    total_combinationsINT
    current_combinationSTRING
    sampler_modeunsample,standard,resample
    labelSTRING