Imagebatch to List
Split a stack of images into individual frames other nodes can handle
- images
- images
In ComfyUI, a batch of images isn't a list - it's a single tensor with a dimension for the batch. So 24 frames of a video or 8 passes of an upscale arrive as one IMAGE object shaped [24, H, W, 3]. Most nodes handle that fine. Some don't, and want images one at a time. Imagebatch to List takes the batch tensor and splits it into a list of individual images, each keeping its own singleton batch dimension.
How it works
Under the hood it does exactly one thing: slices the tensor along the batch axis, so batch [24, H, W, 3] becomes a list of 24 tensors of shape [1, H, W, 3]. The output is flagged as a list (ComfyUI's OUTPUT_IS_LIST), so downstream nodes that expect image lists will light up when you connect it.
That "each one is still [1, H, W, 3]" detail matters. Because a list of single-image tensors is what a lot of per-frame processing nodes want - nodes that operate on one image at a time and don't understand batches. If you've ever connected a batch to such a node and gotten a "wrong number of dimensions" error, this splitter is the fix: it hands those nodes images in the exact shape they expect.
When you'd use it
- Per-frame work. Your video decoder outputs a batch; you want to run each frame through a node that only accepts single images, then reassemble later with the pack's Imagelist to Batch.
- Looping and iteration. List-consuming iteration nodes (rgthree-style "Power Puter" workflows, batch iterators) are far happier with a list of frames than with a batch tensor.
- Debugging. Seeing "which frame is this?" is easier when you can route individual frames to a preview instead of fighting the batch.
It pairs naturally with its inverse in the same pack: Imagelist to Batch, which takes a list and stacks it back into a batch tensor. Batch → list → process → list → batch is a standard loop shape, and these two are the bookends.
What's on the node
images- the input IMAGE batch.imagesoutput - a list of single-image IMAGE tensors (marked as a list type).
One input, one output. The node doesn't reorder, crop, or resize anything - it's a pure structural split. If your batch has 1 image, you get a list of 1.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/r-vage/ComfyUI-RvTools_v2
# restart ComfyUI
Or search "ComfyUI-RvTools_v2" in ComfyUI Manager. No models; deps are the pack's standard torch/numpy/Pillow/opencv-python/pilgram.
The pack caveat
The README declares the pack unmaintained and recommends ComfyUI_Eclipse as the successor. And the RvTools brand has a messy past - the original repo was pulled from GitHub in early 2025, breaking shared workflows and spawning a "who can re-share RvTools?" thread on r/comfyui. v2 is the renamed, still-installable version. For a structural converter like this, the deprecation mostly means "don't expect updates," not "expect breakage."
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |