List Create (Multi-Input)
Build a list by plugging in up to eight things
- input_1
- input_2
- input_3
- input_4
- input_5
- input_6
- input_7
- input_8
- list
- count
Lists don't grow on trees in ComfyUI. You've got a set of prompts, or a set of tags, or a set of numbers, and you want them as one list so a list-processing node can chew through them. List Create is the funnel: plug in up to eight inputs, and out comes a single list plus a count. It's the node you reach for when you're hand-assembling the data you want processed in batch.
It's part of DebugPadawan's ComfyUI Essentials, a small MIT-licensed utility pack with a whole family of list nodes - filter, slice, shuffle, dedup, merge, inspect. This one is the constructor.
How it works
Eight optional inputs, imaginatively named input_1 through input_8, each a wildcard that accepts any type. At execution, the node collects every input that isn't None, in order, and packs them into a list. Two practical consequences fall right out of that:
- Unconnected inputs are skipped. Wire up three inputs and you get a three-element list; the other five slots quietly don't count. The count output reflects what's actually there, not how many sockets exist.
- The order is fixed.
input_1is always first. List order matters downstream (indexing, shuffling, merging), so keep your wiring deliberate.
Inputs and outputs that matter
- input_1 … input_8 - all optional, all wildcard. Mixed types are technically allowed, but the pack's downstream list nodes expect consistent types, so keep one list one type.
Outputs: list (the assembled LIST) and count (INT, how many items made it in).
Install
Standard custom-node fare:
cd ComfyUI/custom_nodes
git clone https://github.com/DebugPadawan/DebugPadawans-ComfyUI-Essentials.git
Restart ComfyUI, or install via ComfyUI Manager by searching "DebugPadawan". requirements.txt lists numpy, torch, and opencv-python - numpy and torch already ship with ComfyUI and the shipped code never imports cv2, so no heavy downloads, no model files, no API keys.
Where people get burned
- Assuming all eight slots must be filled. They don't - and if you want an empty slot to count, there's no way to say so; None values are always dropped. If you need a placeholder, wire in an actual empty-string or zero value.
- Type drift. It's easy to feed three strings and a number and get a list that breaks a downstream string filter. Keep it uniform.
- LIST is a custom wire type. The
LISToutput connects to other list-aware nodes in this pack (and packs that speak the same type). It won't magically plug into a node expecting a single STRING - convert first if you need one value out.
A clean use: build a list of prompts, run it through List Filter or List Shuffler, and feed the result into a batch-processing loop.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| input_1opt | * | — | |
| input_2opt | * | — | |
| input_3opt | * | — | |
| input_4opt | * | — | |
| input_5opt | * | — | |
| input_6opt | * | — | |
| input_7opt | * | — | |
| input_8opt | * | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| list | LIST | — |
| count | INT | — |