Nodes/babydjac Nodes/Prompt Rotator (Dynamic Batch)
ComfyUI Node

Prompt Rotator (Dynamic Batch)

Batch Them All in One Node

By babydjac·Created 7 months ago·Updated 5 months ago· 12
Prompt Rotator (Dynamic Batch)
    • prompts
    prompt_1

    The Prompt Rotator (Dynamic Batch) solves a stupidly common problem: you want to test five prompts against the same seed, or sweep a LoRA at three strengths, and the "easy" answer is five copy-pasted text nodes feeding five parallel samplers. This node is the easier answer. You type prompts into one node, hit "Add Prompt" a few times, and get a clean list out the back.

    It comes from babydjacNODES, a personal utility pack by the solo dev who goes by babydjac on GitHub (u/Zealousideal_Can6340 on Reddit). It's not a big-name pack - it's one person's "I got tired of weak workflows" toolset - and this node is one of the genuinely useful bits.

    How it works

    Under the hood it's almost embarrassingly simple: the node takes a bunch of string inputs (prompt_1, prompt_2, …), collects every non-empty one, and returns them as a single STRING list, ordered by slot number. The magic is all in the frontend. A JavaScript extension hides the raw prompt_1 widget and replaces it with a scrollable stack of textareas plus an "Add Prompt" button, so you never see the plumbing - you just get a neat little prompt list editor on the canvas.

    That list output is the point. Instead of five text encoders, you feed the list to whatever takes a list - a batch loop, an iterator, or a node that fans a list out into parallel sampling. Run once and everything executes.

    The inputs that matter

    Honestly there's one input worth touching: the Add Prompt button. Each textarea becomes a slot, empty slots are skipped, and the output order is slot order. The required prompt_1 field is technically there in the schema but the UI hides it - just use the editor.

    The single output, prompts, is a STRING list. Don't try to wire it straight into a plain CLIPTextEncode - that wants one string, not a list. You need something list-aware in between, which is exactly how this node is meant to be used.

    Install

    ComfyUI Manager → search babydjacNODES, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/babydjac/babydjacNODES
    

    Restart ComfyUI, and hard-refresh the browser - this one ships JavaScript, so a soft reload won't pick it up. No extra pip packages; the pack leans on requests/Pillow/numpy that ComfyUI already bundles.

    Gotchas

    • Output order is by slot number, sorted - not insertion order from the DOM. If you reorder textareas, the output order follows the slot, which can surprise you when you're doing A/B comparisons.
    • Every queue run re-emits the whole list. If you only want one item at a time, the sibling No-Repeat Picker in the same pack is the better tool; this node's job is "give me everything at once."
    • The pack's announcement thread on r/comfyui got a genuinely mixed reception - the top comment called the whole pack "arrogant." Take the personality with a grain of salt; the node itself works as advertised.

    For A/B style tests, character consistency checks, or LoRA strength sweeps, this is the one node in the pack I'd reach for without hesitation. It removes friction without hiding anything important.

    CategorybabydjacNODES/Utils/Batching

    Inputs (1)

    NameTypeDefaultDescription
    prompt_1STRING

    Outputs (1)

    NameTypeDescription
    promptsSTRING