Clip Text Encode ALT (Shinsplat)
BREAK, END, and a kill switch for clip_l artifacts
- clip
- CONDITIONING
- _prompt_out
The full Clip Text Encode (Shinsplat) is a five-output Swiss army knife, but a lot of the time you just want a clean replacement for the stock encoder that understands BREAK and END without the extra ports cluttering your graph. That's this node: the "ALT" is short for alternative, and it strips the flagship encoder down to two outputs - the CONDITIONING and a _prompt_out string - while keeping the two features people actually came for.
How it works
Same mechanism as the main encoder: text is intercepted before it reaches clip.tokenize(), the uppercase END directive chops everything after it, and BREAK is honored as a block boundary. The difference is the clip_l toggle. Where the big node's clip_l switch duplicates your text into the clip_l stream for the t5 model, this one's clip_l (default on) is explicitly the author's recommendation against: he wrote that clip_l data "can introduce artifacts and hallucinations for Flux when the data is already present in T5," and created this node to make stripping it a single switch. Flip clip_l off, and the l token stream gets replaced with empty tokens before encoding.
That's the real reason to reach for ALT over its sibling. On Flux workflows where the T5 already carries the full meaning, dropping clip_l is a known artifact-fighter, and this is the cleanest place to do it.
The inputs and outputs
text- your prompt,BREAK/ENDdirectives welcome.clip- the CLIP model.clip_l- default true. Turn off to strip the clip_l stream (the Flux artifact fix).prompt_before/prompt_after- optional prepend/append text inputs, the same as the main node.
The _prompt_out output is worth a moment: it contains the text from the encoder block only - the author notes it deliberately excludes prompt_before/prompt_after - so it's the canonical cleaned prompt string to wire into other nodes without retyping it.
How to install it
It ships in ComfyUI-Shinsplat, so install once:
cd ComfyUI/custom_nodes
git clone https://github.com/Shinsplat/ComfyUI-Shinsplat
or use ComfyUI Manager (search "ComfyUI-Shinsplat") and restart. No dependencies beyond the pack itself, no model files to download.
Common issues
- The
promptoutput vs_prompt_outmismatch - ALT's output is intentionally just the main text box, not the before/after additions. If your downstream node expects the full assembled prompt, use the flagshipClip Text Encode (Shinsplat)instead, which outputs the complete picture viaprompt_out. - "clip_l doesn't exist on my clip" - only relevant if you somehow wire a non-standard clip; on normal checkpoint/CLIP-loader output it's a no-op safe switch.
- Images differ from stock ComfyUI - normal for all Shinsplat encoders; the tokenizer restructures data, so expect the same seed to sample differently. Not a bug.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | The text to be encoded. | |
| clip | CLIP | The CLIP model used for encoding the text. | |
| clip_l | BOOLEAN | true | — |
| prompt_beforeopt | STRING | — | |
| prompt_afteropt | STRING | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| CONDITIONING | CONDITIONING | A conditioning containing the embedded text used to guide the diffusion model with directives. |
| _prompt_out | STRING | — |