Group Video Frames MXD
Split a long frame sequence into chunk-sized groups
- frames
- IMAGE_GROUPS
Video models and VRAM have a strained relationship: a long clip is fine as a concept, but a lot of operations need it in manageable pieces. Group Video Frames MXD takes a flat frame batch and splits it into a list of smaller groups - group_size frames each (default 81, which is a familiar number to anyone who's touched WAN's frame counts). Output is a list of image tensors: group 1, group 2, and so on, each an independent batch you can process separately.
What you set
frames- your image batch (theIMAGEfrom a VAE decode or video loader).group_size- frames per group (default 81, range 1–5000).
The output IMAGE_GROUPS is a list, not a single tensor - that's the whole point. Downstream list-consuming nodes (loops, batch samplers, per-group processing) can take each chunk one at a time. If the total isn't a clean multiple of group_size, the last group just gets whatever's left; no padding, no dropped frames.
Why it exists
Two real use cases, both from the video-workflow trenches:
- Staying under memory limits. Decode a long WAN 2.2 take, group it into 81-frame chunks, and process each chunk through a sampler or upscaler that would OOM on the full sequence. You trade a bit of orchestration for fitting on your card.
- Looping over groups. ComfyUI's iteration patterns work on lists. Group the frames once, then run each group through the same downstream pipeline - different seed per group, per-group conditioning, that sort of thing. The node even prints a progress line ("Split N frames into M groups") so you can see what you got.
It's a plumbing node - no AI, no math beyond the chunking - but it's the kind of plumbing that unblocks workflows that otherwise need hand-built list splitting or a pile of index math.
Gotchas
- You get groups, not a guarantee they're uniform. Last group shorter than the rest, by design.
- It's a list output, so whatever consumes it must accept a list of image batches. If you want the flat sequence back, you'll need a join/batch node on the other side.
- Frame-order is preserved, so group boundaries are arbitrary cut points - a video that loops or has scene changes won't align its chunks with your intent unless you set
group_sizeaccordingly.
Install
ComfyUI Manager → search Maxed Out → install → restart, or:
cd ComfyUI/custom_nodes
git clone https://github.com/Maxed-Out-99/ComfyUI-MaxedOut
No requirements.txt, no model downloads. Under MXD/Video. If you've ever hit "CUDA out of memory" halfway through processing a long clip, this is the node that breaks the problem into bite-size pieces.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| frames | IMAGE | — | |
| group_size | INT | 811–5000 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE_GROUPS | IMAGE | — |