Tan Scheduler 2 Simple
Shape your own sigma curve with a tangent function
- sigmas
The scheduler is the half of the sampling equation that decides how much noise comes off at each step, and Tan Scheduler 2 Simple lets you draw that curve yourself using a tangent-based shape with two adjustable pivots. If the stock schedulers (beta, simple, Karras) don't give you the noise distribution you want, this is a build-your-own.
Worth being honest up front: this is a power-user node. On a flow-matching model - Flux, Chroma, SD3.5, Z-Image, Anima, the whole family RES4LYF targets - the community's hard-won lesson is that these models dislike aggressive reshaping of the sigma curve. A big 62-sampler sweep on Z-Image found Karras and exponential failing across the board precisely because they redistribute denoising effort too hard, while balanced schedules like beta and simple held up. So a fully custom curve is a sharp tool that can cut you. It shines when you know exactly what you're doing; for most people beta57 or plain simple is the smarter default.
How it works
It samples a tangent-shaped function across your step count, anchored by start, middle and end sigma values, with two pivot/slope pairs bending the curve. The result is a SIGMAS schedule - the same object a stock scheduler node outputs - that you route into a sampler.
The inputs and outputs that matter
steps(default 40) - number of steps in the schedule.start/middle/end(defaults 1 / 0.5 / 0) - the sigma anchors the curve passes through, normalized.endat 0 means it finishes fully denoised.pivot_1/pivot_2andslope_1/slope_2- where the tangent bends and how sharply. These are the shape controls; nudge one at a time.pad(default false) - whether to pad the schedule.
Output is sigmas (SIGMAS) - feed it to a RES4LYF sampler (or any custom-sampling node that takes sigmas).
How to install it
Ships with RES4LYF. 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 builds use the embedded pip. Restart, hard-refresh (F5).
Common issues
The first failure mode is producing a curve that isn't monotonic - if your pivots and slopes make the sigmas wander up and down where they should be steadily falling, the sampler gets a schedule that makes no physical sense and the image falls apart. Keep the curve heading downhill from start to end. Second, remember the flow-matching caveat above: if you're on Flux or Z-Image and your custom curve looks worse than the boring simple scheduler, that's expected, not a bug - these models reward restraint. And a classic RES4LYF scheduler trap to keep in mind across the pack: some schedulers apply their own internal sigma shift and ignore the workflow's, so if a shift node elsewhere in your graph seems to do nothing, suspect the scheduler before you suspect the shift.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| steps | INT | 400–100000 | — |
| pivot_1 | FLOAT | 1.00-100000–100000 | — |
| pivot_2 | FLOAT | 1.00-100000–100000 | — |
| slope_1 | FLOAT | 1.00-100000–100000 | — |
| slope_2 | FLOAT | 1.00-100000–100000 | — |
| start | FLOAT | 1.00-100000–100000 | — |
| middle | FLOAT | 0.50-100000–100000 | — |
| end | FLOAT | 0.00-100000–100000 | — |
| pad | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| sigmas | SIGMAS | — |