Image Batch to Image List
Unstack a batch so each image processes separately
- image
- IMAGE
Image Batch to Image List takes a batch of images and turns it into a list, so downstream nodes handle them one at a time instead of as a single stacked block. If you've generated four images in one run and then found the next node treats all four as one object - or only touches the first - this is the converter that fixes it.
The batch-versus-list thing is one of ComfyUI's genuine beginner traps, and it's worth getting straight once. A batch is many images packed into a single tensor and moved through the graph as one unit; a list is many images that ComfyUI feeds through the receiving node one by one, re-running it for each. A KSampler with batch size 4 gives you a batch. But plenty of nodes - a detailer you want to run per image, a save node you want to fire per file, anything you want to loop over - behave correctly only on a list. This node crosses that gap for images (the mask equivalent is Masks to Mask List, the image one is here).
How it works
The node reads the batch dimension of the incoming image tensor and splits it into individual images, emitting them as a ComfyUI list. Downstream, any node connected to that list output gets executed once per image automatically - that's how list processing works in ComfyUI. The pixels are untouched; only the container changes from "one tensor of N images" to "N separate images." The reverse operation is Image List to Image Batch, which packs a list back into a batch when a later node wants everything at once.
The inputs and outputs that matter
There is nothing to configure:
image(required) - the batch of images to split.
Output:
IMAGE(a list) - the same images as individual list items. Connect it to whatever should run per-image, and it iterates for you.
No thresholds, no modes. It reshapes and passes through.
How to install it
Install the pack via ComfyUI Manager (search ComfyUI Impact Pack, install, restart), or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/ltdrdata/ComfyUI-Impact-Pack comfyui-impact-pack
cd comfyui-impact-pack
python -m pip install -r requirements.txt # ComfyUI's python; python_embeded on portable
then restart. No models or extra dependencies; it's a shape-conversion utility.
Common issues & troubleshooting
Nothing changed - still one output. You likely fed it a single image, not a batch. This node only splits what's already stacked; one image in gives a one-item list out. Confirm upstream that you actually generated a batch (batch size > 1 on the sampler or empty latent).
A downstream node broke after conversion. Some nodes want a batch and choke on a list, or vice versa. If a later node expects batched images, convert back with Image List to Image Batch first. Match the shape to what each node wants - list for per-image iteration, batch for whole-set operations.
My "per image" node still ran once on everything. That's the tell you had a batch and needed this node. After conversion the node should run N times, once per image. If it still doesn't, check that you wired the list output onward and didn't accidentally reconnect the original batch.
Performance note. List processing re-runs the downstream node for each item, which is exactly what you want for genuinely per-image work but is slower than a single batched pass. If a node can handle the batch natively and you don't need per-item behavior, don't convert - leave it batched.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |