Prompt Builder (CLIP) — ComfyUI custom node
Stop scrolling through one giant wall of text. Prompt Builder lets you split your prompt into named, reorderable fields (Character, Face, Clothing, Background, Lighting…) and merges them into a single prompt, encoded straight to CONDITIONING.
Features
Dynamic fields – add as many as you need with one click
Custom names – label each field however you like (the names are for you only and are not added to the prompt)
Reorder – move fields up/down with ▲ / ▼; the order defines the final prompt order
Toggle on/off – disable a field with a checkbox without deleting its text
Resizable text boxes – the height you set is remembered and never resets
Saved with the workflow – fields, text and sizes are restored when you reopen it
Custom separator – default
,, change it to anything you wantClean merging – empty fields are skipped, stray commas at field edges are trimmed
Inputs / Outputs
Type Name Description Input clip CLIP model Output CONDITIONING Encoded prompt, plug into your sampler Output prompt Final merged prompt as a string (handy for debugging)
Installation
Go to
ComfyUI/custom_nodes/Create a folder named
prompt_builderPut the files inside so it looks like this:
ComfyUI/custom_nodes/prompt_builder/
├── __init__.py
└── js/
└── prompt_builder.js
Restart ComfyUI and hard-refresh the page (Ctrl+F5)
Double-click the canvas, search Prompt Builder, or find it under
conditioning/prompt
Usage
Connect your
CLIPto the nodeClick + Add field, name it and write your text
Reorder with ▲ / ▼ until the prompt reads the way you want
Connect
CONDITIONINGto your sampler (positive or negative, just use a second node for the other one)
Example
Field Text Character 1girl, red hair, long hair Face detailed face, green eyes, smile Clothing black leather jacket, white t-shirt
Result:
1girl, red hair, long hair, detailed face, green eyes, smile, black leather jacket, white t-shirt
Notes
No extra dependencies, pure ComfyUI.
Uses the standard
clip.tokenize+encode_from_tokens_scheduled, so it works with any CLIP-based model.If an existing node looks wrong after an update, delete it and add a fresh one.
Feedback and suggestions are welcome in the comments!
