Noise Layer [Add] ππ π
Stacking extra noise into specific parts of your frame
- prev_noise_layers
- mask_optional
- NOISE_LAYERS
Displayed as Noise Layer [Add], this is a building block in the pack's custom noise-scheduling system - one of the things the README means by "custom noise scheduling via Noise Types, Noise Layers, and seed_override/seed_offset/batch_offset in Sample Settings and related nodes." A single ADE_NoiseLayerAdd mixes in an extra layer of noise on top of the base sampling noise, with its own seed behavior and - via an optional mask - its own region of the frame to affect. Chain several together and you're composing a custom noise recipe rather than accepting whatever the sampler generates by default.
This is deep-end tuning. It exists for a real, specific problem: getting more per-frame variation without losing overall coherence, or targeting extra noise (and therefore extra detail/variation) at a masked region while leaving the rest of the frame stable. If you haven't hit that problem yet, you don't need this node.
How it works
The output type is NOISE_LAYERS, and it only fits one place: the noise_layers input on Sample Settings (ADE_AnimateDiffSamplingSettings), which in turn feeds a loader or Use Evolved Sampling. Each layer you add contributes its own noise on top of whatever came before it in the chain - noise_weight sets how strongly, mask_optional restricts where, and the seed-related fields control whether that layer's noise is deterministic or varies from your base seed.
The inputs and outputs that matter
Required: batch_offset (default 0, shifts which frame in the batch this layer's noise pattern starts from), noise_type (a dropdown - the same family of noise-generation strategies referenced elsewhere in the pack's Sample Settings), seed_gen_override (a dropdown for how this layer derives its seed, independent of the base sampling seed if you want it to be), seed_offset (default 0), and noise_weight (default 0.5, range 0β10 - how strongly this layer's noise blends in; the default of 0.5 is already a meaningful contribution, not a token amount).
Optional: prev_noise_layers (type NOISE_LAYERS) - chain another ADE_NoiseLayerAdd's output in here to stack layers, mask_optional (type MASK) to restrict this layer to a region, and seed_override (default 0, a full explicit seed rather than an offset from the base). Output is a single NOISE_LAYERS.
How to install it
Standard for the pack - ComfyUI Manager, search AnimateDiff Evolved by Kosinkadink, or:
cd ComfyUI/custom_nodes && git clone https://github.com/Kosinkadink/ComfyUI-AnimateDiff-Evolved
No model download tied to this node specifically - it's pure noise configuration on top of whatever motion setup you already have working.
Common issues & troubleshooting
Added a layer and nothing visibly changed. Confirm this node's NOISE_LAYERS output actually reaches Sample Settings' noise_layers slot, and that Sample Settings itself is wired into your loader or Use Evolved Sampling. It's an easy chain to leave half-connected, since none of these nodes error loudly when unplugged.
Output got noisier or flickerier, not more coherent. That's expected if noise_weight is pushed high - this node adds noise, it doesn't smooth anything out. If you're actually chasing consistency rather than variation, this is the wrong tool; look at ADE_IterationOptsFreeInit or a cleaner context-window setup instead.
Not sure this is worth the complexity. Fair - it usually isn't, for a first AnimateDiff workflow. Get a plain motion module producing coherent output first. Reach for noise layers specifically once you have a concrete ask, like "I want more variation in this masked region without disturbing the rest of the frame," that a flat seed can't give you.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| batch_offset | INT | 00β9007199254740991 | β |
| noise_type | COMBO | 5 options: default, constant, empty, repeated_context, FreeNoise | |
| seed_gen_override | COMBO | 5 options: use existing, comfy, comfy [gpu], auto1111, auto1111 [gpu] | |
| seed_offset | INT | 0-9007199254740991β9007199254740991 | β |
| noise_weight | FLOAT | 0.5000β10 | β |
| prev_noise_layersopt | NOISE_LAYERS | β | |
| mask_optionalopt | MASK | β | |
| seed_overrideopt | INT | 00β18446744073709550000 | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| NOISE_LAYERS | NOISE_LAYERS | β |