Nodes/Cyberdelia Prompt Format/Prompt Format + Encode (Cyberdelia)
ComfyUI Node

Prompt Format + Encode (Cyberdelia)

Format your prompt and encode it in the same pass

By cyberdeliaAI·Created 4 months ago·Updated 2 months ago· 1
Prompt Format + Encode (Cyberdelia)
  • clip
  • conditioning
  • prompt
text
dedupetrue
remove_underscorestrue
append_commatrue
exclusions
aliases

Prompt Format + Encode (Cyberdelia) is the same cleanup as its sibling Prompt Format (Cyberdelia) with the text encoder bolted on the end. Instead of chaining a format node into a CLIPTextEncode, you get one node that takes raw text plus a CLIP model and hands you finished conditioning. If you already know you want the prompt cleaned before encoding - which, honestly, you should - this is the tidy version of the graph.

What it actually does

Mechanically it's exactly what it looks like: the node runs the same formatter as the standalone CyberdeliaPromptFormat, then feeds the result into clip.tokenize() followed by clip.encode_from_tokens_scheduled(). The source literally constructs a PromptFormatNode, formats with it, and encodes. So you get all the same cleanup - dedupe, long_hairlong hair, bracket/colon spacing fixes, trailing commas on multi-line prompts, and <lora:...> tags stripped - and then the CLIP pass, all in one execution.

The reason to use it over the two-node version isn't magic; it's convenience and one less wire in your graph. But there's a genuinely useful second output hiding in it: alongside conditioning it also returns prompt, the cleaned string. That's not just decoration - it's a debugging window. Wire prompt into a text display node and you can see exactly what got encoded, which is invaluable the first time you wonder why your carefully crafted score_9 prompt suddenly has different vibes.

Inputs and outputs

The inputs are the format node's set plus one:

  • clip - your CLIP model, the same one you'd feed CLIPTextEncode. Load it with a checkpoint loader or a dedicated CLIP loader.
  • text - the raw prompt, multiline.
  • dedupe, remove_underscores, append_comma - all default true, all usually left alone.
  • exclusions - protect tags from underscore removal. This matters: leave it empty on a Pony prompt and score_9 becomes score 9, which no model was trained on. Add score_9, score_8_up, score_7_up or the wildcard score_*.
  • aliases - regex rules that merge variants into one tag (1girl: girl, woman, lady).

Outputs are conditioning (wire it into your KSampler's positive - or negative, since cleaning your negative is just as worthwhile) and prompt (the cleaned text, for inspection or as a string source elsewhere).

Install

ComfyUI Manager, search "Cyberdelia Prompt Format", install. Or:

cd ComfyUI/custom_nodes
git clone https://github.com/cyberdeliaAI/comfyui-cyberdelia-prompt-format

Restart ComfyUI. Zero dependencies, no model downloads - the pyproject.toml declares an empty dependency list, which makes this one of the cleaner installs in the custom-node ecosystem.

Things to know

  • Formatting isn't realtime. The node cleans on workflow execute, not as you type. For live cleanup there's the pack's ✨ Format button injected into the stock encoder nodes - handy, but it doesn't expose exclusions or aliases, so the moment you need score_* protection you're back to chaining this node (or its plain sibling).
  • The pack was renamed from ComfyUI-PromptFormat. Node names are unchanged, so existing workflows load fine - just reinstall under the new name.
  • Don't reach for this on LLM-encoded models. The KB's prompt-engineering doc is blunt: on 2026-era models like Z-Image or Flux, prompt weighting is discarded and the whole tag-cleaning premise belongs to the CLIP era - SDXL, Illustrious, Pony, NoobAI. If your checkpoint is Qwen- or Mistral-encoded, this node's fixes are mostly cosmetic. Check what your model is built on before you build a workflow around it.
  • <lora:...> tags are stripped, silently. Migrating an A1111 prompt? Load your LoRAs through a LoRA loader node instead - that's proper ComfyUI practice, and this node will quietly eat any inline tags you forgot.
CategoryCyberdelia/text

Inputs (7)

NameTypeDefaultDescription
clipCLIP
textSTRING
dedupeBOOLEANtrue
remove_underscoresBOOLEANtrue
append_commaBOOLEANtrue
exclusionsoptSTRING
aliasesoptSTRING

Outputs (2)

NameTypeDescription
conditioningCONDITIONING
promptSTRING