Nodes/qwen3-vl-comfy-ui/Qwen3-VL Prompt List Builder
ComfyUI Node

Qwen3-VL Prompt List Builder

Flatten a batch's worth of captions into one list for batch generation

By Granddyser·Created 10 months ago·Updated 9 months ago· 44
Qwen3-VL Prompt List Builder
    • prompt_list
    • count
    batch_text
    clean_prefixtrue
    separatornewline

    Where Prompt Splitter hands you captions one at a time by index, Qwen3-VL Prompt List Builder does the opposite: it takes the same batch output and flattens all the captions into a single string, one per line (or separated however you like), plus a count. If your downstream target is a batch image-generation node - something that wants a whole list of prompts in one text field - this is the node that feeds it.

    Think of the pipeline. You run Qwen3-VL Batch Run (Folder) over a folder of reference images and get a blob of === filename === blocks. That blob is great for humans reading results top-to-bottom, but it's the wrong shape for a batch sampler, which wants "prompt one, prompt two, prompt three" as a flat list. Prompt List Builder does the reshape: parse the batch output, strip the filename markers, join the remaining captions, done.

    The three inputs

    • batch_text (STRING, multiline) - the batch output, pasted or wired from Batch Run.
    • clean_prefix (BOOLEAN, default true) - strips the Next Scene: prefix from each caption, same as the splitter. On by default; turn it off if your downstream generator actually wants the prefix.
    • separator (enum) - how to join the captions: newline (default), |||, or ;;;. This is the knob that matches whatever your downstream node expects. Newline is the safe default for most batch prompt inputs; the custom separators exist because some nodes parse on a specific delimiter.

    The two outputs

    • prompt_list (STRING) - all captions joined by the separator, filename markers gone. Straight into your batch generation node's prompt field.
    • count (INT) - how many prompts ended up in the list. Handy for sanity checks (did the batch really caption all 200 images?) and for configuring a batch sampler's count.

    What it doesn't do

    Worth being explicit, because the name invites the assumption: this node does not build prompts from scratch, and it does not apply any per-prompt logic. It's a formatter. If you feed it text that isn't in the === filename === batch format, it treats the whole string as one prompt and returns count = 1 - no error, just a uselessly flat list. If you need one caption extracted at a time with its filename, that's Prompt Splitter's job; these two are the split-into-one and flatten-into-many halves of the same parser.

    Where it fits

    The classic use: batch-caption a folder of reference images with Batch Run, run the output through Prompt List Builder, and hand prompt_list to a batch image-generation node so each caption becomes the prompt for regenerating its source image (or a variant of it). The count output tells you how many generations you're about to kick off, which is a nice last checkpoint before you queue up 200 jobs.

    Install once via ComfyUI Manager (search "qwen3-vl-comfy-ui") or cd ComfyUI/custom_nodes && git clone https://github.com/Granddyser/qwen3-vl-comfy-ui && pip install -r requirements.txt, restart, and you'll find it under Qwen3-VL with the rest of the batch helpers. It's a small node - a parser, really - but it's the one that closes the loop between "folder captioned" and "batch generated."

    CategoryQwen3-VL

    Inputs (3)

    NameTypeDefaultDescription
    batch_textSTRING
    clean_prefixBOOLEANtrue
    separatorCOMBOnewline3 options: newline, |||, ;;;

    Outputs (2)

    NameTypeDescription
    prompt_listSTRING
    countINT