Nodes/ComfyUI_ScarlotSoft/ScarlotSoft Prompt Builder Pro
ComfyUI Node

ScarlotSoft Prompt Builder Pro

Every file gets its own output — ScarlotSoft Prompt Builder Pro

By scarlotsoft·Created 2 months ago·Updated about a month ago· 0
ScarlotSoft Prompt Builder Pro
  • model
  • clip
  • MODEL
  • CLIP
  • GLOBAL PROMPT
  • LOADED LORAS
  • File 1
  • File 2
  • File 3
  • File 4
  • File 5
  • File 6
  • File 7
  • File 8
  • File 9
  • File 10
  • File 11
  • File 12
  • File 13
  • File 14
  • File 15
  • File 16
  • File 17
  • File 18
  • File 19
  • File 20
string_a
string_b
file_data[]

The plain Prompt Builder + AutoLoader is a one-bucket assembler: everything gets mixed into a single prompt. Prompt Builder Pro is the version for people who need their prompt parts to stay separate. Same inputs - model, clip, string_a, string_b, and a file_data list of up to 20 file entries - but the outputs tell the different story: a GLOBAL PROMPT, a LOADED LORAS report, and then twenty individual File 1 through File 20 outputs, one per configured file, each carrying that file's line on its own.

Why would you want that? Because sometimes you don't want one big prompt - you want five sections that feed five different things: a background prompt from file 1, a subject prompt from file 2, a character-LoRA text from file 3 that goes to its own encoder, and so on. Each File N output is a plain STRING you can route independently, while GLOBAL PROMPT carries only the two fixed text boxes (string_a/string_b) - the author positions it as the "background/global" slot. Meanwhile the LoRA/embedding auto-loading still works across all of it: the node scans the global text and every file's line for <lora:name:strength> and embedding:name tags, fuses the LoRAs into model/clip, strips the tags from every emitted string, and reports what it did.

The mechanism is the same as its little sibling - file entries in JSON built by a custom UI, each with path, Auto/Index mode, index, and on/off; Auto mode cycles a line per run; path traversal is blocked. The difference is bookkeeping: it keeps each file's selected line in its own slot instead of mixing, which makes the graph far more readable when your pipeline genuinely treats prompt regions as separate inputs. The File outputs stay aligned to your file list - an entry with its toggle off still occupies its slot, just with an empty string - and the frontend hides unused outputs so you don't stare at 20 dangling sockets.

The costs: it's a big node, and it's only as organized as your file list. Keep the entries in a stable order, or you'll be tracing "which File N is the background?" across runs. Also remember the same token caveat as any text-heavy graph - if you rejoin several File outputs into one prompt, the combined text still has to fit the CLIP encoder's token budget; this node keeps parts separate, it doesn't give you more tokens.

Install with the pack - ComfyUI Manager → search ScarlotSoft → install → restart:

cd ComfyUI/custom_nodes
git clone https://github.com/scarlotsoft/ComfyUI_ScarlotSoft

No extra dependencies. Suite theme; hard-refresh after a UI-mode switch if the outputs don't render.

Verdict: this is the more grown-up version and the one to reach for when your prompt is genuinely modular - multi-character scenes, per-region conditioning, or character-text libraries where each file is one character's tags. If you only ever want one assembled prompt, the non-Pro builder is simpler. If your workflow thinks in sections, this is the one.

CategoryScarlotSoft/Prompt/Lora/Text

Inputs (5)

NameTypeDefaultDescription
modelMODEL
clipCLIP
string_aSTRING
string_bSTRING
file_dataSTRING[]

Outputs (24)

NameTypeDescription
MODELMODEL
CLIPCLIP
GLOBAL PROMPTSTRING
LOADED LORASSTRING
File 1STRING
File 2STRING
File 3STRING
File 4STRING
File 5STRING
File 6STRING
File 7STRING
File 8STRING
File 9STRING
File 10STRING
File 11STRING
File 12STRING
File 13STRING
File 14STRING
File 15STRING
File 16STRING
File 17STRING
File 18STRING
File 19STRING
File 20STRING