Ancestral Options ππ π
Controlling the noise ancestral samplers inject, frame by frame
- ANCESTRAL_OPTS
Samplers like Euler a and DPM++ 2S a aren't purely deterministic - they inject fresh random noise at every step, which is exactly what makes them "ancestral." That's usually a feature for still images. For AnimateDiff it's a liability if left uncontrolled: uncorrelated noise injected independently per frame is a real source of flicker and instability across a clip. Ancestral Options is the node that gives you a handle on that noise instead of leaving it to chance.
Where it fits
This plugs into AnimateDiff-Evolved's broader Sample Settings system - the same family that holds CFG Extras and the seed/noise-scheduling controls the pack's README mentions ("Custom noise scheduling via Noise Types, Noise Layers, and seed_override/seed_offset/batch_offset in Sample Settings and related nodes"). Ancestral Options specifically targets the noise an ancestral sampler adds mid-generation, letting you decide how that noise behaves across the sequence rather than accepting whatever your global seed happens to produce per frame.
If you're not using an ancestral sampler (Euler, DPM++ 2M, and most non-"a" samplers don't inject noise at every step), this node has nothing to act on - it's specifically for the ancestral family.
Inputs and output
noise_type(combo, required) - selects how the sampler's per-step noise is generated across frames. The pack exposes this as a dropdown of presets rather than a free parameter; open the node in ComfyUI to see the exact options available in your installed version, since they're not something worth guessing at from outside the running node.seed_offset(int, default 0) - shifts the noise seed by a fixed amount, useful for getting a different-but-reproducible noise pattern without touching your main generation seed.seed_override(optional int, default 0) - replaces the ancestral noise seed outright rather than offsetting it, when you want full, direct control.- Output:
ANCESTRAL_OPTS- a settings object. It has no effect by itself; wire it into your Sample Settings node so it reaches the sampler at generation time.
Installing the pack
ComfyUI Manager: search AnimateDiff Evolved, confirm the author is Kosinkadink, install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/Kosinkadink/ComfyUI-AnimateDiff-Evolved
restart ComfyUI. This node needs no model file of its own - it's pure sampler configuration - but you'll want a motion module (mm_sd_v15_v2, v3_sd15_mm, etc.) downloaded into ComfyUI/models/animatediff_models for the rest of your AnimateDiff graph.
Common issues
You wired it in and your KSampler isn't using an ancestral sampler. ANCESTRAL_OPTS only matters when your sampler actually injects noise per step. If you're on Euler or DPM++ 2M and not seeing any effect, that's expected - either switch samplers or skip this node.
Flicker persists even with this node in the graph. Ancestral noise is one source of frame-to-frame instability, not the only one. If flicker remains after tuning noise_type/seed settings, check your Context Options overlap and schedule too - window-boundary artifacts and ancestral-noise flicker look similar but come from different places and need different fixes.
You changed seed_offset and results look identical. Confirm the ANCESTRAL_OPTS output is actually connected into your Sample Settings chain - like the rest of this pack's settings nodes, it does nothing floating unconnected in the graph.
KB gap: the exact list and behavior of noise_type options isn't documented in any source we have - that's genuinely useful information (it likely maps to the FreeNoise feature the README mentions) worth capturing from the pack's own node documentation the next time this comes up.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| noise_type | COMBO | 2 options: default, constant | |
| seed_offset | INT | 0-9007199254740991β9007199254740991 | β |
| seed_overrideopt | INT | 00β18446744073709550000 | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| ANCESTRAL_OPTS | ANCESTRAL_OPTS | β |