Shared Text Encoder Loader (Inspire)
One node for CLIP, dual, and triple encoders — cached
- clip
- cache key
Modern bases each want their text encoders loaded a specific way. SDXL needs two (CLIP-L + CLIP-G). Flux needs CLIP-L + T5. SD3 can take three (CLIP-L, CLIP-G, T5). In stock ComfyUI that means picking between CLIPLoader, DualCLIPLoader, and TripleCLIPLoader depending on the model - three different nodes for one conceptual job. This node collapses all of that into one, and caches the result in Inspire's backend so you're not reloading a fat T5 every time you switch graphs.
So it's two conveniences in one: a unified loader that handles single, dual, or triple encoders based on a dropdown, plus the same backend caching the other Shared loaders give you. If you juggle Flux and SD3 and SDXL workflows, this is one node instead of three, with a memory.
How it works
You tell it the architecture and hand it up to three encoder files; it figures out how to combine them for that base and loads the result, caching it under a key so a repeat request comes back from memory instead of disk. The node's own help text spells out the recipes - for example Flux is clip-l, t5, SDXL is clip-l, clip-g, SD3 can go single, dual, or triple. You just fill the slots that architecture needs and leave the rest as None.
The inputs and outputs that matter
model_name1,model_name2,model_name3- the encoder files. Fillmodel_name1always; addmodel_name2for dual (SDXL, Flux), all three for triple (SD3). Unused slots stayNone.type- the architecture:stable_diffusion,sdxl,sd3,flux,hunyuan_video,ltxv,pixart,cosmos,mochi,stable_audio,stable_cascade. This is the input that actually matters - it decides how the encoders combine. Match it to your base or the conditioning comes out wrong.key_opt- optional cache key; blank keys on the model names.mode(Auto/Override Cache/Read Only) - normal caching, forced reload, or read-only reuse.device(optional:default/cpu) - force the encoders onto CPU to save VRAM. Handy on tight cards, since text encoders don't need to be on the GPU during sampling; costs a little speed at encode time.
Outputs: clip (into your CLIP Text Encode nodes) and a cache key string for eviction via Remove Backend Data (Inspire).
Installing it
Ships with the Inspire Pack by Dr.Lt.Data - ComfyUI Manager and Impact Pack author, so trustworthy, well-kept tooling. Via ComfyUI Manager: search ComfyUI Inspire Pack, install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/ltdrdata/ComfyUI-Inspire-Pack
then restart. No extra dependencies - but you do need the encoder files themselves (CLIP-L, CLIP-G, the T5 variants) in your text_encoders/clip folder, same as any CLIP loader.
Common issues
Garbled or ignored prompts. Nine times out of ten it's the type set wrong, or the wrong encoder in a slot. Flux with only CLIP-L and no T5 will produce weak adherence; SD3 fed as sdxl won't combine the encoders right. Match type to your base and use the node's recipe hint to fill the correct slots.
VRAM stays high after switching. The cached encoders are resident until evicted - that's the caching trade. Set device to cpu to keep them off the GPU, or use the cache key with Remove Backend Data (Inspire) to clear them.
Swapped an encoder file, still using the old one. Run once with mode = Override Cache, then back to Auto.
Nodes won't load after install. Read the terminal log - usually a version mismatch. Update Inspire Pack and Impact Pack together and restart.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| model_name1 | COMBO | 0 options: | |
| model_name2 | COMBO | 1 options: None | |
| model_name3 | COMBO | 1 options: None | |
| type | COMBO | 11 options: stable_diffusion, stable_cascade, sd3, stable_audio, mochi, ltxv, +5 | |
| key_opt | STRING | — | |
| mode | COMBO | 3 options: Auto, Override Cache, Read Only | |
| deviceopt | COMBO | 2 options: default, cpu |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| clip | CLIP | — |
| cache key | STRING | — |