Nodes/ComfyUI Easy Use/EasyDiffusionModelLoader
ComfyUI Node Runs on cloud

EasyDiffusionModelLoader

The Anima/Krea2 loader that turns four nodes into one — if you pick the right files

By yolain·Created 3 years ago·Updated 6 days ago· 2,739
EasyDiffusionModelLoader
  • model_override
  • clip_override
  • vae_override
  • pipe
  • model
  • vae
  • clip
  • positive
  • negative
  • latent
model_name
vae_nameNone
clip_nameNone
resolution1024 x 1024
empty_latent_width1024
empty_latent_height1024
positive
negative
batch_size1

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 from models/diffusion_models. For Anima that's the model's .safetensors; for Krea 2 Raw/Turbo likewise.
  • clip_name - from models/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 - from models/vae; both Anima and Krea 2 use the Qwen-Image VAE (qwen_image_vae.safetensors). Also mandatory.
  • resolution plus empty_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.safetensorsComfyUI/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/checkpoints and it won't even appear in the model_name list. It reads models/diffusion_models only.
  • 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.

CategoryEasyUse/Loaders

Inputs (12)

NameTypeDefaultDescription
model_nameCOMBO0 options:
vae_nameCOMBONone1 options: None
clip_nameCOMBONone1 options: None
resolutionCOMBO1024 x 102431 options: width x height (custom), 512 x 512, 512 x 768, 576 x 1024, 768 x 512, 768 x 768, +25
empty_latent_widthINT102464–16384
empty_latent_heightINT102464–16384
positiveSTRING
negativeSTRING
batch_sizeINT11–64
model_overrideoptMODEL
clip_overrideoptCLIP
vae_overrideoptVAE

Outputs (7)

NameTypeDescription
pipePIPE_LINE
modelMODEL
vaeVAE
clipCLIP
positiveCONDITIONING
negativeCONDITIONING
latentLATENT