Dazzle Options
The settings tab you can skip until the noise gets weird
- options_in
- options
Dazzle Options is the advanced-configuration node for the Smart Resolution Calculator (SmartResCalc). It's not a calculator and it doesn't generate anything. It's a small control panel that tunes how SmartResCalc's spectral blending behaves - the feature that lets a noise pattern's spatial structure steer where objects land in your generated image. If you've never heard of spectral blending, you can skip this node entirely and never miss it. If you've ever seen a SmartResCalc image go abstract at high resolution, or wanted your old v0.10.4-era outputs back, this is the lever.
How it works. Under the hood, SmartResCalc's spectral blending works in the frequency domain: it takes your noise pattern (DazNoise Plasma, Gaussian, whatever you picked as fill_type), FFTs it, and replaces the low-frequency components of standard Gaussian latent noise with normalized versions of the pattern's. The result keeps the N(0,1) statistics diffusion models expect while smuggling in the pattern's structure. Dazzle Options just changes how that normalization happens. It builds a plain dict and hands it to the calculator's dazzle_options input. Connect nothing, and SmartResCalc uses its defaults - so this node is strictly opt-in, and it chains: feed one Dazzle Options into another's options_in and the downstream one wins on any field it sets.
The inputs that matter. Only a couple will ever mean anything to you:
norm_mode-auto(default) lets SmartResCalc pick: per-bin normalization for real images, global-RMS for noise patterns.per_binnormalizes each frequency bin individually, transferring spatial structure via phase only - resolution-independent, the recommended choice forimg2noiseat high resolution.global_rmsscales every bin by the same factor; that's the pre-0.10.4 behavior, and it can overwhelm at big sizes. Set it here when you want to reproduce older outputs exactly.whitening- a 0.0-to-1.0 blend between global-RMS (0.0, full amplitude transfer) and per-bin (1.0, phase-only). Only consulted inautomode; 0.5 is half and half.cutoff_curve- the shape of the frequency rolloff mask.gaussianis the smooth default (avoids Gibbs ringing);sharpis a brick-wall cutoff that can ring.phase_randomize- randomizes pattern phases before blending; decorrelates the pattern from your sample in img2img+img2noise mode while keeping spatial structure.
Install. It ships inside the pack, so installing the pack installs this node. In ComfyUI Manager, search "Smart Resolution Calculator" (or DazzleNodes / djdarcy), click Install, restart. Command line works too:
cd ComfyUI/custom_nodes
git clone https://github.com/DazzleNodes/ComfyUI-Smart-Resolution-Calc.git
Then restart ComfyUI. There are no pip dependencies and no model downloads - requirements.txt is effectively empty, and it runs on ComfyUI's own torch, PIL, and numpy. It's MIT-licensed, by Dustin Darcy.
Gotchas. The most common "problem" here is version mismatch, not a bug: newer SmartResCalc defaults to per-bin normalization, so if your saved workflow's output subtly shifted after an update, that's why - flip norm_mode to global_rms. And remember Dazzle Options tunes normalization only; the real dial is blend_strength on the calculator itself, where Plasma patterns stay coherent only below roughly 0.15-0.17, while per-pixel noise types run happily at 1.0. If your latent looks broken, check that first. The node is otherwise remarkably boring - which, for a config node, is exactly what you want.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| norm_modeopt | COMBO | auto | Spectral normalization algorithm. auto: SmartResCalc picks based on context (per_bin for images, global_rms for noise patterns) per_bin: Each frequency bin normalized individually. Transfers spatial structure via phase only. Resolution-independent, works well at any image size. global_rms: All bins scaled by same factor (v0.10.4 behavior). Preserves amplitude structure but can overwhelm at high resolution. Use this to reproduce outputs from older versions. |
| whiteningopt | FLOAT | 1.00–1 | Blend between global_rms (0.0) and per_bin (1.0) normalization. Only used when norm_mode is 'auto' or for fine-tuning. 0.0 = full amplitude transfer (old behavior). 1.0 = phase-only transfer (new behavior). 0.5 = half amplitude, half phase. |
| cutoff_curveopt | COMBO | gaussian | Shape of the frequency rolloff mask. gaussian: Smooth Gaussian rolloff (default, avoids Gibbs ringing) cosine: Cosine rolloff (slightly sharper transition) sharp: Brick-wall cutoff (sharpest, may cause ringing artifacts) |
| phase_randomizeopt | BOOLEAN | false | Randomize pattern phases before blending. Decorrelates pattern from samples in img2img+img2noise mode. Preserves spatial structure (amplitude) while breaking pixel-level correlation. |
| options_inopt | DAZZLE_OPTIONS | Chain input from another DazzleOptions node. Options from this node override values from options_in. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| options | DAZZLE_OPTIONS | — |