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

Noise → Dict🗂️

Your Noise Source, Parked in the Bus

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

In the advanced sampling API, "noise" is an explicit object - a generator with a seed that produces the initial latent noise - not just a checkbox. DictAddNoise stashes one of those objects into your dict under a named key. It's the Add-side counterpart to the whole pack's bus philosophy: instead of a dedicated wire from RandomNoise to your sampler, the noise object rides along with guider, sampler, and sigmas in a single dict.

It's grouped under Add/Advanced, one of the four sampling-object nodes (guider, noise, sampler, sigmas). The NOISE value is a wired input from a noise-producing node, and it's validated against the expected noise protocol - the pack checks that the object exposes a seed and a generate_noise method.

How it works

Standard Dict Tools mechanics: validate, store under the key, return a new frozendict without mutating your input, sort keys alphabetically on update. The noise object is held by reference, so bundling it is cheap.

The workflow that makes this worth it: an advanced sampler needs four objects to line up - guider, noise, sampler, sigmas. Bundle all four with the Dict Add nodes, pass one dict, and extract each at the sampler. Fewer wires, fewer places for the graph to come apart, and the seed travels with its noise source.

The inputs that matter

  • key (STRING) - the name you'll fetch the noise object 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 (NOISE, optional) - the wired noise object from a noise node.

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

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 the Advanced nodes need the noise/sampler/sigmas types to exist at all - on a stale ComfyUI those inputs won't even appear. Update ComfyUI first if you're missing them.

The snapshot rule applies here more than most: the whole point of a noise object is its seed. If you change the seed on a noise node after adding it to the dict, the dict is still holding the old generator - re-add it or you'll wonder why your "new" seed reproduces the same result every run.

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.
valueoptNOISEThe actual Noise-type item to add into the Dict.

Outputs (1)

NameTypeDescription
dictDICT