Linear Quadratic Advanced
The linear-quadratic schedule with real knobs
- model
- sigmas
ComfyUI already ships a linear_quadratic scheduler - it's one of the go-to schedules for flow-matching models, and it shows up in plenty of Z-Image and distilled-model settings. This node is RES4LYF's advanced version of it: the same two-phase curve, but with the inflection point and the transition threshold exposed as parameters you can actually set instead of baked-in constants. Output is a SIGMAS curve for a sampler's sigmas input.
The linear-quadratic schedule works in two phases - a linear segment for one part of the run and a quadratic segment for the rest - which is a good fit for the near-straight denoising trajectory flow-matching models use. Stock ComfyUI gives you the schedule; this gives you control over where it bends.
The inputs that matter
- steps (default 40) - number of sigma values.
- inflection_percent (default 0.5) - where the curve switches from its linear phase to its quadratic phase, as a fraction of the run. This is the headline knob. Move it earlier to spend more of the schedule in the quadratic phase, later to keep it linear longer.
- threshold_noise (default 0.025) - the noise level at the transition. It controls how the two phases meet; small changes here shift the balance of denoising effort between early and late steps.
- denoise (default 1) - standard partial-denoise control; below 1 runs a shortened schedule for img2img.
The model input is required so the node can derive the correct sigma range for your checkpoint. The single output is sigmas (SIGMAS).
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
This is a fine-tuning tool, not a default - if you don't already have a reason to move the inflection point, the stock linear_quadratic scheduler does the same job with less to get wrong. The most common misstep is nudging threshold_noise around blind; it's a small number (default 0.025) and it's sensitive, so change it in tiny increments and preview the result with SigmasPreview rather than guessing. Remember that feeding a sampler sigmas overrides its internal scheduler and step count, so set your step count here and don't fight it in two places. Linear-quadratic is most associated with distilled and flow-matching models - on plain SD 1.5 or SDXL you're better off with the DDPM-era defaults, and this buys you nothing there. If the node won't load, RES4LYF isn't installed.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| steps | INT | 400–100000 | — |
| denoise | FLOAT | 1.00-100000–100000 | — |
| inflection_percent | FLOAT | 0.500–1 | — |
| threshold_noise | FLOAT | 0.0250.001–1 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| sigmas | SIGMAS | — |