Nodes/ComfyUI-Sigmax/HunyuanImage 2.1 Sigma Scheduler
ComfyUI Node

HunyuanImage 2.1 Sigma Scheduler

HunyuanImage 2.1 Base vs Distilled, without the guesswork

By rookiestar28·Created 2 months ago·Updated 24 days ago· 10
HunyuanImage 2.1 Sigma Scheduler
    • sigmas
    • schedule_info
    variant
    steps50
    strict_sourcefalse
    start_step0
    end_step-1
    already_shiftedfalse

    HunyuanImage 2.1 ships in two flavors that want wildly different treatment: the Base model does 50 steps at a 5.0 shift, and the step-distilled variant wants 8 steps at a 4.0 shift. Get that wrong - and people do, constantly, because the checkpoint filenames don't always scream which one you loaded - and you either get undercooked noise or a burned image. The HunyuanImage 2.1 Sigma Scheduler exists to make the variant explicit and build the matching schedule.

    This is the Sigmax pattern at its most useful: explicit variant selection, fail-closed if the selection is ambiguous, and a schedule pinned to the recipe for that exact variant. No silent guessing about whether you meant the 50-step or 8-step one.

    The two lanes

    • Base (5.0) - the full model. Fixed unit-flow shift 5.0, official 50-step recipe, CFG 3.5 per the pack's notes. The "pinned ComfyUI-compatible lane."
    • Distilled (4.0) - the step-distilled variant. Shift 4.0, 8 steps, CFG 3.25. This one is publisher-schedule-only: the pack explicitly does not claim a qualified native ComfyUI host path for it, so treat it as "the schedule the publisher specifies" rather than "proven on every setup."

    Inputs that matter

    • variant - Base (5.0) or Distilled (4.0). This is the decision. Pick deliberately.
    • steps - default 50, which matches Base. For Distilled, set 8. The node builds whatever count you give it, but the recipe it prints in schedule_info will tell you when you've drifted off the official number.
    • strict_source - keep on to stay on the pinned recipe.
    • already_shifted - set true only if a model-sampling shift has already been applied upstream. Default false for a normal path.
    • start_step / end_step - slice.

    Outputs are sigmas and schedule_info. Wire sigmas straight into your custom-sampling path; don't add a second scheduler.

    Scope, stated by the author

    The pack's compatibility doc is blunt: this covers the Base and Distilled direct-ratio schedule lanes only. Refiner, encoders, conditioning, weights, and quality claims are all explicitly excluded - it's schedule math, not a full workflow. And the Distilled lane is flagged as publisher-schedule-only without native-host qualification, so if you hit weird results on the distilled checkpoint, the honest answer is "this is the publisher's schedule, not a promise."

    Installing

    Whole pack, one install:

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

    Restart, search Sigmax. ComfyUI Manager also lists "ComfyUI-Sigmax". Python 3.10+, ComfyUI 0.29.0+, no extra deps, no model downloads.

    Where it bites

    The double-shift trap again - connect sigmas once, don't stack another time shift. And the variant trap: if you loaded the distilled checkpoint but left the node on Base (5.0) at 50 steps, you'll get the signature symptom of a distilled model being over-sampled. Read the schedule_info line before you blame the node.

    CategorySigmax/scheduling

    Inputs (6)

    NameTypeDefaultDescription
    variantCOMBO2 options: Base (5.0), Distilled (4.0)
    stepsINT501–10000
    strict_sourceBOOLEANfalse
    start_stepINT00–9999
    end_stepINT-1-1–10000
    already_shiftedBOOLEANfalse

    Outputs (2)

    NameTypeDescription
    sigmasSIGMAS
    schedule_infoSTRING