Nodes/ComfyUI-Sigmax/Z-Image Sigma Scheduler
ComfyUI Node

Z-Image Sigma Scheduler

Z-Image Turbo in eight steps, shift already baked in

By rookiestar28·Created 2 months ago·Updated 24 days ago· 10
Z-Image Sigma Scheduler
    • sigmas
    • schedule_info
    variant
    steps50
    strict_officialtrue
    start_step0
    end_step-1

    Z-Image is the 6B model that put near-Flux quality on a 12GB card and, briefly, killed Flux 2's launch hype. Turbo is the variant that actually stuck - the distilled 8-step daily driver that everyone runs at CFG 1. Sigmax.ZImageSigmaScheduler is the schedule for that workflow, and its big move is that it bakes the time shift into the sigmas so you stop guessing.

    On flow-matching models the sigma schedule is the recipe, and a reshaped one usually makes things worse. This node pins the official schedule and tells you exactly which variant you're on.

    How it works

    One input matters more than the rest: variant, set to Base or Turbo explicitly (there's no auto-detect, and you don't want one - they need different recipes):

    • Turbo - the distilled variant. Exactly 8 steps, embedded guidance (CFG 1.0 - negative prompts do nothing), with the shift baked in. This is the fast, photorealism-biased daily driver.
    • Base - the non-distilled foundation: real seed diversity and working negative prompts at CFG 3-5, 28-50 steps (default 50). Slower, but it's the trainable one.

    strict_official defaults to on - leave it there. Off produces a "modified" schedule that schedule_info will flag, and on official Z-Image there's rarely a reason to deviate. steps, start_step, and end_step round out the set (leave end_step at -1 for the full run).

    The shift thing - don't double it

    The most-repeated community tweak for Z-Image Turbo is raising ModelSamplingAuraFlow's shift to 7. Sigmax takes a different route: it constructs the schedule with a fixed direct-ratio shift inside the sigmas, so the node's job is done before it ever reaches your sampler. Do not stack a ModelSamplingAuraFlow shift on top - that's the README's "schedule appears shifted twice" trap. Either use the Sigmax schedule as-is, or run the community shift workflow. Both, and you get garbage.

    Outputs and wiring

    • sigmas (SIGMAS) - feed into the custom-sampling path that accepts external sigmas, replacing BasicScheduler. The node supplies the validated schedule only; it doesn't load the checkpoint or choose the sampler (Euler / euler_a / dpmpp_sde are the community-favored pairings, any scheduler but Karras or exponential).
    • schedule_info (STRING) - JSON provenance: profile, variant, shift ratio, fingerprints, warnings. Glance at it when output looks off.

    Install

    Same pack, same steps. ComfyUI Manager: search ComfyUI-Sigmax, install, restart. Or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/rookiestar28/ComfyUI-Sigmax comfyui-sigmax
    

    Restart ComfyUI. No model downloads - bring your own Z-Image checkpoint - and no pip dependencies.

    Where people get burned

    Mostly the shift stacking above, and the mental model: if you're coming from SDXL, CFG 7 plus a negative prompt is muscle memory, and it's wrong here. Turbo runs at CFG 1 with no negatives; Base runs at CFG 3-5. Pick the variant, keep strict_official on, run the schedule once - and don't reroute it through another scheduler.

    CategorySigmax/scheduling

    Inputs (5)

    NameTypeDefaultDescription
    variantCOMBO2 options: Base, Turbo
    stepsINT501–10000
    strict_officialBOOLEANtrue
    start_stepINT00–9999
    end_stepINT-1-1–10000

    Outputs (2)

    NameTypeDescription
    sigmasSIGMAS
    schedule_infoSTRING