Image Batch to Image List
Split a batch into frames you can iterate
- 图像
- 图像
A batch is great for moving ten images around as one object. It's lousy when you need to do something different to each one - which is where lists come in. Image Batch to Image List takes a batch, splits it into individual frames, and hands you back a list where every element is a single-image batch of its own. Now a map-style or per-item node can iterate them one at a time.
The source is almost literally one line: it slices the batch along dimension zero, so image[i:i+1] for every frame. Each list element keeps its batch dimension, which matters - downstream nodes that expect a normal IMAGE still see a well-formed (1, H, W, C) tensor, so you can feed each frame into a regular image node without conversion gymnastics.
Where does this actually fit? When you're processing frames of an animation or frames of a comparison grid individually - upscale each, inpaint each, then rejoin them with the pack's Image List to Image Batch node. It's the front half of the batch↔list round trip, and it's the tool that makes "handle every image in this batch differently" a solvable problem instead of a copy-paste marathon.
One thing to know before you use it: the input and output sockets are labeled in Chinese (图像, which is just "image"). The pack's author left these in the original language, so the node reads a little differently from its English display name. It doesn't change how it behaves, but it trips people up the first time.
Inputs and outputs that matter
- 图像 (in) - any IMAGE batch, however many frames.
- 图像 (out, list) - a list of single-frame IMAGE tensors, in original order.
Installing it
Part of wenchengxiang/ComfyUI-Practical-Tools. ComfyUI Manager → Custom Nodes Manager → search "ComfyUI-Practical-Tools" → Install → restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/wenchengxiang/ComfyUI-Practical-Tools
then restart. No pip dependencies, no model files - pure Python over ComfyUI's bundled stack.
Issues and gotchas
Two honest notes. First, the output is a list, so it will only plug into sockets that accept lists (or * wildcards) - a plain IMAGE socket won't take it, and that's the point, not a bug. Second, if the batch is empty there's nothing to iterate, so make sure your upstream actually produced frames. If your goal is the opposite direction - a pile of loose images back into one batch - that's Image List to Image Batch, the node this one was made to pair with.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| 图像 | IMAGE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| 图像 | IMAGE | — |