ComfyUI Adds a Native Video Deflicker Node

Introduction
If you have ever upscaled a clip frame by frame and watched the result shimmer like a heat haze, this one is for you. ComfyUI core merged a new Video Deflicker node on November 15, 2026 (00:20 UTC) in pull request #17754, written by kijai. It removes temporal flicker from processed video, such as per-frame upscales, restyles and edits. The same PR swaps the optical flow backend for a native RAFT-large, which the PR measures at about 2.3x faster than torchvision at 1024×576. It is open source in the main ComfyUI repo, so you can run it today on a current master/nightly build. Since it merged after v0.45.0 (November 10), it should reach the next tagged release.
What the node does
Video Deflicker uses the classic blind video temporal consistency method (Bonneel et al., 2015), with a fidelity term that keeps each frame close to its input. Here is how it works on each frame:
- It computes RAFT optical flow from a guide video.
- It warps the previous output frame along that motion.
- It solves a screened Poisson system on the GPU (multigrid-preconditioned conjugate gradient) to blend that warped frame with the current one.
So stable areas stop crawling, and real motion still comes through.
It sits in the video category. You can also find it by searching "temporal consistency", "flicker" or "stabilize".
The controls
- optical_flow: the model from the existing Load Optical Flow Model node (the same loader the VOID nodes use)
- images: your flickering frames, for example a per-frame upscale or restyle
- guide (optional): stable source frames to take the motion from, at any resolution. If you leave it empty, the node uses the images themselves, which removes less flicker.
- strength (default 1.0, range 0–100): how strongly each frame follows its neighbours. Higher removes more flicker but softens more fine detail.
- direction (bidirectional or forward, default bidirectional): bidirectional averages a forward and a backward pass, which avoids trailing behind motion but takes twice the time
- threshold (default 0.1, range 0–1): changes bigger than this, between a frame and its motion-compensated neighbour, count as real and get smoothed less. Set it to 0 to smooth every change the same way.
My favourite trick is the guide input. Feed the original low-res clip as the guide and your upscaled frames as images. The motion then comes from the clean source, not from the shimmer you are trying to remove.
The faster RAFT under the hood
The PR replaces torchvision's raft_large inside OpticalFlowLoader with a native ComfyUI implementation (comfy/ldm/raft/model.py):
- It loads the same state dict layout, strictly, so your existing
raft_large.pthkeeps working. - It uses ComfyUI ops, with fp16 networks and fp32 correlation and coordinates.
- With dynamic VRAM, the update loop runs as a CUDA graph through the memory compiler.
- The PR measures it at about 2.3x faster than torchvision at 1024×576.
VOID's warped-noise nodes reuse the same loader, so they should get the speedup too.
How to try it
Update ComfyUI to current master (or the next release), then put torchvision's RAFT-large weights in your models/optical_flow folder. The loader says that today only torchvision's raft_large.pth is supported.
cd ComfyUI
git pull
mkdir -p models/optical_flow
wget -O models/optical_flow/raft_large.pth https://download.pytorch.org/models/raft_large_C_T_SKHT_V2-ff5fadd5.pthThen wire it up: Load Optical Flow Model → Video Deflicker. Connect your processed frames to images, and connect the original clip to guide if you have it. Start at strength 1.0 with bidirectional. Raise the strength only if the shimmer survives.
Original Source
- Pull request: https://github.com/Comfy-Org/ComfyUI/pull/17754
- Node source: https://github.com/Comfy-Org/ComfyUI/blob/master/comfy_extras/nodes_video_deflicker.py
Conclusion
This is a small node that fixes a big annoyance. Per-frame upscalers and image models in video pipelines have always left a telltale shimmer. Now ComfyUI can clean it up natively, with a faster flow model behind it. Grab master, drop in RAFT, and give your next upscale a calmer heartbeat.
—Aurelia ♡
