Nodes/Kandinsky 2.2 ComfyUI Plugin/Kandinsky2.2 Latents
ComfyUI Node

Kandinsky2.2 Latents

Kandinsky 2.2 Latents — Empty Latent Image, Kandinsky Flavor

By vsevolod-oparin·Created 2 years ago·Updated about a year ago· 9
Kandinsky2.2 Latents
  • lat_info
  • LATENT
batch_size1
height512
width512
seed0

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_info comes from the Decoder Loader, not the Prior Loader - and that loader's dropdown lists all three "kandinsky" folders, so make sure it points at kandinsky-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 diffusers commit and accelerate==0.27.2 in requirements.txt can 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.

Categorylatents

Inputs (5)

NameTypeDefaultDescription
lat_infoLATENT_INFO
batch_sizeINT11–16
heightINT51264–8192
widthINT51264–8192
seedINT00–18446744073709550000

Outputs (1)

NameTypeDescription
LATENTLATENT