Nodes/ComfyUI-FrameUtilitys/Frame Clipper πŸ“Ή
ComfyUI Node

Frame Clipper πŸ“Ή

The trim that costs almost nothing

By lum3onΒ·Created about a year agoΒ·Updated 2 months agoΒ· 16
Frame Clipper πŸ“Ή
  • source_video
  • clipped_video
β—„frame_count30β–Ί
β—„start_frame0β–Ί

FrameClipper is the most boring node in this pack, and that's the compliment. It cuts a video down to a specific number of frames, starting at a frame you choose, and does nothing else - no resizing, no blending, no cleverness. Just a slice. In a pack of flashy splice-and-blend tools, it's the dependable utility you reach for when you need a shorter clip and you don't want any side effects.

Why you'll actually use it

Because video nodes get expensive fast. A long clip costs VRAM, memory, and time for every downstream step - every frame-extend, every repeat, every re-render. Clipping first, then doing the heavy work on the shortened result, is the difference between a smooth run and a swap-to-disk slog. The README's own recommended order is Clip β†’ Repeat β†’ Extend, and it's right. FrameClipper is also the easiest way to feed a fixed-length segment into something that wants one - an interpolation pass, an AnimateDiff-style workflow, or just to drop an unwanted intro/outro from the front of a video.

How it works

It takes source_video (an IMAGE tensor, [B, H, W, C] where the batch dim is your frame sequence), frame_count - how many frames to keep - and optional start_frame (0-based, default 0 for "from the beginning"). It slices source_video[start_frame : start_frame + frame_count], clamps the indices so it never crashes on a too-short video, and hands back the trimmed stack as clipped_video.

That's genuinely the whole mechanism. It's a pure tensor slice, which means there's no resampling, no color math, no interpolation to argue with - the frames you get are the frames you put in, just fewer of them. start_frame is clamped to the video length and the output is capped at the source's actual end, so it degrades gracefully instead of erroring on a bad value.

The inputs that matter

  • frame_count - the number of frames to keep (1–10000).
  • start_frame - where to start, default 0.

That's it. There are no optional resize parameters, which is the point: it preserves your original resolution and quality exactly. Output clipped_video feeds straight into SaveImage/VideoCombine or the rest of this pack's nodes.

Installing

ComfyUI Manager: search "ComfyUI-FrameUtilitys" and install. Or the manual route:

cd ComfyUI/custom_nodes
git clone https://github.com/lum3on/ComfyUI-FrameUtilitys

Restart ComfyUI. No models, no extra pip packages - the pack runs entirely on what ComfyUI already bundles.

Troubleshooting

  • "No frames to clip" - frame_count is larger than the source, or start_frame is past the end. Both are clamped rather than fatal, so you'll usually just get fewer frames than you asked for; check the console log, which reports the before/after lengths.
  • Output is shorter than expected - the source itself was shorter than your frame_count. Count your frames first, or clip from a longer segment.
Categoryimage/video

Inputs (3)

NameTypeDefaultDescription
source_videoIMAGESource video sequence to clip (IMAGE tensor format)
frame_countINT301–10000Number of frames to keep from the start of the video
start_frameoptINT00–10000Starting frame index (0 = from beginning)

Outputs (1)

NameTypeDescription
clipped_videoIMAGEβ€”