Nodes/Chaosaiart-Nodes/🔶 Denoise Override (Switch)
ComfyUI Node

🔶 Denoise Override (Switch)

Full denoise on frame one, partial on every frame after

By chaosaiart·Created 2 years ago·Updated about a year ago· 117
🔶 Denoise Override (Switch)
  • restart
  • DENOISE
  • Info
â—„First_IMG1.00â–º
â—„Rest_IMG0.60â–º

This is the node at the actual heart of Chaosaiart's frame-by-frame animation technique - the low-VRAM alternative to a real temporal video model that the whole pack was originally built around. The idea, in the author's own words from when they first shared this pack: rather than a batch of images generated together (batch size), you generate one at a time in sequence (batch count), caching each result and feeding it back in as the img2img source for the next. It's the same lineage as Deforum and the old per-frame img2img chaining that predates AnimateDiff - cheap on VRAM, no motion module required, but with none of the temporal coherence a real video model gives you.

This node handles the one parameter that pattern needs automated: denoise strength has to be different on the very first frame versus every frame after it. Frame one usually starts from pure noise (or your original input image) and needs full or near-full denoise to actually generate something. Every frame after that is refining the previous frame's cached output, so a lower denoise keeps it visually consistent instead of regenerating from scratch each time. Doing that switch by hand every single queue would be tedious; this node just outputs the right value automatically based on which frame you're on.

Inputs and outputs

  • First_IMG - required FLOAT, default 1, range 0.01–1. The denoise value used on the very first frame.
  • Rest_IMG - required FLOAT, default 0.6, range 0.01–1. The denoise value used on every frame after the first - this is the one you'll actually tune, since it controls how much each frame is allowed to drift from the cached previous one.
  • restart (optional, RESTART type) - wire in a RESTART output (from Chaosaiart's convert node) to reset the node back to "this is frame one" behavior, rather than letting it assume every subsequent queue is a continuation.
  • Outputs: DENOISE - the FLOAT to wire into your KSampler's denoise input, and Info - a STRING confirming which value is currently active.

Installing it

ComfyUI Manager: Install via Git URL → https://github.com/chaosaiart/Chaosaiart-Nodes, which is exactly what the README documents. A title search for "Chaosaiart" should also find it.

Manual:

cd ComfyUI/custom_nodes
git clone https://github.com/chaosaiart/Chaosaiart-Nodes

Linux (activate your venv first, if you use one):

pip install opencv-python
pip install tqdm

Windows: run the bundled Install_windows script. Restart ComfyUI. No models needed - this outputs a number, nothing more.

Common issues

Frames drift too far from each other. Rest_IMG is too high - you're letting each frame regenerate too much of itself from noise instead of staying close to the cached previous frame. Bring it down; the README's default of 0.6 is a reasonable starting point, but tighter sequences (less change frame to frame) want it lower still.

Frames barely change at all, or look stuck. The opposite problem - Rest_IMG too low leaves almost nothing for the sampler to actually alter, so your "animation" is nearly static. Nudge it up.

Never resets between separate runs. Without wiring restart, the node has no built-in way to know you've started a brand-new sequence rather than continuing an old one - feed it a RESTART signal at the start of each fresh batch if you're reusing the same graph across multiple animations.

Whole-pack import failures. A broken opencv-python/tqdm install takes every Chaosaiart node offline at once, this one included - check the ComfyUI startup console for an import error first.

Category🔶Chaosaiart/ksampler

Inputs (3)

NameTypeDefaultDescription
First_IMGFLOAT1.000.01–1—
Rest_IMGFLOAT0.600.01–1—
restartoptRESTART—

Outputs (2)

NameTypeDescription
DENOISEFLOAT—
InfoSTRING—