Image Batch To List ♾️Mixlab
Split a batch so ComfyUI runs one image at a time
- image_batch
- image_list
ComfyUI treats a batch and a list of images very differently under the hood: a batch runs everything downstream once, on the whole stack at once, while a list re-executes the downstream chain once per item. Most of the time a batch is what you want - faster, one pass. But sometimes you need per-image behavior: saving each with its own filename, running a node that only makes sense one image at a time, or feeding something that just doesn't handle batches well. Image Batch To List is the standard "flip the switch" node for that - Mixlab's own implementation of a pattern most packs ship some version of.
How it works
It's about as simple as this pack gets: take a batched IMAGE tensor in, and split it into a Python list of individual images out. Everything wired after this node now re-runs once per image in that list, rather than once for the whole batch.
The inputs and outputs that matter
image_batch(IMAGE, required) - the batched images to split.
The single output is image_list (IMAGE, marked as a list) - wire it into whatever needs per-item execution downstream.
Its companion in this same pack, ImageListToBatch_, does the reverse - collapsing a list back into a single batch once you're done processing items individually.
How to install it
Ships with the Mixlab pack.
- ComfyUI Manager: search
comfyui-mixlab-nodes, install, restart. - Manual:
cd ComfyUI/custom_nodes && git clone https://github.com/shadowcz007/comfyui-mixlab-nodes.git, install requirements (install.baton Windows, or../../../python_embeded/python.exe -s -m pip install -r requirements.txt), restart.
No model downloads - this is a pure batch/list conversion utility.
Common issues & troubleshooting
Queue suddenly takes much longer. That's expected, not a bug - converting to a list means everything downstream re-runs per image rather than once for the whole batch. Fine for a handful of frames; noticeably slower (and more GPU-expensive, if downstream nodes are heavy) for a large batch. Only convert when you actually need per-item behavior.
I only wanted to peek at individual images. If you're not actually doing per-item processing, you probably don't need this conversion at all - a batch already previews as individual thumbnails in most viewer nodes.
Need to recombine afterward. Route the list straight into ImageListToBatch_ once your per-item processing is done, to get back to a single batched tensor for anything downstream that expects one.
This is one of those nodes you won't think about until you need it, and then you'll need it constantly - anywhere in this pack's Layer/Grid tooling where a per-region or per-frame operation has to happen individually before recombining, a batch-to-list step like this one is usually sitting quietly in the middle of the graph.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| image_batch | IMAGE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image_list | IMAGE | — |