Load ELLA Model
Load ELLA Model — the connector, not the brains
- ELLA
Every ELLA workflow starts here, and it's worth being clear about what this node doesn't load. ELLA (Equip Diffusion Models with LLM for Enhanced Semantic Alignment, from Tencent's GYLab) improves SD 1.5's prompt understanding by replacing the weak CLIP text conditioning with something that actually reads sentences. But the big language model - the FLAN-T5 XL encoder that does all the reading - is a separate download. This node only loads the little connector that sits between the two.
The connector is a small network: a timestep embedding plus a Perceiver resampler with 64 learnable latents. You give it FLAN-T5's output embeddings plus the current denoising timestep, and it squeezes everything down to the 64 tokens SD 1.5's UNet expects for cross-attention. That's the entire .safetensors file. The "brains" never touch this node.
Inputs and output
It's a loader, so it's dumb on purpose.
- name - a dropdown of everything in
ComfyUI/models/ella/. You'll see exactly one file unless you've collected more:ella-sd1.5-tsc-t5xl.safetensors(that's the only model Tencent shipped for this). - output - an
ELLAobject, which you feed intoSet ELLA Timesteps,ELLA Encode,ELLA Text Encode, orApply ELLA.
There are no other knobs. No dtype selector, no half-precision toggle. The model loads at whatever precision ComfyUI's text-encoder heuristics pick.
How it actually works
Under the hood it's the ELLAModel from model.py: Timesteps → TimestepEmbedding → PerceiverResampler. The "time-aware" part is the whole point - this connector takes a timestep as an input, which is what lets ELLA adapt its semantic features at every step of sampling. That's the Timestep-Aware Semantic Connector (TSC) from the paper, and it's why the rest of the pack is obsessed with timesteps matching your KSampler.
The practical catch: this is an SD 1.5-only party. People waited for an SDXL release and Tencent never shipped one (their GitHub comments said so, and the community was not happy about it). If you're on SDXL or newer, this pack does nothing for you.
Install and the model file
Install the pack the usual way:
cd ComfyUI/custom_nodes
git clone https://github.com/TencentQQGYLab/ComfyUI-ELLA
cd ComfyUI-ELLA
pip install -r requirements.txt
Then create ComfyUI/models/ella/ if it doesn't exist and drop the file there:
mkdir -p ComfyUI/models/ella
# put ella-sd1.5-tsc-t5xl.safetensors in it
Get the model from the QQGYLab/ELLA Hugging Face repo. You can also set an ella entry in extra_model_paths.yaml to point at a custom location. The pack needs a recent ComfyUI - if the dropdown comes up empty after restarting, your file isn't where the pack is looking.
Note the other model this workflow needs: FLAN-T5 XL, the ~6 GB text encoder, lives in ComfyUI/models/ella_encoder/ and is loaded by the separate "Load T5 TextEncoder #ELLA" node. Forgetting it is the most common first-run mistake - the ELLA object loads fine and then everything downstream errors out.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| name | COMBO | 0 options: |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| ELLA | ELLA | — |