Nodes/RES4LYF/Tan Scheduler 2
ComfyUI Node Runs on cloud

Tan Scheduler 2

Hand-shape your denoising curve

By ClownsharkBatwing·Created 2 years ago·Updated 18 days ago· 1,222
Tan Scheduler 2
    • sigmas
    steps40
    midpoint20
    pivot_110
    pivot_230
    slope_11.0
    slope_21.0
    start1.0
    middle0.5
    end0.0
    padfalse

    Most schedulers give you a name and a step count and that's the whole conversation. Tan Scheduler 2 goes the other way: it hands you the actual shape of the sigma curve and lets you bend it. It's a tangent-based scheduler with two pivot points, so you can decide how noise removal is distributed across the run - spend more steps up top on composition, or down low on detail, or carve out a plateau in the middle.

    This is exactly the "modulate parameters versus time" philosophy the RES4LYF README keeps banging on about. Getting the sigma schedule right can pull real quality out of the sampling process, and this node is the manual override for people who've outgrown picking a preset.

    Fair warning: it's fiddly. Nine numeric knobs, and no single "correct" setting. Most people are better served reaching for beta57 first and only coming here when they want something a preset can't give.

    How it works

    It builds a sigma schedule from a piecewise tangent curve. You define the endpoints and the middle (start, middle, end sigma levels), where the curve bends (pivot_1, pivot_2, and a midpoint), and how steep each segment is (slope_1, slope_2). Out comes a SIGMAS schedule you feed straight into your sampler's sigmas input, which overrides the sampler's own scheduler and step settings.

    The inputs and outputs that matter

    You won't touch all nine on day one. The load-bearing ones:

    • steps (default 40) - total steps, same meaning as everywhere else.
    • start / middle / end (defaults 1 / 0.5 / 0) - the sigma levels the curve passes through. start high and end at 0 is normal; middle sets where it sits halfway.
    • pivot_1 / pivot_2 (defaults 10 / 30) and midpoint (20) - the step indices where the curve changes character. This is how you push effort early or late.
    • slope_1 / slope_2 (defaults 1 / 1) - steepness of each half. Bigger = sharper transition.
    • pad (default false) - schedule-length padding; leave off unless a workflow needs it.

    Output is sigmas (SIGMAS) → the sampler.

    How to install it

    ComfyUI Manager: search RES4LYF, install, restart. Or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/ClownsharkBatwing/RES4LYF
    cd RES4LYF
    pip install -r requirements.txt
    

    Portable ComfyUI: embedded pip. Restart, hard-refresh F5. No downloads.

    Common issues & troubleshooting

    Everything looks broken / noisy. A hand-built schedule that doesn't end near 0, or has a weird bend, will leave residual noise or over-denoise. Start from the defaults, change one knob, and watch what it does before combining moves.

    It overrode my sampler's step count. That's intended - a connected SIGMAS takes over the scheduler and steps chosen inside the sampler. If you wanted the sampler's own schedule, unplug this.

    I can't tell what I'm doing. That's the normal experience with this node, honestly. Preview the sigma curve if you have a plotting node, or just accept it's a taste-and-iterate tool. If you don't have a specific reason to sculpt the curve, beta57 or simple will get you 95% of the way with none of the fuss.

    Which pivot does what? pivot_1 sits earlier, pivot_2 later; moving pivot_1 left concentrates more steps in the high-noise/composition region. Change them one at a time - with two pivots and two slopes interacting, moving several at once is how you get lost.

    CategoryRES4LYF/schedulers

    Inputs (10)

    NameTypeDefaultDescription
    stepsINT400–100000
    midpointINT200–100000
    pivot_1INT100–100000
    pivot_2INT300–100000
    slope_1FLOAT1.0-100000–100000
    slope_2FLOAT1.0-100000–100000
    startFLOAT1.0-100000–100000
    middleFLOAT0.5-100000–100000
    endFLOAT0.0-100000–100000
    padBOOLEANfalse

    Outputs (1)

    NameTypeDescription
    sigmasSIGMAS