Multi Image Select
Load twelve reference images into one looper-friendly list
- image_list
Same idea as TKMultiImagePrompt, minus the prompts. Multi Image Select gives you twelve image slots in one widget and packs whatever you fill in into a single TK_IMAGE_LIST - designed, per the node's own description, to feed a looping workflow where TKPromptLooperAdv picks the right image by index. If your workflow is pure image-to-video with per-image prompts coming from somewhere else (or no prompts at all), this is the version you want.
How it works
Twelve image_N dropdowns, all reading from your ComfyUI/input folder with drag-and-drop upload support. On execution it loads each filled slot to an image tensor and emits a list of dicts - image, filename, and a slot number - sorted by slot. Empty slots are skipped, so the list length equals how many images you actually chose, not always twelve.
Under the hood it's the same machinery as its sibling: images get EXIF-transposed, converted to RGB, and normalized to float tensors on load, and the node hashes the loaded files (IS_CHANGED) so ComfyUI re-runs it when an input image changes. It's a loader, full stop - nothing clever beyond the packing.
The inputs that matter
Just the image slots, 1 through 12. There's no prompt text here and no chaining input - that's the difference from TKMultiImagePrompt, which has both. If you picked up this node expecting the prompt pairings, grab the sibling instead.
Output
One TK_IMAGE_LIST socket. Like the prompt variant, this is a pack-defined custom type, so it feeds TKPromptLooperAdv's image_list input - which cycles it by index and returns the image (with a null prompt, since there aren't any). If you only need an image selected per iteration, this two-node pair is the whole pipeline.
When you'd reach for it
Any loop that needs more than four reference frames and doesn't care about per-frame text - a style-reference loop, a batch of I2V starts, a shot-list you're animating through. Twelve slots is a genuinely useful amount of runway for a single widget, and because the output is a list, the looper handles the cycling so you're not hand-wiring twelve image paths into twelve separate switches.
Common issues
The usual input-folder gotchas: images need to be in ComfyUI/input (or uploaded through the widget), and the list order follows the slot order you filled, so if you fill slot 2 before slot 1, the list still comes out in numeric order - that's intended, not a bug. And remember it's images only: if you wire its TK_IMAGE_LIST into something expecting the prompt-paired list type, the type system will refuse. Use TKMultiImagePrompt for the paired version.
Installing it
Part of trashkollector/TKNodes ("ComfyUI Handy Nodes"). Install via ComfyUI Manager (search "Handy Nodes") or:
cd ComfyUI/custom_nodes
git clone https://github.com/trashkollector/TKNodes
Restart, and it's under TKNodes/image. No models, no dependencies beyond the pack itself.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| image_1 | COMBO | 2 options: , example.png | |
| image_2 | COMBO | 2 options: , example.png | |
| image_3 | COMBO | 2 options: , example.png | |
| image_4 | COMBO | 2 options: , example.png | |
| image_5 | COMBO | 2 options: , example.png | |
| image_6 | COMBO | 2 options: , example.png | |
| image_7 | COMBO | 2 options: , example.png | |
| image_8 | COMBO | 2 options: , example.png | |
| image_9 | COMBO | 2 options: , example.png | |
| image_10 | COMBO | 2 options: , example.png | |
| image_11 | COMBO | 2 options: , example.png | |
| image_12 | COMBO | 2 options: , example.png |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image_list | TK_IMAGE_LIST | — |