weight3Text
Three prompt blocks, three weight sliders, one CLIP-weighted prompt
- text
weight3Text is the pack's fixed-format combiner: exactly three text blocks, each with its own weight slider, merged into one prompt where each block gets wrapped in the emphasis syntax (text:weight) automatically. If you've ever typed (detailed face:1.3), (studio lighting:1.2), (blue dress:1.1) by hand and then had to edit three separate places, this node is you. You set the slider, it does the wrapping.
How it works
Each of the three inputs is a pair: a multiline text box and a weight float. The weight range is 0 to 1.95 in steps of 0.05, defaulting to 1. When the node runs, it applies the emphasis rule from the pack's utils.py:
- weight exactly 1 → the text passes through unwrapped (no syntax noise when you don't need emphasis)
- any other weight → wrapped as
(your text:1.35) - empty text, or a weight of 0 → skipped entirely
The surviving blocks are joined with ", " and come out as one string. So you end up with something like character, (detailed face:1.4), (dark background:0.8) - and if you drop a weight to 0, that block simply vanishes from the output, which is a neat way to A/B-test a fragment without deleting it.
The inputs that matter:
- text_1 / text_2 / text_3 - the three multiline blocks.
- weight_1 / weight_2 / weight_3 - per-block emphasis, 0–1.95.
- text - the output string, ready for a CLIP Text Encode.
The honest caveat about emphasis
The (text:weight) syntax is CLIP attention weighting, and it only works on models whose text encoder actually parses it - SD 1.5, SDXL, and their derivatives. On LLM-encoded models (Anima, Chroma, and the newer instruction-following text encoders), that syntax is not a control signal; it's fed to the encoder as literal punctuation inside your prompt, which is worse than nothing. So this node is genuinely useful on a Pony or Illustrious workflow, and actively counterproductive on an LLM-encoded one - there you'd just write your emphasis in words. The knowledge base's prompt-engineering doc is blunt about this, and it's the biggest "gotcha" on the page. Also note the cap: 1.95, not 2.0, which is this author's choice and honestly a fine one - past ~1.5 you're mostly buying oversaturation anyway.
When to pick it vs. the siblings
Three fixed blocks is a small, honest surface - no dynamic slots, no JS magic beyond the weight display. If your prompt has a stable structure (subject / style / quality tags), weight3Text is the least surprising node in the family. If you need more than three fragments or variable counts, go weightMultiText, which is this same mechanism with up to 20 dynamic pairs.
Installation
No dependencies, no downloads. Install once via ComfyUI Manager (search ComfyUI-Text-Utils-sp) or:
cd ComfyUI/custom_nodes
git clone https://github.com/sp8999/ComfyUI-Text-Utils-sp.git
Restart ComfyUI, find it under text_utils_sp. Per the README it's tuned for the Nodes 2.0 frontend - on the older v1 renderer the widgets work but can render at the wrong size.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| text_1 | STRING | — | |
| weight_1 | FLOAT | 1.000–1.95 | — |
| text_2 | STRING | — | |
| weight_2 | FLOAT | 1.000–1.95 | — |
| text_3 | STRING | — | |
| weight_3 | FLOAT | 1.000–1.95 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| text | STRING | — |