(Down)load Kolors Model
The node that grabs Kolors' UNet for you (and deliberately nothing else)
- kolors_model
(Down)load Kolors Model is the lazy friend in Kijai's Kolors wrapper: give it a click and it downloads Kuaishou's Kolors UNet, loads it, and hands you a kolors_model object ready for the sampler. It's the first node of the Kolors chain, and the easiest - there's literally one decision to make.
Kolors, if you missed it, is Kwai's text-to-image model from mid-2024. It runs a UNet backbone with a ChatGLM3 LLM as the text encoder instead of CLIP or T5, which is what makes it so good with Chinese prompts and so hungry for VRAM. It was solid on release, then Flux landed a month later and the conversation moved on. This wrapper is how you'd still run it in ComfyUI today.
What it actually loads
Read the source and the download is very deliberate. It snapshots the Kwai-Kolors/Kolors repo from HuggingFace into ComfyUI/models/diffusers/Kolors, but with an allow_patterns that only grabs *fp16.safetensors* and *.json, and an ignore_patterns that skips vae/, text_encoder/, and tokenizer/ entirely.
That split is the design: the UNet comes down here, the text encoder has its own separate node ((Down)load ChatGLM3 Model), and the VAE isn't needed at all because the pack just uses the base SDXL VAE. So this node loads the UNet in fp16, slaps a default Euler scheduler next to it, and packages the pair as the KOLORSMODEL output. That's it.
The two inputs, briefly
- model - a dropdown with one entry,
Kwai-Kolors/Kolors. Nothing to decide. - precision - a dropdown with one entry,
fp16. Nothing to decide. If you want the 4/8-bit options, those live on the ChatGLM3 loader; the UNet itself only ever runs fp16 here.
The single output, kolors_model, wires into the kolors_model input of Kolors Sampler. Note there's no unload/offload control on this node - the pack moves the UNet back to CPU after each sampling run on its own.
Installing it
It ships with the whole pack, so:
cd ComfyUI/custom_nodes
git clone https://github.com/kijai/ComfyUI-KwaiKolorsWrapper
cd ComfyUI-KwaiKolorsWrapper
pip install -r requirements.txt
Restart ComfyUI. ComfyUI Manager can do it too if you search "KwaiKolorsWrapper" - it will pick up requirements.txt and install the deps (diffusers >= 0.28.2, transformers, sentencepiece, accelerate, cpm-kernels).
The gotchas that actually bite
- The first run is a 16.5 GB download. The README says as much, and the node shows a progress bar, but be patient and make sure you can actually reach HuggingFace - if the download fails partway, you'll see the node error on a missing file.
- This node alone draws nothing. It's only the UNet. You still need a ChatGLM3 text encoder, Kolors Text Encode, the sampler, and an SDXL VAE decode behind it. The common beginner mistake is loading just this and wondering where the picture is.
- If the pack hits import errors, it's usually the known diffusers/transformers version clash with other packs, not this node's fault - the community fallback is the MinusZoneAI/Kolors-MZ wrapper, which loads the same weights through a native sampler.
- Because it uses
snapshot_downloadon first use, offline setups should pre-download the repo or copy amodels/diffusers/Kolorsfolder in by hand.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| model | COMBO | 1 options: Kwai-Kolors/Kolors | |
| precision | COMBO | fp16 | 1 options: fp16 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| kolors_model | KOLORSMODEL | — |