IDEO Random Noise No Cache
Same image every seed? This noise node proves whether caching is lying to you
- noise
- actual_seed
- report
The maddening one: you change the seed, queue again, and get the pixel-identical image. Your first instinct is "the model is broken," but the pack's Ideogram corner knows the real suspect - ComfyUI's caching. If a node's inputs didn't change, ComfyUI happily reuses the cached output, and a cached noise object means the "new seed" never actually reached the sampler. IAMCCS_IdeoRandomNoiseNoCache is a drop-in RandomNoise replacement built to defeat that: it forces a fresh server-side seed and marks itself changed so nothing gets cached.
How it works
It wraps core ComfyUI's Noise_RandomNoise and hands back a NOISE object plus two bookkeeping outputs:
mode-random_each_queue(default) generates a brand-new seed server-side on every execution;manual_seeduses theseedfield.force_rerun(default true) - makesIS_CHANGEDreturn NaN, so ComfyUI is contractually required to re-execute this node every queue instead of reusing the previous output.nonce- a text token; change it inmanual_seedmode to force a fresh run without touching the seed.seed- only read inmanual_seedmode.
Outputs: noise (wire this to your sampler's noise input, replacing the core RandomNoise node), actual_seed (the seed that was really used - the ground truth for reproduction), and a report JSON that records mode, seeds, and nonce hash for debugging.
The diagnostic logic is straightforward: if the same image keeps coming back in random_each_queue mode with this node in the path, caching isn't the culprit and the problem is upstream (a cached latent, a cached conditioning, or a model that genuinely converges). If the image changes now, caching was the thief all along.
When to reach for it
The category literally says "Debug." This is a diagnosis tool, not a permanent fixture - pop it into an Ideogram/Z-Image pipeline (or any pipeline where seeds seem frozen), confirm or rule out caching, then swap it back out. It's also honest about its own behavior: actual_seed is the number you'd save if you want to reproduce the exact output, because the widget seed is often not the seed used.
Install
Part of IAMCCS-nodes:
- ComfyUI Manager → search "IAMCCS" → install → restart.
- Or:
cd ComfyUI/custom_nodes
git clone https://github.com/IAMCCS/IAMCCS-nodes.git
Restart ComfyUI. Requirements: ComfyUI ≥ 0.3.0, Python ≥ 3.12, Torch ≥ 2.8. No models - it just wraps core's noise generator.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| mode | COMBO | random_each_queue | random_each_queue creates a fresh server-side seed every execution. manual_seed uses the seed field. |
| seed | INT | 00–18446744073709550000 | — |
| force_rerun | BOOLEAN | true | When enabled, IS_CHANGED returns NaN so this node re-executes every queue. |
| nonce | STRING | Optional manual text token. Change it to force a fresh run in manual_seed mode. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| noise | NOISE | — |
| actual_seed | INT | — |
| report | STRING | — |