Boyo Video Cutter
Stripping the Overlap Frames Out of Chunked Video
- images
- trimmed_images
- cut_info
- frames_removed
Chunked video generation is a deal with the devil: you generate long videos in overlapping pieces for smooth transitions, then you're stuck with a final product full of duplicated frames at every junction. BoyoVideoCutter is the cleanup pass. You hand it the full frame batch and a list of which frames to remove, and it hands back the trimmed batch, a cut_info string, and a count of exactly how many frames it removed. No re-encoding, no re-stitching - just a tensor-level excision.
How it works
The trim_positions input is a string of frame indices, with junctions separated by |. The pack's convention: "94,95,96|188,189,190" means "remove frames 94, 95, 96 and also 188, 189, 190." Each group is a comma-separated list. The node parses that, validates indices against the batch length, and - this is the important part - cuts in reverse order, descending index first, so removing one frame doesn't shift the positions of the next ones you still need to remove. Feed it an empty string and it passes the batch through untouched with "No frames to trim."
Outputs: trimmed_images (the cleaned batch), cut_info (a description of what was removed), and frames_removed (the count). debug_mode (default on) prints the full cutting plan to the console so you can see exactly what happened.
Where it fits
This is the second half of the pack's chunked-video recipe. The first half is BoyoVideoLengthCalculator, which tells you how many total frames and which trim positions you'll need for a target duration; its trim_positions output plugs directly into this node's trim_positions input. The 13-frame overlap you blend at each junction with BoyoOverlapSwitch gets stripped right here. Chain all three and a looped Wan-style generation becomes a single seamless clip:
BoyoVideoLengthCalculator → trim_positions → BoyoVideoCutter → clean video
Installing it
Ships with Boyonodes (DragonDiffusionbyBoyo):
cd ComfyUI/custom_nodes
git clone https://github.com/DragonDiffusionbyBoyo/Boyonodes
Restart ComfyUI or install "Boyonodes" via ComfyUI Manager. No extra dependencies - pure tensor indexing.
Gotchas
trim_positionsis exact indices, not ranges."94-106"won't work; write"94,95,96,...,106"(or let the calculator generate it for you).- Out-of-range indices are ignored (and reported), not fatal - so a stale trim list won't crash a run, it'll just leave a few duplicate frames.
- Order of junctions doesn't matter thanks to the reverse-cut logic, but indices must be within the current batch length; if your chunk size changed, regenerate the trim list.
If you generate chunked video at all, this is the node that turns "impressive but full of seams" into "done." And it's one of the rare ones where the pack's own nodes feed each other so cleanly.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| trim_positions | STRING | — | |
| debug_modeopt | BOOLEAN | true | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| trimmed_images | IMAGE | — |
| cut_info | STRING | — |
| frames_removed | INT | — |