CLIP Text Encode [Positive + Wildcards] (Arctenox's Essentials)
CLIP encode with wildcards and the receipts to prove what ran
- clip
- conditioning
- text
- resolved_text
ComfyUI's stock CLIP Text Encode (Prompt) does one thing: encode a string into conditioning. This node does that and then gives you the string back - twice. CLIP Text Encode [Positive + Wildcards] is the positive-only encoder in Arctenox's Essentials, and its real selling point isn't the encoding, it's the two string outputs that ride along with the conditioning.
Inputs: text (your positive prompt, multiline), clip, and wildcard_seed (-1 for new picks each run, 0+ for locked/reproducible). The text field supports wildcards natively - {a|b|c} inline groups and __filename__ file tokens - so you can get prompt variety without wiring up a separate wildcard processor.
Outputs:
- conditioning - what you feed the sampler.
- text - the original string, unchanged, passed through so you can log it or route it to a metadata node.
- resolved_text - the prompt after wildcard resolution, i.e. the exact string that actually got encoded.
That third output is the hidden gem. When a generation comes out baffling, "what did the model actually see?" is the first question - and with wildcards in play the answer is usually "not what I typed." resolved_text gives you the literal string that hit the CLIP tokenizer, no hunting through console logs. Wire it to a text display or save it into image metadata and debugging a bad wildcard pick takes seconds instead of a rerun.
Two mechanical details worth knowing:
- When
wildcard_seedis-1, the node returns a specialIS_CHANGEDsentinel so ComfyUI re-executes it every run. Set-1and the wildcards genuinely change per run instead of being cached. - When it's a fixed seed,
IS_CHANGEDreturns that seed - stable input, stable output, reproducible runs.
Caveats, and they're real. This is a positive-only encoder - the negative prompt still needs a stock CLIP Text Encode (Prompt) (or the pack's equivalent). It's also aimed at CLIP-tokenized, tag-style models. Wildcard-driven tag lists shine on Pony/Illustrious/NoobAI workflows; if you're feeding an LLM-encoded model like Flux, the wildcard machinery still works on the string level, but the comma-tag habits that make wildcards shine matter less there. And if you don't use wildcards at all, the stock node plus this pack's sibling encoders will do fine - the string outputs are the reason to pick this one.
Install. Part of Arctenox's Essentials - ComfyUI Manager → search "Arctenox's Essentials", or:
cd ComfyUI/custom_nodes/
git clone https://github.com/Arctenox/Arctenoxs-Essentials_ComfyUI
Restart ComfyUI. Wildcard files live in the pack's wildcards/ directory or ComfyUI/wildcards/. Dependencies are the usual light trio - torch, numpy, optional psutil - so installation is a non-event. The pack is flagged deprecated in its README while the author remasters it, so the node may migrate to a successor pack; the behavior shouldn't change.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | Positive prompt. Supports wildcards: {a|b|c} → picks one option __filename__ → picks a random line from wildcards/filename.txt | |
| clip | CLIP | — | |
| wildcard_seed | INT | 0-1–18446744073709550000 | Seed for wildcard resolution. -1 = new random picks every run 0+ = locked / reproducible |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| conditioning | CONDITIONING | — |
| text | STRING | — |
| resolved_text | STRING | — |