EasyLoader (Kolors)
Everything Kwai's Kolors model needs, in one node
- model_override
- vae_override
- optional_lora_stack
- pipe
- model
- vae
Kolors doesn't load like a normal checkpoint. Kuaishou (Kwai) built it with a UNet backbone but swapped CLIP for ChatGLM3 as the text encoder - an unusual choice at the time that gave it genuinely strong Chinese-language prompt handling and solid general quality. That architecture means "load Kolors" isn't a one-click checkpoint pick; it's a UNet file, a VAE, and a ChatGLM3 text encoder that all need to come together correctly. easy kolorsLoader is Easy-Use's answer to that: one node that wires up all three pieces plus the usual LoRA and resolution setup, and hands you back a pipe the rest of the pack's Kolors-aware nodes can use.
The node's own credit trail is honest about its lineage - the pack's README says it's built on code from MinusZoneAI's Kolors wrapper and kijai's KwaiKolors wrapper, folded into the Easy-Use loader shape rather than written from scratch.
Where Kolors actually sits today
Worth saying plainly: Kolors had its moment in mid-2024 and got genuinely well-received releases ("Kwai Kolors is really good!", one thread read, at real engagement) - but it launched right as Flux was landing, and the community's tooling attention moved on fast. It's not a model people are actively building fresh workflows around in 2026. If you specifically need its Chinese-prompt strength or you're maintaining an existing Kolors pipeline, this node is the right one; if you're starting a new project from scratch, you'd almost certainly reach for a newer base model instead.
The inputs that matter
unet_name,vae_name,chatglm3_name- the three required model files. All populated from whatever you've placed in the corresponding ComfyUI model folders; there's nothing to configure here beyond picking the files.lora_name+lora_model_strength/lora_clip_strength- bake in a single LoRA without a separate loader node. Need more than one, use the optionaloptional_lora_stackinput instead.resolution- a dropdown of preset width x height pairs, defaulting to1024 x 576, with awidth x height (custom)option if none of the presets fit - in which caseempty_latent_width/empty_latent_heighttake over.positive/negative- the prompt fields, encoded right here through the ChatGLM3 encoder.batch_size- how many latents to generate in this batch.
Optional: model_override / vae_override to swap in a model or VAE you loaded elsewhere instead of picking from the dropdowns, and auto_clean_gpu to free VRAM automatically after this stage - worth flipping on if you're running Kolors alongside other heavy models in the same graph.
Outputs: pipe (feed to Kolors-aware samplers downstream), plus model and vae broken out individually if you need them without the pipe.
Installing it
Ships with the base pack - no separate download for the node itself. ComfyUI Manager: search ComfyUI Easy Use, install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/yolain/ComfyUI-Easy-Use
then install.bat on Windows or pip install -r requirements.txt, restart. The models are the real weight here: you need Kolors' UNet, VAE, and ChatGLM3 text-encoder files placed in their respective ComfyUI model folders before the dropdowns will show anything to select - none of that comes bundled with the node pack itself.
Common issues & troubleshooting
Dropdowns are empty. If unet_name, vae_name, or chatglm3_name show no options, the corresponding model files aren't in ComfyUI's model directories yet (or aren't in a folder ComfyUI scans for that type). This node doesn't fetch anything for you - go get the Kolors weights first, then restart ComfyUI so it re-scans the folders.
Results look nothing like a normal SD/SDXL model's output. That's expected in the sense that Kolors is a genuinely different architecture - but if the images look actively broken rather than just stylistically different, double-check you're pairing the matching UNet, VAE, and ChatGLM3 files from the same Kolors release rather than mixing components from different sources.
Prompting in English gets mediocre results. Kolors' whole differentiator is its ChatGLM3 encoder's strength with Chinese prompts. If you're only ever prompting in English, you're not using the model for the thing it's actually good at - you may get better mileage from a different base model entirely.
Inputs (16)
| Name | Type | Default | Description |
|---|---|---|---|
| unet_name | COMBO | 0 options: | |
| vae_name | COMBO | 0 options: | |
| chatglm3_name | COMBO | 0 options: | |
| lora_name | COMBO | 1 options: None | |
| lora_model_strength | FLOAT | 1.00-10–10 | — |
| lora_clip_strength | FLOAT | 1.00-10–10 | — |
| resolution | COMBO | 1024 x 576 | 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 | — | |
| vae_overrideopt | VAE | — | |
| optional_lora_stackopt | LORA_STACK | — | |
| auto_clean_gpuopt | BOOLEAN | false | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| pipe | PIPE_LINE | — |
| model | MODEL | — |
| vae | VAE | — |