Kandinsky2.2 Decoder Loader
Kandinsky 2.2's Decoder Loader — One Dropdown, Three Handles
- MOVQ
- DECODER
- LATENT_INFO
The Decoder Loader is the second half of Kandinsky 2.2's two-model architecture, and it's the node that quietly does three jobs at once. It loads the decoder pipeline (the kandinsky-2-2-decoder repo from HuggingFace, or the controlnet-depth variant), then hands out three different handles so the rest of your graph can do three different things.
What comes out
MOVQ- the vector-quantized VAE. This is Kandinsky's pixel codec, the equivalent of Stable Diffusion's VAE. It's exposed separately so the MovQ Decoder can turn latents into pixels and the Image Latents node can encode a source image for img2img.DECODER- the scheduler + UNet pair that does the actual denoising. Feeds the Unet Decoder node.LATENT_INFO- the latent-space geometry (channels, scale factor, dtype) that the Latents and Image Latents nodes need to create correctly-shaped noise.
The one input: ckpt
Just the ckpt dropdown, which lists folders in ComfyUI/models/checkpoints containing "kandinsky" in their name. Here's the trap: that filter means all three model folders show up in this loader and in the Prior Loader. For this node you want kandinsky-2-2-decoder for plain text-to-image, or - if you're doing the depth workflow - kandinsky-2-2-controlnet-depth, because that variant's UNet accepts the hint channel the Hint Combiner attaches. Point it at the prior folder and loading fails with a component error.
The depth workflow's README note is worth repeating verbatim: "Don't forget to switch to kandinsky-2-2-controlnet-depth in decoder node." It's easy to have the loader left on the plain decoder and wonder why your hint does nothing.
Installing it
Manual install, since the README says the repo isn't in ComfyUI Manager's list:
cd ComfyUI/custom_nodes
git clone https://github.com/vsevolod-oparin/comfyui-kandinsky22
cd comfyui-kandinsky22
python -s -m pip install -r requirements.txt
And the models:
git clone --depth 1 https://huggingface.co/kandinsky-community/kandinsky-2-2-prior
git clone --depth 1 https://huggingface.co/kandinsky-community/kandinsky-2-2-decoder
git clone --depth 1 https://huggingface.co/kandinsky-community/kandinsky-2-2-controlnet-depth
Git shows almost no progress on these multi-GB clones - that's normal, not a hang.
Gotchas
- Big load, then offload. The pipeline loads in fp16 and the UNet gets shuffled to CPU after use so other stages can share VRAM. Expect a heavy first load.
- Old dependencies.
requirements.txtpinsdiffusersto an ancient commit andaccelerate==0.27.2. If installing this pack breaks unrelated nodes, that pin is why. - It's a 2023 model. Kandinsky 2.2's community moment ended around mid-2024. The decoder has a distinctive painterly look worth one weekend of play, but it's history, not a daily driver.
A complete graph wired from this node: Decoder Loader → LATENT_INFO to Latents (or Image Latents), MOVQ to MovQ Decoder, DECODER to Unet Decoder - and Unet Decoder's output back into MovQ Decoder for the final pixels.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| ckpt | COMBO | 0 options: |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| MOVQ | MOVQ | — |
| DECODER | DECODER | — |
| LATENT_INFO | LATENT_INFO | — |