ComfyUI Node

Shape Noise

Want detail in the middle or the edges? Shape Noise decides

By chrisgoringe·Created 2 years ago·Updated 2 years ago· 20
Shape Noise
  • noise
  • NOISE
weight0.010
renormalise
mode
function

Most models have a center-bias: the main subject lands in the middle, and the good detail follows it there. Shape Noise is a small lever for pushing that around - you can steer more detail toward the center of the frame, or nudge it outward into the corners, by shaping the noise before the sampler ever sees it.

Why shaping noise shapes detail

The sampler is trained on noise evenly spread across the latent, and it treats whatever noise it finds as something to explain. Give it more noise in one region and it resolves that region into something busier - more texture, more detail. Less noise and it resolves to bland. So by gently scaling up the noise magnitude toward the center (or away from it), you're bribing the sampler to put effort where you want it. It's a subtle effect, which is honestly the point. It's a nudge, not a rewrite.

Mechanically the node is simple: it multiplies your noise by a ramp across the image. The sin shape is 2*sin(pi*x/l) - 1 - it runs from -1 at the edges up to +1 at the center, smoothly. The point shape (1 - |4x/l - 2|) ramps linearly up then back down, so it's harsher and cuts off more abruptly. Multiply by a positive weight and you push noise into the middle; negative weight flips it outward. mode picks whether the ramp runs on x, on y, or both (xy). The renormalise toggle (leave it yes) puts the mean and standard deviation back where the sampler expects them after you've fiddled with the magnitude.

The inputs that matter

  • noise - your noise source, typically a RandomNoise node.
  • weight - default 0.01, range -1 to 1. Positive pushes detail center, negative pushes it out.
  • mode - xy (both axes), x, or y. Start with xy.
  • function - sin (smooth) or point (harsh).

Using it

The recipe is the same as any noise experiment: fix your seed so you can compare, set weight to 0 and generate a baseline, then nudge weight up a little at a time. Between 0.1 and 0.3 of positive weight you'll see detail condense toward the middle without the image falling apart. A small negative value is the sleeper use case - it spreads detail across the whole frame, which helps when a model fixates on the center subject and leaves the background mushy.

The failure modes are worth knowing before you hit them. Above roughly 0.3 on xy, things go crazy fast - the author's own images show it devolving into noise soup. You can push higher on x or y alone, because you're only reshaping one axis. And the negative direction breaks down when detail gets shoved all the way into the corners; the more realistic the model, the sooner that happens, since the sampler can't make sense of corner-heavy noise. If it looks broken, back the weight off rather than troubleshooting anything else - it's the tool being too big, not your workflow being wrong.

Installing

No models, no extra pip packages - the pack only needs torch and ComfyUI's own comfy_extras. Install through ComfyUI Manager (search "cg-noisetools"), or:

cd ComfyUI/custom_nodes
git clone https://github.com/chrisgoringe/cg-noisetools

restart, done. It's by chrisgoringe, a long-time ComfyUI custom-node author, and the whole pack is labeled experimental - treat the sharp edge at high weights as part of the deal.

Categorynoise

Inputs (5)

NameTypeDefaultDescription
noiseNOISE
weightFLOAT0.010-1–1
renormaliseCOMBO2 options: yes, no
modeCOMBO3 options: xy, x, y
functionCOMBO2 options: sin, point

Outputs (1)

NameTypeDescription
NOISENOISE