Nodes/ComfyUI/Flux2Scheduler
ComfyUI Node Runs on cloud

Flux2Scheduler

The resolution-aware schedule that Flux 2 expects you to use

By Comfy-Org·Created 4 years ago·Updated about 8 hours ago· 130,663
Flux2Scheduler
    • SIGMAS
    steps20
    width1024
    height1024

    Flux 2's checkpoint card is famously opinionated about how you should sample it, and one of the opinions is "don't just reuse the Flux 1 schedule." Flux2Scheduler is ComfyUI's answer: a scheduler that changes its noise curve based on the resolution you're generating at. It landed with Flux 2 itself in November 2025 and it's the schedule the model was tuned with.

    Most schedulers ask for steps and maybe a denoise amount. This one also wants to know the image's width and height, because it uses the token count to decide how to shift sampling effort between composition and detail. That's the part that makes it feel like a different animal from the rest of the scheduler shelf.

    How it works

    The mechanism is a resolution-aware timestep shift - the same "shift" concept that governs how much of your sampling budget goes to early (structure) vs. late (detail) steps, but here it's derived from the image rather than a fixed slider:

    1. It computes the latent sequence length: width × height / 256 (the number of tokens at 16× downsampling).
    2. From that length it computes an "empirical mu" - a shift value fit to Flux 2's training data, interpolated between the model's 10-step and 200-step behavior (with a separate fit for very large images, over ~4300 tokens).
    3. It applies that mu as a generalized SNR shift to a linear timestep ramp.

    Net effect: a 512×512 crop and a 2MP image get different curves, because the model genuinely behaves differently at those token counts. Bigger images get a shift tuned for them instead of a one-size-fits-all curve.

    The inputs and output

    • steps (INT, 1–4096, default 20).
    • width and height (INT, defaults 1024) - must match the actual resolution of the latent you're about to sample. This is the field people get wrong.
    • One SIGMAS output, wired into SamplerCustom / SamplerCustomAdvanced's sigmas port.

    It's a pure formula scheduler - no model input. The knowledge about Flux 2's training is baked into the fit.

    The gotchas

    • Wrong resolution = wrong curve. If your EmptyLatentImage is 832×1216 but the scheduler says 1024×1024, the schedule is tuned for a token count your latent doesn't have. For small mismatches it's subtle; for big ones it's a real quality hit. Keep the two in sync.
    • It's a Flux 2 family scheduler. It's built for the Flux 2 / Klein line of rectified-flow models. You can plug it into other models, but there's no reason to - its entire design is fit to Flux 2's training.
    • Not a replacement for model choice. The scheduler can't fix a checkpoint that's too heavy for your card - and the community's whole Flux 2 story was "great model, too big to run." Klein 4B is the practical answer on consumer GPUs; this scheduler is just the right curve to run it with.

    If you're generating with Flux 2 or Klein, this is the schedule to use. It's the rare case where the "specialized" node genuinely outclasses the generic ones, because it was tuned against the exact model you're running.

    Categorymodel/sampling/schedulers

    Inputs (3)

    NameTypeDefaultDescription
    stepsINT201–4096
    widthINT102416–16384
    heightINT102416–16384

    Outputs (1)

    NameTypeDescription
    SIGMASSIGMAS