Nodes/ComfyUI-ELLA/T5 Text Encode #ELLA
ComfyUI Node

T5 Text Encode #ELLA

Where your prompt becomes embeddings ELLA can use

By TencentQQGYLab·Created 2 years ago·Updated 2 years ago· 382
T5 Text Encode #ELLA
  • text_encoder
  • embeds
  • ELLA_EMBEDS
text

This is the node that actually reads your prompt. ELLA Encode and ELLA Text Encode handle the time-aware conditioning, but neither one understands words - they just shuffle tensors. The understanding happens here, in T5 Text Encode #ELLA, which runs your text through the FLAN-T5 XL encoder and hands the result to ELLA's connector.

The whole reason ELLA exists is that SD 1.5's CLIP encoder is a tag parser with a 77-token ceiling. FLAN-T5 is a genuine language model: it handles full sentences, long captions, relationships between objects, and doesn't silently truncate at token 77. Feed it "a glossy yellow vase on a dark wood table beside a worn leather book" and it actually keeps track of what's beside what. That's the semantic alignment the pack is named for.

Inputs

  • text - your prompt, multiline, with dynamic prompts supported. This goes to the T5 encoder.
  • text_encoder - the T5_TEXT_ENCODER from Load T5 TextEncoder #ELLA.
  • embeds (optional) - an existing ELLA_EMBEDS bag. If you plug one in, this node adds its output to it instead of starting fresh. That's how you chain multiple conditioning sources into one bag.

One thing to know before you paste your A1111 prompt in here: prompt weighting doesn't work. The T5 embedder strips (word:1.2)-style weights - it literally deletes them from the string, and the pack's README lists prompt weighting as unsupported (a TODO). Write in plain natural language and express emphasis with words, not syntax.

Output and where it goes

Output is a single ELLA_EMBEDS object - a bag holding the T5 hidden states under an ella_t5_embeds key. It's not yet conditioning; it's the raw material. You feed it into ELLA Encode (after Set ELLA Timesteps), or route it through a helper like Combine CLIP & ELLA Embeds if you're mixing in CLIP tokens for LoRA trigger words.

Load T5 TextEncoder #ELLA ─→ T5 Text Encode #ELLA ─→ ELLA Encode ─→ KSampler
                                            (ELLA_EMBEDS)   (CONDITIONING)

The T5 encoder runs at whatever dtype you set on the loader - auto is fine on most rigs, FP32 if you hit half-precision errors. Expect the first encode to be slow while the 3B-parameter encoder loads; the prompt you send to CLIP in a normal SD 1.5 workflow is not involved here at all. This node and the CLIP side are entirely separate tracks until you deliberately combine them.

Install is the standard pack install (ComfyUI Manager or git clone https://github.com/TencentQQGYLab/ComfyUI-ELLA into custom_nodes, then pip install -r requirements.txt), with the FLAN-T5 XL encoder sitting in models/ella_encoder.

Categoryella/conditioning

Inputs (3)

NameTypeDefaultDescription
textSTRING
text_encoderT5_TEXT_ENCODER
embedsoptELLA_EMBEDS

Outputs (1)

NameTypeDescription
ELLA_EMBEDSELLA_EMBEDS