ELLA Model Loader
Rebuilding Your 1.5 Checkpoint for the ELLA Pipeline
- model
- clip
- vae
- ella_model
The start of the ELLA path, and where most of the heavy lifting happens. ELLA Model Loader takes a perfectly normal SD 1.5 checkpoint - loaded the usual way with CheckpointLoaderSimple - and rebuilds it as a diffusers pipeline, then wraps the UNet so ELLA can sit in front of it. The ELLAMODEL it outputs is what ELLA Sampler runs.
Mechanically this is the interesting node, because the "ELLA" part is a surgical insert. Your checkpoint's weights get converted from ComfyUI's native format into diffusers (unet, VAE, and a recreated CLIP text encoder), and the UNet gets wrapped in an ELLAProxyUNet. That proxy is what makes ELLA work: instead of your prompt's CLIP embedding going straight into cross-attention, the wrapper calls ELLA on it first. ELLA - Tencent's "Equip Diffusion Models with LLM" - is a Perceiver-style resampler that takes the T5-XL embeddings, injects the current timestep via adaptive layer norms, and always squeezes them down to a fixed 64 tokens for the UNet. Because it's time-aware, the same prompt means slightly different things at different denoising steps, which is where the "enhanced semantic alignment" comes from.
You give it exactly three things:
- model (
MODEL), clip (CLIP), vae (VAE) - the three outputs of any SD 1.5 checkpoint loader. That's it.
It outputs one thing: ella_model (ELLAMODEL), which only ELLA Sampler understands.
Two gotchas that catch people. First, the auto-downloads: on first use it pulls the ELLA weights (132 MB, ella-sd1.5-tsc-t5xl.safetensors) from the QQGYLab repo into ComfyUI/models/ella/. The T5 encoder itself isn't loaded here - that happens in ella_t5_embeds - but count on a slow, chunky first run either way, plus a real conversion pass where it unloads your models and rebuilds the pipeline in memory. Second, it's SD 1.5 only. ELLA for SDXL and Cascade was shown off but never released, and people still ask - it isn't there, and this node will happily choke on an SDXL checkpoint.
One thing worth knowing: the clip input is mostly a pass-through. It's used to build the pipeline's text encoder, but the embeddings that actually drive generation come from ella_t5_embeds, not from CLIP. And unlike its twin Diffusers Model Loader, this node enables diffusers CPU offload, which is why the ELLA path stays usable on 8–12 GB cards despite the extra weights. Like the rest of this pack, it's superseded by Tencent's official ComfyUI-ELLA nodes - if you're setting up fresh, start there.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| clip | CLIP | — | |
| vae | VAE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| ella_model | ELLAMODEL | — |