Nodes/ComfyUI/PolyexponentialScheduler
ComfyUI Node Runs on cloud

PolyexponentialScheduler

Karras's flexible cousin

By Comfy-Org·Created 4 years ago·Updated 32 minutes ago· 129,926
PolyexponentialScheduler
    • SIGMAS
    steps20
    sigma_max14.61
    sigma_min0.03
    rho1.00

    PolyexponentialScheduler is a noise-schedule generator that walks the line between the two extremes most people know: the ExponentialScheduler's pure exponential curve and the KarrasScheduler's strongly-shaped one. It produces a polyexponential schedule, controlled by a rho exponent, and it's been in ComfyUI core (comfy_extras.nodes_custom_sampler) since September 2023. It's one of the "compute sigmas from sigma_min/sigma_max" family of schedulers that you mostly find in advanced workflows that need a specific schedule shape.

    How it works

    A noise schedule is just a descending list of sigma values. The polyexponential schedule interpolates between sigma_max (the noisiest starting point) and sigma_min (the cleanest), with rho controlling the curve's shape:

    • rho = 1 gives a curve close to the plain exponential - denoising effort spread fairly evenly, leaning toward the noisy end.
    • rho > 1 concentrates more denoising effort in the middle steps, approaching the Karras-style reshaping that helps DDPM-style models at low step counts.

    The inputs:

    • steps - how many sigma values (denoising steps) to produce.
    • sigma_max / sigma_min - the noise-level range. The defaults (14.61 / 0.029) are the standard SD/SDXL-range values; you'll normally leave them alone unless you know your model's range differs.
    • rho - the shape knob, 0–100, default 1.

    Output is a SIGMAS tensor for SamplerCustomAdvanced.

    The honest framing

    This is a specialist node, and its specialty is narrowing. If you just want a good schedule, you pick a named scheduler from the dropdown on BasicScheduler and never think about sigma ranges. PolyexponentialScheduler is for when you want the parametric control - a schedule between exponential and Karras that you can tune continuously with rho, or one built to your own sigma bounds. That's a niche. The sibling KarrasScheduler exists because most people who want this kind of control want that specific shape; polyexponential is the one for the in-between.

    Where people get burned

    • Assuming Karras-style reshaping helps everything. Same rule as everywhere: aggressive schedules fail on flow-matching models (Flux, Z-Image, Klein, Anima). Raising rho on those is a distortion, not a correction. This schedule's powers are an SD 1.5/SDXL thing.
    • Changing sigma_min/max without checking the model. The model's sampling object knows its own range; the defaults are generic. If you're tuning these, you're asserting a range that overrides what the model expects.
    • Expecting a visible difference. Between rho 1 and rho 3 the change is real but subtle; you're in diminishing-returns territory that most workflows never need to visit.

    If the model card names a sampler/scheduler pair, use that. This node is for the experimenters who want a continuously-tunable schedule and know why.

    If you're browsing this family for the first time, the practical path is: start on BasicScheduler with a named scheduler, and only reach for a parametric one when a sweep shows a specific region of the schedule is hurting you. When that day comes, rho gives you the one knob Karras hard-codes at 7 - the polyexponential curve at a rho you choose - which is the node's whole reason to exist.

    Categorymodel/sampling/schedulers

    Inputs (4)

    NameTypeDefaultDescription
    stepsINT201–10000
    sigma_maxFLOAT14.610–5000
    sigma_minFLOAT0.030–5000
    rhoFLOAT1.000–100

    Outputs (1)

    NameTypeDescription
    SIGMASSIGMAS