Vantage Unbatch Images
Take a batch apart for per-frame processing
- images
- image_1
- image_2
- image_3
- image_4
- image_5
- image_6
- image_7
- image_8
Vantage Unbatch Images is the reverse of all the batch-building nodes: it takes one IMAGE batch and splits it back into individual images, up to eight separate outputs. One tensor in, up to eight single-image wires out.
You need this more often than you'd think. A lot of ComfyUI workflows produce a batch - AnimateDiff frames, a batch run at a given size - and then every node downstream wants to touch the images individually. Maybe you want to face-detail each frame, save each one with its own filename, or run different post-processing on each. The built-in graph model doesn't make that trivial; this node does it mechanically.
How it works
run() simply indexes the batch dimension:
image_1= the first image in the batch (images[0])image_2= the second, and so on up toimage_8
Each output is a single-image batch (shape [1, H, W, C]), so it wires straight into any node that expects an IMAGE - a preview, a save, an upscaler, a face-detailer. Slots beyond the actual batch size come out as None: feed it a 4-frame batch and image_5 through image_8 are all None.
Input:
images(IMAGE) - "Image batch to unbatch."
Outputs: image_1 through image_8, each an IMAGE.
Where you'd reach for it
- AnimateDiff / video frames: decode a batch of frames, split them, and save or post-process each frame on its own path.
- Batch runs: generate 4 images in one queue, then unbatch so each can take a different upscaler or LoRA-based refinement.
- Grid-free saving: when you want individual files instead of one combined image.
It pairs cleanly with the pack's Append Image Batch on the other end - split, process each piece, append them back together.
Gotchas
- None outputs. Slots beyond the real batch size are None, and most nodes error on None. Wire only the outputs you know will exist, or gate the extras behind a Conditional Pass Through.
- Eight is the ceiling. A 12-frame batch will happily give you the first 8 and silently swallow the rest. If you regularly work with larger batches, you'll want a loop-style splitter or a list-based approach instead of this node.
- Each output is still a batch of one, so a downstream node that flattens a single-image batch will work fine - but the shape is
[1, H, W, C], not[H, W, C].
Installation
Part of Vantage Nodes - install the pack once, use every node. ComfyUI Manager: search "Vantage Nodes." Or:
cd ComfyUI/custom_nodes
git clone https://github.com/vantagewithai/Vantage-Nodes.git
pip install -r requirements.txt
Restart ComfyUI. No model files involved for this node.
Troubleshooting
- Some outputs are empty/None: that's the batch being shorter than 8, working as designed. Count your frames.
- First image is right but the rest are wrong order: the node preserves batch order - image_1 is truly the first frame. If your batch came from a sampler that reorders, fix it upstream, not here.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | Image batch to unbatch |
Outputs (8)
| Name | Type | Description |
|---|---|---|
| image_1 | IMAGE | — |
| image_2 | IMAGE | — |
| image_3 | IMAGE | — |
| image_4 | IMAGE | — |
| image_5 | IMAGE | — |
| image_6 | IMAGE | — |
| image_7 | IMAGE | — |
| image_8 | IMAGE | — |