Nodes/🗂️ Dict Tools/Sigmas → Dict🗂️
ComfyUI Node

Sigmas → Dict🗂️

The Sigma Schedule, Rides Along

By Lex-DRL·Created 4 months ago·Updated 4 months ago· 1
Sigmas → Dict🗂️
  • dict
  • value
  • dict
key
cleanup_keytrue

Sigmas are the noise schedule - the per-step list of noise levels that tells a sampler how much to denoise at each step. In the advanced sampling API they're an explicit object, and DictAddSigmas lets you bundle one into your dict. It's the fourth corner of the "assemble sampling from parts" workflow, alongside guider, noise, and sampler.

It's grouped under Add/Advanced, and the SIGMAS value is a wired input from a scheduler node (like BasicScheduler or the scheduler selectors), validated against the sigmas type before storage.

How it works

Same Dict Tools engine as every Add node: validate, store under the key, return a new frozendict without mutating your input, sort keys alphabetically on update. The sigmas object is held by reference - storing a list of numbers by handle, not copying them.

The bus payoff is the same one as its siblings: guider, noise, sampler, and sigmas all need to arrive at the same advanced sampler. Bundle all four, pass one dict, extract each at the sampler. If you're testing multiple schedules (Karras vs. a custom one) across stages, distinct keys keep them from colliding.

The inputs that matter

  • key (STRING) - the name you'll fetch the sigmas back by.
  • cleanup_key (BOOL, default on) - trims spaces/newlines from the key.
  • dict (DICT, optional) - an existing dict to extend, or empty to start one.
  • value (SIGMAS, optional) - the wired schedule from a scheduler node.

Output is dict (DICT). Get it back with DictExtractSigmas.

Install

ComfyUI Manager: search Dict Tools, install, restart. Or:

cd ComfyUI/custom_nodes
git clone https://github.com/Lex-DRL/ComfyUI-DictTools

Restart after. Only dependency is frozendict, auto-installed by Manager.

Gotchas

Pack-wide: needs ComfyUI 0.18.0+ (newer node API) - and like the other Advanced nodes, if the SIGMAS input type doesn't even exist in your build, your ComfyUI is too old. Update it before troubleshooting anything else.

The snapshot rule bites here in a subtle way: sigmas are derived from a schedule and steps. If you change the step count or scheduler after adding the sigmas to the dict, the stored object is stale - re-add it. And the four sampling-object types are strictly separated: a sigmas object won't pass for a noise object, and the type check is loud about it.

Category🗂️ Dict Tools/Add/Advanced

Inputs (4)

NameTypeDefaultDescription
keySTRINGKey (name) of the item inserted into the dict.
cleanup_keyBOOLEANtrueAutomatically remove leading/trailing spaces and extra newlines from the key.
dictoptDICTAn (optional) Dictionary to work with.
valueoptSIGMASThe actual Sigmas-type item to add into the Dict.

Outputs (1)

NameTypeDescription
dictDICT