Nodes/Polyhedron Suite/⬡ Polyhedron Dual Sigma Curve
ComfyUI Node

⬡ Polyhedron Dual Sigma Curve

The dual-pass schedule generator

By PolyhedronAI·Created 3 months ago·Updated 2 days ago· 2
⬡ Polyhedron Dual Sigma Curve
    • sigmas_high
    • sigmas_low
    schedule_highkarras
    schedule_lowbong_tangent
    total_steps20
    split_step8
    sigma_max1.000
    sigma_min0.0020
    rho_high7.0
    rho_low7.0

    Wan 2.2 runs two passes - a high-noise expert that shapes structure and motion, and a low-noise expert that polishes detail. If you're feeding those two experts with one schedule, you're making the low pass work on a curve designed for the high pass, which is a compromise nobody asked for. The Dual Sigma Curve is the pack's answer: two separate sigma schedules, one per pass, joined at a defined handoff.

    The required inputs are the two curve shapes (schedule_high and schedule_low), a shared noise range (sigma_max/sigma_min, the same flow-vs-k-diffusion numbers as the single curve - 1.0/0.002 for Wan, 14.61/0.029 for SDXL-class), and the two numbers that define the split: total_steps and split_step. split_step is where the HIGH pass ends and the LOW pass begins - the handoff, in step terms rather than noise-level terms. Each side also gets its own rho (rho_high, rho_low) because the shape parameter is per-curve.

    Outputs are sigmas_high and sigmas_low, two SIGMAS curves. Keep total_steps and split_step in agreement with the samplers' own step settings - the curve's lengths are the schedules, and a mismatch between them silently shifts where the handoff actually lands. The handoff is described as seamless: the high segment ends where the low begins, which is exactly the segment contract the pack's own Sampler expects when you feed it sigmas_high/sigmas_low (the tooltip there notes each is a segment, not a full curve).

    Where it fits

    In a dual-expert workflow you'd feed sigmas_high to the high-noise sampler path and sigmas_low to the low path, and the split gives each expert a schedule shaped for its job - steeper or gentler per pass. The one conceptual trap is the same as every sigma node: the curve defines the distribution of steps, not the model's flow-matching shift. On Wan 2.2 you still need the sigma shift (8.0 is the standard) applied on top - the curve and the shift are separate mechanisms, and both have to be right.

    Installing it

    It's part of the Polyhedron Suite pack:

    cd ComfyUI/custom_nodes
    git clone https://github.com/PolyhedronAI/ComfyUI-PolyhedronLoRAStack.git
    # restart ComfyUI
    

    or ComfyUI Manager, search "Polyhedron Suite". No extra dependencies.

    Honest take: this is a power-user node. If you're still getting your head around basic samplers, the single Universal Sigma Curve and default samplers will serve you better - but the moment you're tuning a dual-expert run and wondering why the low pass feels under-fed, the answer is usually that it's inheriting the high pass's schedule. That's the problem this node removes.

    CategoryPolyhedron/Sigma

    Inputs (8)

    NameTypeDefaultDescription
    schedule_highCOMBOkarrasSigma curve for HIGH pass (structure phase)
    schedule_lowCOMBObong_tangentSigma curve for LOW pass (detail phase)
    total_stepsINT202–300Total steps across both passes
    split_stepINT81–299Where HIGH ends and LOW begins
    sigma_maxFLOAT1.0000.0001–1000Flow-matching (WAN/FLUX/SD3): 1.0 — k-diffusion (SDXL/SD1.5): 14.61
    sigma_minFLOAT0.00200.00001–100Flow-matching (WAN/FLUX/SD3): 0.002 — k-diffusion (SDXL/SD1.5): 0.029
    rho_highFLOAT7.00.1–20Shape param for HIGH schedule (karras/exponential/laplace only)
    rho_lowFLOAT7.00.1–20Shape param for LOW schedule (karras/exponential/laplace only)

    Outputs (2)

    NameTypeDescription
    sigmas_highSIGMAS
    sigmas_lowSIGMAS