Kandinsky2.2 Latents
Kandinsky 2.2 Latents — Empty Latent Image, Kandinsky Flavor
- lat_info
- LATENT
If you've built a ComfyUI graph before, you already know this node - it's EmptyLatentImage, just wearing Kandinsky 2.2 clothes. It generates the blank noise tensor that the decoder's UNet starts from in a plain text-to-image run. Nothing about it is exotic, which is exactly why it's the easiest node in the pack to understand.
Why it needs the LATENT_INFO
Stable Diffusion's empty latent is a fixed shape you can hardcode; Kandinsky's isn't. The decoder's latent space has a specific channel count, a specific scale factor from the MovQ VAE, and a dtype that depends on how the pipeline loaded. So this node takes lat_info from the Decoder Loader's LATENT_INFO output, uses it to build noise with the right geometry (including downscaling your 512×512 to the VAE's latent size), and returns it as a LATENT.
Inputs
lat_info- from the Decoder Loader. Don't omit it; there's no sensible default.batch_size(default 1, max 16) - how many images in one pass.height,width(default 512, stepped by 64) - output size in pixels; the node handles the latent-space scaling for you.seed- the noise seed. Same seed, same noise, same image (all else equal).
Output: LATENT, wired into the Unet Decoder's latents port. That's its only real destination.
Installing it
Same pack, manual install per the README (not 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
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
Gotchas
- Right loader, right folder.
lat_infocomes from the Decoder Loader, not the Prior Loader - and that loader's dropdown lists all three "kandinsky" folders, so make sure it points atkandinsky-2-2-decoder(or controlnet-depth) or the shape math gets confused before you even start. - 512 is a fine default. The example workflows run 768×768. Kandinsky handles both, but watch VRAM - it's a 2023 model with 2023 memory habits, and it offloads between stages rather than keeping everything resident.
- Dependency pin. Pinned old
diffuserscommit andaccelerate==0.27.2inrequirements.txtcan break other nodes sharing the environment. - The model is dead weight now. Kandinsky 2.2's community relevance ended around mid-2024. If you're here, you're likely rebuilding an old workflow for fun - and this node is the least interesting part of it, which is the point. Set your size, set your seed, move on.
If you're doing img2img instead, use comfy-kandinsky22-img-latents - it encodes a real image into the latent space instead of pure noise.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| lat_info | LATENT_INFO | — | |
| batch_size | INT | 11–16 | — |
| height | INT | 51264–8192 | — |
| width | INT | 51264–8192 | — |
| seed | INT | 00–18446744073709550000 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| LATENT | LATENT | — |