Text To Tokens SD3 (Shinsplat)
Three expanded prompt outputs plus a token stream for reweighting
- clip
- clip_l
- clip_g
- t5xxl
- _tokens
SD3-family models run three text encoders, which means three separate prompts to keep in sync. This node is the SD3-specific member of the pack's token family: it takes your three text areas, tokenizes them through the clip you wired in, and hands back three cleaned-up clip_l, clip_g, and t5xxl outputs you can pipe straight into any encoder's prompt areas - plus a combined _tokens stream for the token-weighting pipeline. Its whole value, per the README, is those duplicate outputs for stages that aren't token-encoded.
How it works
Mechanically it's a tokenizer front-end: clip.tokenize() runs over each of the three inputs, and the node exposes the expanded, directive-stripped text per stream so you can reuse the same prompt across multiple encoding stages without retyping it. The _tokens output is the structured, Python-dictionary-formatted token stream that Clip Tokens Encode (Shinsplat) consumes for per-token reweighting. Note the README's caveat: for the actual Tensor Toys pipeline, the plain Text To Tokens (Shinsplat) is the fully-compatible path (it works with SD3 too, with fewer outputs); this SD3 variant's added value is specifically the three per-stream text outputs.
The inputs and outputs
clip- the triple-encoder CLIP model, so token ids match what you'll encode with.clip_l,clip_g,t5xxl- the three text areas, mirroring the SD3 encoder's layout.
Outputs: clip_l, clip_g, t5xxl (each the expanded/cleaned text for that stream), and _tokens (the combined token stream for Clip Tokens Encode).
How to install it
Included with ComfyUI-Shinsplat:
cd ComfyUI/custom_nodes
git clone https://github.com/Shinsplat/ComfyUI-Shinsplat
or ComfyUI Manager → "ComfyUI-Shinsplat" → restart. No extra dependencies, no model downloads.
Common issues
- "Do I need this or the plain Text To Tokens?" - for feeding one encoder, either works; for duplicating a prompt across multiple non-token-encoded stages, this one's per-stream outputs are the point. If the SD3 variant misbehaves, the README says the plain one is the safe, backwards-compatible fallback.
_tokensis a string - remember it's meant for Clip Tokens Encode, not for direct tensor math.- Empty outputs on a clip without a t5 stream - an SD1.5-era clip won't have t5xxl data; this node is for SD3/Cascade-style models.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| clip | CLIP | — | |
| clip_l | STRING | — | |
| clip_g | STRING | — | |
| t5xxl | STRING | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| clip_l | STRING | — |
| clip_g | STRING | — |
| t5xxl | STRING | — |
| _tokens | STRING | — |