Nodes/ComfyUI-UtilsCollection/From Points Scheduler
ComfyUI Node

From Points Scheduler

Draw your own noise schedule, literally

By silveroxides·Created 2 months ago·Updated about 7 hours ago· 24
From Points Scheduler
    • SIGMAS
    steps8
    custom_points1.0, 0.99375, 0.9875, 0.98125, 0.975, 0.909375, 0.725, 0.421875

    Most schedulers give you a dropdown. UC_SigmaCurveFromPointsScheduler gives you a list of numbers and interpolates the entire denoising schedule through them. You literally type the shape of the curve: 1.0, 0.9, 0.7, 0.3, 0.1 - that's a schedule that dawdles at the top, drops fast through the middle, and eases at the bottom. This is the "draw your own noise curve" tool for people who've exhausted the presets.

    How it works

    Two inputs. steps (default 8, up to 1000) is how many sampling steps you're running. custom_points is a comma-separated string of sigmas that defines the shape of the curve - the defaults ship as 1.0, 0.99375, 0.9875, 0.98125, 0.975, 0.909375, 0.725, 0.421875, which is a gently accelerating descent tuned for low-step sampling. The points are interpolated out to your step count, so you don't need to type one point per step - eight points shape a thirty-step schedule fine. Give it fewer than two points and it falls back to the built-in defaults, so you can't accidentally break it by deleting the field.

    The output is a SIGMAS list for a custom sampling chain: ModelSampling → this → SamplerCustom. And the pack is explicit about the two companions you'll often need: for image-to-image, connect UC_SigmaRescale after it to set your start noise level; if your sampler requires penultimate-sigma removal, connect UC_DiscardPenultimateSigma next.

    Why you'd bother

    The whole point of a custom curve is control over where denoising effort lands. Want a slow, careful start to nail composition before detail kicks in? Front-load low points. Want to slam through the early steps and spend your budget on texture? Back-load them. Flow-matching models like Z-Image and friends are famously picky here - the KB's sampler sweep work found that aggressive curve reshapes actively hurt on straight flow-matching trajectories, so this is a tool for deliberate experimentation, not a default upgrade. When a model "just isn't landing" at low steps, though, drawing a gentler curve is exactly the kind of intervention that fixes it.

    Install

    Part of ComfyUI-UtilsCollection:

    cd ComfyUI/custom_nodes
    git clone https://github.com/silveroxides/ComfyUI-UtilsCollection
    

    Restart, or use ComfyUI Manager (search "UtilsCollection"). No models needed; opencv-python + typing-extensions auto-install.

    Gotchas

    The migrated scheduler also registers under the core-compatible ID sigma_curve_from_points, so you may see it inside Core's scheduler selector dropdowns in addition to this standalone node - same behavior, two doors in. And the pack's README is blunt about its migrations: if you had the old standalone ComfyUI_SigmoidOffsetScheduler / ComfyUI_PowerShiftScheduler packs installed, remove them before accepting ComfyUI's workflow-replacement prompt, or you'll collide on node IDs. Worth repeating for this whole scheduler family: the defaults are a starting point, not gospel - if your model likes a different shape, the points field is there to be edited, and that's the entire reason this node exists.

    Categorysampling/custom_sampling/schedulers

    Inputs (2)

    NameTypeDefaultDescription
    stepsINT81–1000
    custom_pointsoptSTRING1.0, 0.99375, 0.9875, 0.98125, 0.975, 0.909375, 0.725, 0.421875Comma-separated points that shape the denoising schedule.

    Outputs (1)

    NameTypeDescription
    SIGMASSIGMASFor I2I, connect Sigma Rescale. If required, connect Discard Penultimate Sigma.