โป๐ผ Loop (Images)
Loop (Images) (Bjornulf_custom_nodes) โ ComfyUI Node Guide
- IMAGE
If you've got several images and want to run the exact same process on each of them - same IPAdapter reference weight, same ControlNet, same upscale settings - this node is the batch-runner for that. Wire up to 30 image inputs, and everything downstream of it runs once per image automatically.
The README's own example is a good illustration of the point: feeding a set of images through this node into an IPAdapter workflow, same seed held constant across all of them, so you can directly compare how each source image influences the result under otherwise identical conditions. That's the shape of task this node is built for - controlled, one-variable-at-a-time comparison across a small image set, not bulk processing of a huge folder (for that, look at Load Images from Output Folder instead).
How it works
number_of_images tells the node how many image input sockets to expose (1 to 30). Once you've connected images to those sockets, the node outputs them as a list rather than a batch tensor - and because it's a list output, ComfyUI's execution engine re-runs everything downstream once per image, in order.
Inputs and outputs
One required input, number_of_images (INT, 1โ30, default 2, step 1) - this controls how many image sockets the node shows; increasing it adds more inputs to connect. One output: an IMAGE list.
Installing it
Comes bundled with Bjornulf_custom_nodes. ComfyUI Manager โ search the pack title โ install โ restart, or cd ComfyUI/custom_nodes && git clone https://github.com/justUmen/Bjornulf_custom_nodes and restart manually. No dependency specific to this node.
Common issues & troubleshooting
number_of_images sets the socket count on the node itself, so changing it after you've already wired everything up will shift things around - expect to reconnect image inputs if you bump the count up or down mid-setup. It's easier to decide roughly how many images you're comparing before you start wiring than to keep adjusting the count.
This node loops over a small, manually-connected set of images - it's not a folder-scanning batch tool. If you're trying to process an entire directory of images without wiring each one in by hand, you want Load Images from Output Folder elsewhere in this pack, not this node; trying to force dozens of images through 30 manually-wired sockets is the wrong tool for that job.
As with the other loop nodes here, remember each image in the list triggers a complete downstream run - if your graph includes a full sampling pass, looping 10 images means 10 full generations, not 10 cheap variations on one generation. Plan your GPU time accordingly, especially if the comparison you're running is exploratory rather than something you've already scoped down to a specific handful of images.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| number_of_images | INT | 21โ30 | โ |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | โ |