Nodes/Bubba Nodes/Bubba Character Prompt Builder
ComfyUI Node

Bubba Character Prompt Builder

Bubba Character Prompt Builder

By bubbafett5611·Created 5 months ago·Updated 2 months ago· 0
Bubba Character Prompt Builder
  • pipe
  • metadata
  • clip
  • pipe
  • metadata
  • positive
  • negative
  • positive_prompt
  • negative_prompt
appearance
body
clothing
pose
expression
scene
style_tags
quality_tags
negative_tags
format_modehybrid
cleanuptrue
dedupetrue

If you generate the same character more than twice, you already know the pain: a prompt that's half hair color, half outfit, half "you know, that person with the scar," copy-pasted and edited by hand every run. Bubba Character Prompt Builder is the structured answer. You split the prompt into slots - appearance, body, clothing, pose, expression, scene, style, quality - and it assembles the positive and negative prompts for you, optionally CLIP-encodes them, and hands both back along with a pipe.

It's part of the Bubba Nodes pack, which is built around a BUBBA_PIPE object that carries your model, CLIP, VAE, latent, and a BUBBA_METADATA block through the whole workflow. So this node doesn't just make a string; it slots cleanly into a pipeline where a Combo Loader feeds it a pipe, it updates the prompts inside that pipe, and Bubba KSampler picks them up downstream. That's the whole point of the pack - fewer loose wires, provenance that travels with the image.

What to actually set

Nine multiline fields do the work: appearance, body, clothing, pose, expression, scene, style_tags, quality_tags, and negative_tags. Don't overthink the split - a field can hold one tag or a whole paragraph. The only other input you'll touch day to day is format_mode:

  • booru - comma-separated tags, the house style of Illustrious/Pony/NoobAI checkpoints. Default style for the anime SDXL crowd.
  • prose - natural language sentences, better for instruct-tuned models where a comma list reads as noise.
  • hybrid (default) - a middle ground; tags plus assembled phrasing.

cleanup normalizes whitespace and separators before output, and dedupe kills duplicate tags case-insensitively while keeping the first spelling and order. Leave both on. If a tag genuinely needs to repeat, that's what escaping is for.

The clip input is optional, but if you want the positive and negative CONDITIONING outputs, a CLIP has to come from somewhere - either wire one in or rely on the pipe's clip (which a Bubba loader supplies). No clip, and the node will still give you the assembled positive_prompt/negative_prompt strings, just not the conditioning.

Why you'd reach for it

Two reasons, really. First, consistency: your character's base appearance lives in the appearance slot and doesn't drift between runs while you fiddle with scene and pose. Second, the autocomplete. Bubba's frontend extension reads danbooru and e621 tag CSVs, so typing in these multiline fields gives you real tag suggestions - type __ to browse bundled wildcard files, hit Tab to insert. For a tag-heavy hobby, that's the difference between remembering "aqua_eyes" and finding it.

If this all feels like a lot for a prompt, you're not wrong that it overlaps with Bubba Simple Prompt Builder (the flat-text version) and Prompt Randomizer (JSON-backed). The Character builder is the one you want when the character is the constant and the scene is the variable - think batch generations of one OC, or a merge-preview workflow where you need the same subject across four candidate models.

Install

Bubba Nodes is a single-pack install - search "Bubba Nodes" in ComfyUI Manager, or:

cd ComfyUI/custom_nodes
git clone https://github.com/bubbafett5611/Bubba_Nodes

then restart ComfyUI. The pack needs aiohttp and pydantic (its requirements.txt installs them) and targets ComfyUI 0.27.0+, so update ComfyUI if a node fails to appear. No model files to download for prompt nodes.

One trap: the prompt fields feed the autocomplete, and if the tag CSVs haven't been fetched you get a degraded fallback list. If suggestions look thin, use ComfyUI settings → Bubba: Local CSV Sync + Cache to rebuild the cache once.

CategoryBubba Nodes/Prompt

Inputs (15)

NameTypeDefaultDescription
appearanceSTRING
bodySTRING
clothingSTRING
poseSTRING
expressionSTRING
sceneSTRING
style_tagsSTRING
quality_tagsSTRING
negative_tagsSTRING
format_modeCOMBOhybrid3 options: booru, prose, hybrid
cleanupBOOLEANtrue
dedupeBOOLEANtrue
pipeoptBUBBA_PIPE
metadataoptBUBBA_METADATA
clipoptCLIP

Outputs (6)

NameTypeDescription
pipeBUBBA_PIPE
metadataBUBBA_METADATA
positiveCONDITIONING
negativeCONDITIONING
positive_promptSTRING
negative_promptSTRING