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

🗂️Dict → Noise

Noise objects, keyed for the sampler purists

By Lex-DRL·Created 4 months ago·Updated 4 months ago· 1
🗂️Dict → Noise
  • dict
  • value
◄key—►
â—„cleanup_keytrueâ–ş

Here's the niche one. In stock ComfyUI you never touch noise directly - the KSampler handles it. But the advanced sampling scene (custom sampler packs, Kijai-adjacent workflows, people who treat seed→noise as something to control rather than assume) deals in actual Noise objects: pre-created noise that gets fed into sampling explicitly. DictExtractNoise ("🗂️Dict → Noise"), filed under Extract/Advanced, carries one of those inside the dict bus.

If you're in that world, the pattern is identical to every extractor here: create your noise up top, store it in the dict under a key, and extract it where the custom sampler needs it. The value-add is organization - a modular sampling stack where the noise, the guider, and the sampler (its Advanced-category siblings) are all declared in one keyed block and applied in another, instead of a rat's nest of specialized wires.

What you set

  • dict (required) - the dictionary to read from (non-empty).
  • key - the slot where the noise lives.
  • cleanup_key (on by default) - normalizes the key.

Output: value as the Noise type, wired into a sampler node that accepts a noise input.

The honest framing

This is squarely a "you know who you are" node. If you've never seen a NOISE input on your sampler, you can ignore it entirely - it does nothing for stock workflows. If you do work with noise objects, the useful thought here is reproducibility: a noise object is the thing that makes a run replayable beyond just a seed number, so keying it in a dict and keeping it next to the sampler that consumes it is a genuinely tidy way to manage it.

Standard pack behavior applies: the extractor type-checks the stored value, and a missing key raises "No such key in Dict" rather than returning nothing. No magic - it just carries the object so you don't have to wire it across half the canvas.

Install

Same for the whole pack - small, one lightweight dependency (frozendict), no model downloads. ComfyUI Manager: search "Dict Tools". Or:

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

Restart ComfyUI. Needs 0.18.0+ (newer extension API) - if the nodes don't show up after install, update ComfyUI first. And remember: the noise has to come from wherever your sampler pack creates it; this node carries it, it doesn't generate it.

Category🗂️ Dict Tools/Extract/Advanced

Inputs (3)

NameTypeDefaultDescription
dictDICTA Dictionary to work with.
keySTRINGKey (name) of the item extracted from the dict.
cleanup_keyBOOLEANtrueAutomatically remove leading/trailing spaces and extra newlines from the key.

Outputs (1)

NameTypeDescription
valueNOISEThe actual Noise-type item extracted from the Dict.