EasyDiffusionModelLoader
The Anima/Krea2 loader that turns four nodes into one — if you pick the right files
- model_override
- clip_override
- vae_override
- pipe
- model
- vae
- clip
- positive
- negative
- latent
If you've tried to run Anima or Krea 2 in stock ComfyUI, you already know the chore. These aren't single-file checkpoints with the text encoder and VAE baked in - they're a diffusion model file plus a separate text encoder plus a separate VAE, which means the vanilla graph is four or five nodes (Load Diffusion Model, a CLIP/text-encoder loader, VAE Loader, CLIPTextEncode, EmptyLatentImage) all wired before you even reach a sampler. easy diffusionModelLoader (display name "EasyDiffusionModelLoader") collapses that whole chain into one node and hands you a ready-to-run pipe on the other side. It's part of ComfyUI Easy-Use, yolain's "everything integrated" pack, and it exists for the newest DiT families - Anima and Krea 2 - that don't ship as self-contained checkpoints.
One honest warning before you get excited: this is not a general-purpose loader. Look at its guts and you'll find a short allowlist - the code maps only the anima and krea2 model families to their text-encoder types, and throws [EasyUse] unsupported diffusion model family for anything else. Don't try to jam a Flux or SDXL file in here; the pack keeps separate easy fluxLoader / checkpoint loaders for those. Reach for this node when the file you want to run lives in models/diffusion_models and uses a Qwen-based text encoder.
How it works
Under the hood it calls the Easy-Use cache's load_diffusion_model_required: it loads your pick from models/diffusion_models, inspects the loaded weights to identify the family, loads the CLIP with the right encoder type and your chosen VAE, then encodes your positive and negative prompts into conditioning and stamps out an empty latent at your chosen resolution. Everything comes back both as an Easy-Use pipe (feed it straight into the easy fullkSampler line) and as individual wires.
The design tells you the trap: because these files have no baked-in text encoder or VAE, the node refuses to run if you leave clip_name or vae_name at "None" - you get [EasyUse] clip_name is required: please select a text encoder. Not a bug, the whole point - but the number-one reason beginners stare at a red node.
The inputs that matter
Most of the required widgets are what you'd expect from any all-in-one loader, so the handful you actually touch are:
model_name- your pick frommodels/diffusion_models. For Anima that's the model's.safetensors; for Krea 2 Raw/Turbo likewise.clip_name- frommodels/text_encoders. Anima wants a Qwen3-0.6B Base encoder; Krea 2 wants a Qwen3-VL (the default Easy-Use expects is the Huihui fp8-scaled 4B instruct build). This one is mandatory, not "None".vae_name- frommodels/vae; both Anima and Krea 2 use the Qwen-Image VAE (qwen_image_vae.safetensors). Also mandatory.resolutionplusempty_latent_width/empty_latent_height- a preset dropdown that just fills in the two latent sizes, which you can retune freely. Anima is happiest around 1280–1536px; the default 1024 square is a fine starting point for both.positive/negative,batch_size- same as any loader.
There are also three optional overrides - model_override, clip_override, vae_override - typed MODEL/CLIP/VAE sockets that swap out whatever the dropdowns chose at runtime. Ignore them unless you're doing something clever like sharing one loader across a grid.
Outputs are the full spread - pipe, model, vae, clip, positive, negative, latent. Feed the pipe to an Easy-Use sampler, or ignore it and use the individual sockets like normal nodes.
Install and model files
Easy-Use is a big integration pack and it installs like one. In ComfyUI Manager, search "ComfyUI Easy Use" and hit install; or do it by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/yolain/ComfyUI-Easy-Use
Then restart ComfyUI, and on Windows double-click install.bat inside the pack (or run ./install.sh on Linux/Mac) so it installs the requirements with your portable Python. That requirements.txt is heavy - clip_interrogator, onnxruntime, opencv, spandrel, peft - but almost none of it serves this loader.
Model files go in the three standard folders:
- Anima / Krea 2 weights →
ComfyUI/models/diffusion_models/ - Qwen3 text encoder →
ComfyUI/models/text_encoders/ qwen_image_vae.safetensors→ComfyUI/models/vae/
Where people get burned
- Leaving clip or VAE on "None." The node hard-errors. Pick actual files - there's no "Auto" here (that's the XY-input variant's trick, below).
- Wrong folder. Drop the Anima file into
models/checkpointsand it won't even appear in themodel_namelist. It readsmodels/diffusion_modelsonly. - Missing the exact default text encoder. If a shared workflow names a specific file in
text_encoders(like the Huihui fp8 Qwen3-VL Krea 2 build), you must have that exact filename or the load fails. Quantized text encoders do exist for these models, so you can run the loader on modest VRAM - just keep names consistent.
The loader sits on Easy-Use's model cache and evicts under VRAM pressure, so swapping models in one session won't quietly OOM you. When you want to compare several Anima or Krea 2 files head-to-head, pair this with easy XYInputs: DiffusionModel for a one-run grid instead of loading each by hand.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| model_name | COMBO | 0 options: | |
| vae_name | COMBO | None | 1 options: None |
| clip_name | COMBO | None | 1 options: None |
| resolution | COMBO | 1024 x 1024 | 31 options: width x height (custom), 512 x 512, 512 x 768, 576 x 1024, 768 x 512, 768 x 768, +25 |
| empty_latent_width | INT | 102464–16384 | — |
| empty_latent_height | INT | 102464–16384 | — |
| positive | STRING | — | |
| negative | STRING | — | |
| batch_size | INT | 11–64 | — |
| model_overrideopt | MODEL | — | |
| clip_overrideopt | CLIP | — | |
| vae_overrideopt | VAE | — |
Outputs (7)
| Name | Type | Description |
|---|---|---|
| pipe | PIPE_LINE | — |
| model | MODEL | — |
| vae | VAE | — |
| clip | CLIP | — |
| positive | CONDITIONING | — |
| negative | CONDITIONING | — |
| latent | LATENT | — |