Make Image List
Ten Images, One List — the Pack's Everywhere Input
- image1
- image2
- image3
- image4
- image5
- image6
- image7
- image8
- image9
- image10
- IMAGE
Because "one image" is never enough, but one socket is all you get
The Easy-Media Timeline Editor and MultiTrack Editor each have a single image input port, and a real project has a dozen reference stills that need to land in a dozen different segments. This node is the adapter that makes that work: up to ten image inputs collapse into one IMAGE list, which the editors spread across their segments.
The README recommends it by name for exactly this job - use the newly added easy makeImageList node to create image lists for the editor's image input. It's also handy outside the editors: any list-aware node, loop, or reference-compositor that wants "an IMAGE list" is happy to eat this output.
How it works
Identical shape to its siblings (makeVideoList, makeAudioList): a loop over ten optional sockets, with a fill/skip toggle:
if v is not None:
images.append(v)
elif not skip_empty:
empty = torch.zeros(1, 1, 4, ...) # placeholder, keeps the slot
With skip_empty off (default), empty slots are filled with a tiny 1×1×4 placeholder tensor so the output list always has ten items and slot positions stay aligned. With it on, empty slots are skipped and the list compresses to exactly what you connected.
That positional contract is the whole game. Connect images to slots 1, 2, 4 and the list has placeholders at 2→wait, no: slot 1 is list index 0, slot 2 is index 1, slot 4 is index 3. The editor maps list index → segment, so fill mode keeps "the image I put in slot 3" attached to segment 3 even when other segments have no image. Skip mode is for when the list is just a plain collection and order is all you mean.
Inputs and output
skip_empty- fill vs. skip, as above.image1…image10- all optional. Connect as many as you need.IMAGEout - an image list (is_list output).
Setup and the small print
It's part of the pack, so install is the pack install: ComfyUI Manager → ComfyUI-Easy-Media, or git clone into custom_nodes + restart. Pure Python plumbing, no model files, no FFmpeg.
Worth knowing:
- Placeholders are real tensors (1×1×4). They're near-empty, so downstream code that touches every list item won't crash, but any consumer that assumes a real resolution will produce a blank/odd result - the editors handle empties as "no image for this segment," which is the intended behavior.
- Order is the contract.
image1is always index 0. If you want a particular image to hit a particular segment, put it in the matching socket rather than hoping for sorting.
Between this, makeVideoList, and makeAudioList, the pack gives you a consistent way to feed multi-segment media into its editors - and this one is the one you'll reach for first, because reference images are usually the reason you're doing multi-segment work at all.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| skip_empty | BOOLEAN | false | — |
| image1opt | IMAGE | — | |
| image2opt | IMAGE | — | |
| image3opt | IMAGE | — | |
| image4opt | IMAGE | — | |
| image5opt | IMAGE | — | |
| image6opt | IMAGE | — | |
| image7opt | IMAGE | — | |
| image8opt | IMAGE | — | |
| image9opt | IMAGE | — | |
| image10opt | IMAGE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |