FolderBatch Load Video Frames
A video loader that gives you the frames AND the original video object
- images
- video
The annoying thing about most video loaders in ComfyUI is that they pick one identity and commit. Either you get raw frames, and the "video-ness" of the thing is lost, or you get a video object and have to do a second pass to pull frames out. FolderBatch Load Video Frames refuses the trade: feed it a video_path and it hands you both - the clip as an IMAGE batch of frames and the original video object intact.
Mechanically this is the modern ComfyUI approach: the node uses InputImpl.VideoFromFile, the current API for turning a path into a VIDEO object, then pulls the decoded frame components out of it. The images output is the whole clip as a batch you can feed straight into per-frame work - upscaling, interpolation, ControlNet preprocessors, any node that eats an IMAGE batch. The video output is the original object, ready for video-native nodes downstream that want the container, codec, and timestamps rather than raw tensors.
It has exactly one input, video_path - a STRING marked forceInput, so it's designed to be wired, not typed. And that's the pattern this pack is built around: FolderBatch Video Queue emits the path, this loader consumes it, and your processing chain sits in between. Queue → loader → your nodes → done, no file picking between clips.
Where the memory warning lives: images is the entire clip as a batch. A ten-second 1080p clip at 24fps is 240 full-resolution tensors, and that adds up fast on an 8GB card. This isn't a bug in the node, it's the nature of decoding video to tensors - if you're planning to process long or high-res footage, budget for it, or do the frame-crop/selection upstream. The video output is comparatively cheap because it stays a reference to the file.
Also worth knowing: the video loader needs PyAV (av) to decode, which ComfyUI ships as part of core, so install is the same one-liner as the rest of the pack - Manager, search "ComfyUI-FolderBatch", restart, done. No models, no extra requirements.
The pairing is the point here. On its own this node is a perfectly good "load video by path" utility. Used with its queue sibling it turns into a hands-free batch processor for a whole folder of footage, and the free video passthrough means you're never forced to choose between working with frames and working with the source.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| video_path | STRING | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |
| video | VIDEO | — |