Nodes/S42 CutFlow/🔄 S42 CutFlow Frame Blend
ComfyUI Node

🔄 S42 CutFlow Frame Blend

The Unsung Hero That Kills AI Video Jitter

By GeekyGhost·Created 6 months ago·Updated 4 months ago· 3
🔄 S42 CutFlow Frame Blend
  • clip
  • clip
  • frame_count
  • info
window3
weightscenter_weighted
strength1.0

AI-generated video has a signature artifact that isn't noise and isn't blur: it vibrates. Small frame-to-frame inconsistencies in position, color, and detail that make the footage look like it's shimmering even when nothing's moving. S42CF_FrameBlend is the S42 CutFlow node that fixes it the boring, reliable way - by averaging each frame with its neighbors. It's not glamorous, and it's probably the node on this pack you'll actually use most.

How it works

For each frame, it blends that frame with a window of its neighbors and mixes the result back in. Three inputs:

  • window - how many frames get averaged. 2–3 is subtle smoothing, 5+ is heavy motion blur. For jitter you want 3 or less.
  • weights - how the window is weighted. center_weighted (default) trusts the current frame most and fades to its neighbors - this is the jitter-fixing choice, because it smooths inconsistencies without smearing motion. uniform is a straight average (dreamier, more motion blur), exponential_decay falls off faster from center.
  • strength - the mix between original (0) and fully blended (1). This is the dial that saves you. A 3-frame center-weighted blend at ~0.3 strength kills most AI jitter without visible motion blur. Crank it to 1.0 with a big window and you get a deliberate dreamy, long-exposure look instead.

There's a second job it's great at: smoothing the result of a speed change. When S42CF_SpeedRamp or Clip Reverse retimes footage, frame timing shifts can cause visible stutter; a light FrameBlend pass smooths that seam. The pack's own example workflow chains SpeedRamp → ClipReverse → FrameBlend → FilmGrain, and that ordering is worth copying.

The honest caveat

This is a temporal average, not frame interpolation. It smooths by blurring in time, which means heavy settings genuinely reduce sharpness and can smear fast motion. The fix for that is to keep strength low (0.2–0.4) and window small unless you're deliberately going for motion blur. It won't create new frames; frame_count out equals frame_count in, and it doesn't change resolution. That's a feature - it slots into a chain without breaking downstream frame math.

Install

Standard S42 CutFlow: ComfyUI Manager → search "S42 CutFlow" → Install → restart. Or by hand:

cd ComfyUI/custom_nodes/
git clone https://github.com/GeekyGhost/S42-CutFlow.git
pip install -r S42-CutFlow/requirements.txt

Restart ComfyUI fully and confirm the console shows [S42 CutFlow] Loaded 53 total nodes. FrameBlend is pure CPU tensor math - no model, no VRAM, no downloads. The only pack-level dependency you must have is OpenCV (opencv-python-headless ships in requirements.txt; the README tells you to install opencv-python if you ever see "No module named 'cv2'").

Pack health check, since it applies everywhere: Geeky Ghost calls S42 CutFlow a work-in-progress being refined for LTX Desktop. The filter and clip-op core - FrameBlend included - is the dependable part; the expanded nodes are where things move.

CategoryS42 CutFlow/Filters

Inputs (4)

NameTypeDefaultDescription
clipIMAGEVideo clip to apply frame blending to.
windowINT32–15Number of frames to blend together. 2-3 = subtle smoothing. 5+ = strong motion blur.
weightsCOMBOcenter_weighted'uniform' = equal weight for all frames in window. 'center_weighted' = current frame has highest weight. 'exponential_decay' = past frames decay exponentially.
strengthFLOAT1.00–1Blend between original (0) and fully blended (1).

Outputs (3)

NameTypeDescription
clipIMAGE
frame_countINT
infoSTRING