Nodes/ComfyUI-ppm/Convert Timestep To Sigma
ComfyUI Node

Convert Timestep To Sigma

Get the sigma number the other nodes want

By pamparamm·Created 2 years ago·Updated about 24 hours ago· 265
Convert Timestep To Sigma
  • model
  • FLOAT
mode

A small but genuinely handy converter. Some ComfyUI nodes want you to specify when in sampling something happens as a sigma - the raw noise level - but sigma is a model-specific, unintuitive number. Nobody thinks in sigmas. This node lets you specify the point in terms your brain actually holds (a timestep / position in the schedule) and hands back the matching sigma for your model. It's the translation layer between "80% of the way through" and "sigma = 0.42."

Why sigma is annoying

Denoising walks down a noise schedule, and every model measures that schedule differently. The same "roughly the last quarter of sampling" is one sigma value on SDXL, a different one on an SD1.5 model, and something else again on a v-prediction model. So when a node asks for sigma_start or sigma_end - like CFGLimiterGuider in this same pack, which defines its guidance window in sigmas - hardcoding a number that worked on SDXL will silently misbehave on a different model. The interval ends up in the wrong place and the node seems to "do nothing."

This node fixes that by computing the sigma from your actual model's schedule. Feed it your model, pick the point you care about, and the FLOAT it outputs is correct for that model specifically. Swap the model, the sigma updates.

Inputs and output

Deliberately tiny:

  • model (MODEL) in - needed because the conversion depends on the model's noise schedule. This is what makes the output correct rather than a generic guess.
  • mode - a dynamic dropdown that lets you choose how you specify the point you want converted.
  • FLOAT out - the sigma value, ready to wire into any node that takes a sigma.

The natural destination is CFGLimiterGuider's sigma_start / sigma_end inputs, but it works anywhere a sigma is wanted - sigma-split nodes, custom scheduler setups, anything in the custom_sampling/sigmas family.

Install

No models, no deps:

  • ComfyUI Manager: search "ComfyUI-ppm", install, restart.
  • Manual: cd ComfyUI/custom_nodes && git clone https://github.com/pamparamm/ComfyUI-ppm, then restart.

Honest take

This is pure plumbing, and it only matters if you're already doing sigma-based work - mostly that means the Guidance Limiter. If you're not touching guidance intervals or custom sigma schedules, you'll never need it. But the moment you are - especially if you're moving a setup that worked on SDXL over to a different base model - this is the node that keeps your intervals landing in the right place instead of you eyeballing sigma numbers and wondering why the effect vanished.

The one thing to get right is wiring in the correct model. The conversion is only as right as the model you feed it; hand it a different model than the one you're actually sampling with and you'll get a sigma tuned to the wrong schedule, which defeats the entire purpose. Keep the model reference consistent across your sampling graph.

Pack rule: erroring after a ComfyUI-ppm update? Delete and re-add the node. Otherwise it's a read-only calculator - it can't hurt anything, it just spits out a number.

Categorysampling/custom_sampling/sigmas

Inputs (2)

NameTypeDefaultDescription
modelMODEL
modeCOMBO2 options: [object Object], [object Object]

Outputs (1)

NameTypeDescription
FLOATFLOAT