ClownScheduler
A sigma schedule you can shape by hand
- model
- sigmas
ClownScheduler is RES4LYF's flexible sigma-schedule builder. A scheduler decides how much noise comes off at each step - the curve of sigma values the sampler walks down - and this node lets you pick a base schedule (including the pack's signature beta57) and then reshape it: pad the ends, clamp the start and end values, run the schedule over only part of your step range, or flip it. Its output is a SIGMAS curve you feed into a sampler's sigmas input, which overrides that sampler's built-in scheduler.
You'd reach for it when the stock scheduler dropdown isn't giving you the control you want. On flow-matching models (Flux, Z-Image, Wan, Chroma), the shape of the sigma curve genuinely matters, and RES4LYF is where people go to tune it. ClownScheduler is the tuning surface.
How it works
Under the hood it generates a base schedule from your chosen scheduler across total_steps, then applies your start/end values and padding to sculpt it. The padding and windowing parameters are what set it apart from just picking "beta57" in a KSampler - they let you use a schedule for only part of the run, or splice a custom ramp onto its ends, which is handy for multi-stage and chained sampling.
The inputs that matter
- scheduler (default
beta57) - the base curve.beta57is RES4LYF's most-borrowed component and a strong default on flow-matching models; the list also includesconstant,simple,beta,linear_quadratic, and the rest. - start_value (default 1) and end_value (default 1) - clamp the schedule's endpoints. These scale where the curve begins and ends.
- pad_start_value / pad_end_value (both default 0) - extra values spliced onto the ends, for stitching schedules together.
- total_steps (default 100), scheduler_start_step (default 0), scheduler_end_step (default 30) - define the window the base schedule occupies. This is how you run a schedule over a sub-range rather than the whole thing.
- flip_schedule (default false) - reverse the curve, which is what you need for unsampling.
The optional model input lets the node pull model-specific sigma info. The single output is sigmas (SIGMAS) → a sampler's sigmas input.
Installing it
ComfyUI Manager: search RES4LYF, install, restart. Manually:
cd custom_nodes
git clone https://github.com/ClownsharkBatwing/RES4LYF/
cd RES4LYF
pip install -r requirements.txt
pip install inside the venv (or portable Python), restart, hard-refresh F5. No downloads.
Common issues
The trap that eats the most time isn't in this node - it's the bong_tangent scheduler specifically, which applies its own sigma shift and ignores the shift set elsewhere in your workflow. If you're on bong_tangent and shift seems to do nothing, that's why; switch schedulers to confirm. More generally, RES4LYF hands you a lot of curve-shaping power with little guidance, so don't tune blind - pair this with the SigmasPreview node and actually look at the schedule you're building. A malformed curve (endpoints crossed, a too-narrow window) will produce ugly output that's hard to diagnose otherwise. And remember that feeding a sampler sigmas overrides its own scheduler and step count, so set the shape here, not in both places. If the node's missing, RES4LYF isn't installed.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| pad_start_value | FLOAT | 0.00-10000–10000 | — |
| start_value | FLOAT | 1.00-10000–10000 | — |
| end_value | FLOAT | 1.00-10000–10000 | — |
| pad_end_value | FLOAT | 0.00-10000–10000 | — |
| scheduler | COMBO | beta57 | 12 options: constant, simple, sgm_uniform, karras, exponential, ddim_uniform, +6 |
| scheduler_start_step | INT | 00–10000 | — |
| scheduler_end_step | INT | 30-1–10000 | — |
| total_steps | INT | 100-1–10000 | — |
| flip_schedule | BOOLEAN | false | — |
| modelopt | MODEL | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| sigmas | SIGMAS | — |