CLIP Text Encode [Prompt Gen] (Arctenox's Essentials)
Your hand-written prompt, plus a tag generator's ideas, minus the overlap
- clip
- conditioning
- text
- resolved_text
The Prompt Generator in this pack is great at inventing coherent tag lists, but you rarely want it to write the whole prompt. You've got a character, a setting, a vibe you're keeping. CLIP Text Encode [Prompt Gen] is the glue node that lets the generator fill in the gaps instead of taking over: it encodes your hand-written prefix, appends the generator's output, and - this is the smart bit - strips any generator tags that already exist in your hand-written text before it does.
Inputs:
- text - your positive prompt prefix, multiline, wildcards supported.
- clip - the CLIP model.
- wildcard_seed -
-1for fresh wildcard picks per run,0+to lock them. - prompt_gen_output (optional) - connect the
promptoutput ofArctenoxPromptGeneratorhere. It gets appended to your text with", "as the separator.
Outputs mirror the pack's other encoder: conditioning (ready for a sampler), text (the original prefix), and resolved_text (the final combined string that actually got encoded).
The deduplication is the detail most people miss until they've stared at a generated prompt. Say your prefix is 1girl, blue_eyes, school uniform and the generator, walking from its seed tags, also lands on blue_eyes. Left to its own devices you'd encode blue_eyes twice. This node normalizes both sides (lowercase, spaces→underscores) and filters the generator's tags down to ones not already covered, so you get the generator's new ideas without paying for its redundancy. It compares against your prefix, not against its own output, which is the right trade: your words win.
Where this shines is a hybrid workflow - the one where the generator supplies the "what's in the scene" tags (which it's good at, since it's walking real Danbooru co-occurrence data) while you keep the character and composition fixed in text. Set the generator's seed and this node's wildcard_seed to fixed values and the whole thing is reproducible; leave them at -1 and every run is a fresh variation on your fixed premise. Batch it and you've got a poor-man's prompt explorer.
Caveats. This is positive-only - the negative prompt still needs its own encode node. It assumes the generator's output is comma-separated tags, which it is by design, so it's at home with tag-based anime models (Illustrious, Pony, NoobAI) and less obviously useful for natural-language models like Flux, where a random tag append is usually noise. Also note the dedup only catches exact matches after normalization - blue_eyes and sky blue eyes are different tags to it, which is fine, that's a semantics problem nobody's solving in a string node.
Install. Ships in 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. No model downloads beyond your checkpoint's CLIP, and no Python deps beyond torch, numpy, and optional psutil. The README marks the pack deprecated while its author remasters it - worth knowing, but the node works as documented today, and the skills (prefix + generated tags + dedup) map onto any pack that does the same job.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | Hand-written positive prompt prefix. The PromptGenerator output will be appended after this. Wildcards supported. | |
| clip | CLIP | — | |
| wildcard_seed | INT | 0-1–18446744073709550000 | Seed for wildcard resolution. -1 = new random picks every run 0+ = locked / reproducible |
| prompt_gen_outputopt | STRING | Connect the 'prompt' output of ArctenoxPromptGenerator here. It will be appended to text with ', ' as a separator. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| conditioning | CONDITIONING | — |
| text | STRING | — |
| resolved_text | STRING | — |