Pops_Decode
Turn embeddings into pixels
- vae
- positive_emb
- negative_emb
- image
If Pops_Sampler is the brain of this pack, Pops_Decode (display name for Pops_Decoder) is the paintbrush. It takes the image embeddings the Sampler produced, feeds them to the Kandinsky 2.2 decoder, and hands you an actual IMAGE. It's the node you wire the whole workflow into, and it's also the simplest one in the pack - which is exactly why it's the easiest to miswire.
What it is
The pOps method operates in CLIP image-embedding space: a trained diffusion prior maps your input images into a new embedding that semantically represents the transformation you asked for. But an embedding isn't a picture. The decoder - the image-diffusion half of the Kandinsky 2.2 pipeline - is what turns that embedding into pixels. That's the whole job here: one forward pass of the decoder conditioned on the embeddings from the Sampler.
How to wire it
The pack forms a three-node chain:
Pops_Repo_Loader ── model/clip/vae ──► Pops_Sampler ── positive_emb ──► Pops_Decode ──► image
└──── vae ──────────────────────────► Pops_Decode ──► SaveImage
vae- from thePops_Repo_Loader'svaeoutput. Note this is the decoder pipeline, not a standard VAE. A regularVAELoaderwon't work here, and this output won't work in a normal sampler.positive_emb/negative_emb- both CONDITIONING outputs fromPops_Sampler. Feed both; the negative is what lets classifier-free guidance do its thing.
The inputs you actually touch
The rest are the decode parameters, and they map onto the decoder's num_inference_steps and guidance_scale:
steps- decoder steps, default 25. This is separate from the Sampler'sprior_steps; they're two different diffusion runs.guidance_scale- decoder CFG, default 1.0. Raise it a bit if the decode looks washed out, but this is not the same knob asprior_guidance_scaleon the Sampler.seed- the decoder is stochastic too, so this affects the final render independent of the Sampler's seed.height/width- output resolution, default 768×768, in steps of 64. Keep these aligned with the Sampler'sheight/widthso your inputs and output match.
Troubleshooting
Since this node has so few knobs, nearly every problem is upstream. Blurry or gray output usually means the embeddings don't match the loaded operator - re-run with the same Pops_Repo_Loader config. If the decoder runs but produces visual noise, check that you actually wired both the positive and negative embeddings. And if it never runs at all, it's almost certainly the vae connection: remember this is the pack's own decoder pipeline, and it only accepts the vae output from Pops_Repo_Loader.
One honest caveat: this whole pack is a research reproduction, and the README itself admits output quality is highly variable ("抽卡的几率太大了" - the luck factor is high). If a result looks off, try a different seed on both the Sampler and the Decoder before you go hunting for a bug. There often isn't one - that's just what the model does.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| vae | VAE | — | |
| positive_emb | CONDITIONING | — | |
| negative_emb | CONDITIONING | — | |
| seed | INT | 21–2147483647 | — |
| steps | INT | 251–4096 | — |
| guidance_scale | FLOAT | 1.00.1–24 | — |
| height | INT | 768256–4096 | — |
| width | INT | 768256–4096 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |