Prompt Format + Encode (Cyberdelia)
Format your prompt and encode it in the same pass
- clip
- conditioning
- prompt
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_hair → long 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 feedCLIPTextEncode. 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 andscore_9becomesscore 9, which no model was trained on. Addscore_9, score_8_up, score_7_upor the wildcardscore_*.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.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| clip | CLIP | — | |
| text | STRING | — | |
| dedupe | BOOLEAN | true | — |
| remove_underscores | BOOLEAN | true | — |
| append_comma | BOOLEAN | true | — |
| exclusionsopt | STRING | — | |
| aliasesopt | STRING | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| conditioning | CONDITIONING | — |
| prompt | STRING | — |