FromListGetImages
Fan an image batch out into individual sockets — FromListGetImages
- list
- IMAGE
- IMAGE
- IMAGE
- IMAGE
- IMAGE
- IMAGE
- IMAGE
- IMAGE
- IMAGE
- IMAGE
- IMAGE
- IMAGE
- IMAGE
- IMAGE
- IMAGE
- IMAGE
- IMAGE
- IMAGE
- IMAGE
- IMAGE
- IMAGE
- IMAGE
- IMAGE
- IMAGE
- IMAGE
- IMAGE
- IMAGE
- IMAGE
- IMAGE
- IMAGE
- IMAGE
- IMAGE
FromListGetImages takes a list of images and hands you each one on its own output socket. It's the image-flavored "unpack everything" node in Bmad's list family, and it's the clean way to deal with the single most awkward thing about ComfyUI: a node that outputs a batch, and a dozen downstream nodes that each want one image.
The scenario is everywhere once you look for it. A Repeat Into Grid, a batch VAE encode, or any of the list-building nodes in this pack produce an IMAGE list. Downstream, each image needs different treatment - one gets upscaled, one gets saved, one gets composited. You can't wire a list into a single-image socket. FromListGetImages converts "a pile" into "numbered sockets" so each branch is its own wire. Pair it with ToImageList on the other side of a workflow and you have symmetrical gather/split plumbing.
How it works
Same UnMakeListMeta machinery as every FromListGetX node. INPUT_IS_LIST is set and the whole implementation is one line:
def get_all(self, list):
return tuple(list)
The node declares 32 output slots, but the canvas behavior is the gotcha: it starts with zero visible outputs. A bundled JavaScript extension (ArbitraryOutputsFixedInputs.js) adds an outputs widget - set the number of sockets you want (up to 16 in the UI), or right-click and pick "update Outputs". The README marks these nodes with the ❔ icon for exactly this reason: you have to use that widget before the node is useful.
Inputs and outputs
list- an IMAGE list,forceInput, wired from a list producer.ToImageList(same pack) or anything that outputsIMAGEas a list.- Outputs: up to 16 individual IMAGE sockets (
IMAGE_1,IMAGE_2, …), one per entry.
Keep the widget count in sync with the list length. The node returns exactly as many images as the list holds; more sockets than items means empty ones, fewer means unreachable items.
Install
Part of bmad4ever/comfyui_bmad_nodes. In ComfyUI Manager, search "comfyui_bmad_nodes" (listed as "Bmad Nodes"), install, restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/bmad4ever/comfyui_bmad_nodes
cd comfyui_bmad_nodes
pip install -r requirements.txt
Restart ComfyUI after. No models to download - requirements are opencv-python, scikit-image, simpleeval, gray2color.
Common issues
If the node shows no outputs, that's the outputs widget - set it, or hit right-click → "update Outputs". If the widget is missing entirely, the pack's JS didn't load; hard-refresh the browser and confirm ComfyUI's frontend is current. And remember the list input wants a real list connection, not a bare image. Beyond that this is a dead-simple splitter; the main skill is remembering it exists instead of building a switch chain.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| list | IMAGE | — |
Outputs (32)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |
| IMAGE | IMAGE | — |
| IMAGE | IMAGE | — |
| IMAGE | IMAGE | — |
| IMAGE | IMAGE | — |
| IMAGE | IMAGE | — |
| IMAGE | IMAGE | — |
| IMAGE | IMAGE | — |
| IMAGE | IMAGE | — |
| IMAGE | IMAGE | — |
| IMAGE | IMAGE | — |
| IMAGE | IMAGE | — |
| IMAGE | IMAGE | — |
| IMAGE | IMAGE | — |
| IMAGE | IMAGE | — |
| IMAGE | IMAGE | — |
| IMAGE | IMAGE | — |
| IMAGE | IMAGE | — |
| IMAGE | IMAGE | — |
| IMAGE | IMAGE | — |
| IMAGE | IMAGE | — |
| IMAGE | IMAGE | — |
| IMAGE | IMAGE | — |
| IMAGE | IMAGE | — |
| IMAGE | IMAGE | — |
| IMAGE | IMAGE | — |
| IMAGE | IMAGE | — |
| IMAGE | IMAGE | — |
| IMAGE | IMAGE | — |
| IMAGE | IMAGE | — |
| IMAGE | IMAGE | — |
| IMAGE | IMAGE | — |