QUEUE (JOV) ๐
Cycle a list of files or strings through your workflow
- *
- ๐
- ๐งฎ
- โน๏ธ
- #๏ธโฃ
QUEUE is the "batch everything without babysitting it" node. You paste a list of items - file paths, prompts, whatever - and each time the workflow runs, it hands out the next item and advances a counter. That's the whole loop, and it's what turns a one-shot workflow into something that chews through a whole folder of images while you go make tea.
Mechanically it's a stateful iterator with a memory. The ๐ input is a multiline string; put one item per line. ๐ sets the current index (start at 0 and it steps forward every run), and BATCH controls how many items get emitted per execution - 0 means one at a time. โ (Wait) pauses advancement, and RESET jumps the counter back to the top. Because it remembers where it is, the same workflow run repeatedly walks the list; a run that ends the list just starts over. That statefulness is also the reason people get confused: if you edit the list mid-run, the index can point somewhere unexpected, so hit RESET (or toggle it) to realign.
Outputs: the current item as * (any type), the entire queue as a list, the current index (๐งฎ, INT), the current item as a string (โน๏ธ), and the total count (#๏ธโฃ, INT). The string output is the sneaky-useful one - you can feed it into a text prompt or a filename without touching an image at all. The "current item" output is the one you'd wire into an image loader for folder batch jobs.
Where this shines in practice: batch upscaling a folder of images (list paths, feed the current item into a Load Image, let it rip), cycling through prompt variations, or running the same animation across N input frames. The README frames it as "recursing directories, filtering multiple file types and batch loading," and it's genuinely the node people reach for when they don't want to wire up a scheduler.
One real-world trap, straight from a ComfyUI forum thread: someone was feeding MP4 paths into QUEUE for a video upscale and hit Error loading image: cannot identify image file '...mp4'. That's QUEUE calling its image loader on something that isn't an image. Fix: QUEUE is for images and strings - for video and general media, use its sibling QUEUE TOO (JOV), which is purpose-built for media files. Don't fight QUEUE into loading video; grab the right tool.
Install is the pack-wide routine - ComfyUI Manager, search "Jovimetrix", or:
cd ComfyUI/custom_nodes
git clone https://github.com/Amorano/Jovimetrix.git
pip install -r Jovimetrix/requirements.txt
then restart. Dependencies are the shared light set (numpy, opencv-contrib-python, Pillow, matplotlib, the cozy-comfyui helpers), no model downloads. The usual pack caveats apply: keep ComfyUI at 0.1.3+ with a recent frontend, and remember that Jovimetrix split streaming/GLSL nodes into separate Jovi_* packs in v2.0 - QUEUE stayed put.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| ๐opt | STRING | โ | |
| ๐opt | INT | 0 | โ |
| BATCHopt | INT | 0 | โ |
| โ๐ฝopt | BOOLEAN | false | โ |
| RESETopt | BOOLEAN | false | โ |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| * | * | โ |
| ๐ | * | โ |
| ๐งฎ | INT | โ |
| โน๏ธ | STRING | โ |
| #๏ธโฃ | INT | โ |