Nodes/Kandinsky 2.2 ComfyUI Plugin/Kandinsky2.2 Decoder Loader
ComfyUI Node

Kandinsky2.2 Decoder Loader

Kandinsky 2.2's Decoder Loader — One Dropdown, Three Handles

By vsevolod-oparin·Created 2 years ago·Updated about a year ago· 9
Kandinsky2.2 Decoder Loader
    • MOVQ
    • DECODER
    • LATENT_INFO
    ckpt

    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.txt pins diffusers to an ancient commit and accelerate==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.

    Categoryloaders

    Inputs (1)

    NameTypeDefaultDescription
    ckptCOMBO0 options:

    Outputs (3)

    NameTypeDescription
    MOVQMOVQ
    DECODERDECODER
    LATENT_INFOLATENT_INFO