Prompt /w Embedding (Mango)
Organize your prompt so embeddings aren't an afterthought
- STRING
Prompt /w Embedding (Mango) is the pack's prompt organizer with a dedicated embeddings lane. It takes four labeled text boxes - QualityTags, SceneDescription, Tags, and Embeddings - plus an optional free-form string, and concatenates whatever you fill in into one comma-separated prompt string. The whole trick is that embeddings get their own box, so easynegative, badhandv4, or whatever .safetensors embedding tokens you rely on sit in one obvious place instead of being buried at the end of a wall of tags.
It's the sibling of Prompt (Mango), which splits things into six boxes. This version is for when you want the prompt organized but your workflow's real concern is keeping the embedding tokens visible and separate from ordinary tags.
How it works
The mechanism is a clean concatenation: each non-empty box is stripped of surrounding whitespace, and the results are joined with , in fixed order - QualityTags, SceneDescription, Tags, Embeddings, then the optional string. Empty boxes are skipped entirely, so you never get dangling commas. That deterministic order is worth internalizing: whatever you put in QualityTags always lands first, which matters if your model wants quality tags up front. The Embeddings field is plain text just like the others - ComfyUI resolves embedding tokens like embeddings:name when the text goes through a CLIP Text Encode node, so you type the token normally.
Inputs and outputs
- QualityTags - put your
(masterpiece, best quality, highres:1.2)-style quality stack here. - SceneDescription - a natural-language sentence describing the scene.
- Tags - the comma-separated subject/style tags.
- Embeddings - your embedding tokens.
- string (optional) - a spare input, handy for wiring in the Trigger Exporter's output so LoRA trigger words get appended.
Output: a single STRING with everything joined. Wire it into a CLIP Text Encode node's text input, or into a Mango sampler's prompt_text metadata field.
Installing it
It's part of the Mango Node Pack:
cd ComfyUI/custom_nodes
git clone https://github.com/mang01010/MangoNodePack
Restart ComfyUI, or search "Mango Node Pack" in ComfyUI Manager. The README's only extra dependency is pip install safetensors.
Gotchas
The main trap is assuming the boxes do anything clever - they don't. There's no deduplication, no tag sorting, no embedding validation, and the order is fixed (QualityTags first, regardless of what you think "should" go first). If you paste a full prompt into Tags and put more tags in QualityTags, you'll get two comma-joined halves that still work, but the structure you thought you had isn't there. Also note the six-box Prompt (Mango) and this four-box version overlap heavily - pick one, don't chain them, or you'll get duplicate tags from double-splitting. For keeping your embeddings out of the tag soup, this is the tidy option.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| QualityTags | STRING | — | |
| SceneDescription | STRING | — | |
| Tags | STRING | — | |
| Embeddings | STRING | — | |
| stringopt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| STRING | STRING | — |