This is the one that made us stop and re-run it to be sure. One generation returns the flat image, every object cut out on true alpha, and a clean background plate with the objects removed and the wall rebuilt behind them.

One generation, seventeen outputs — composite, background plate, and each object isolated on transparency

layers=4 produced 17 images in 148 seconds: the composite, a background plate, and each object isolated — chair, plant, framed picture — on transparency.

That background plate is the part worth pausing on. It’s automatic object-removal and inpainting, free, as a side effect of generating. Normally that’s a separate masked job per object.

The graph

The layered graph — its own UNet, its own VAE, and an empty latent node with a layers field

It’s the standard text-to-image shape with two swaps: the layered UNet, its own matching VAE, and one different latent node.

EmptyQwenImageLayeredLatentImage with width, height, layers and batch_size

FieldValueNotes
width / height1024Standard.
layers5This is the whole trick — how many pieces you get back.
batch_size1Leave it.

The layer count lives in the latent shape, which is why this is a different node rather than a checkbox. Everything downstream — KSampler, VAEDecode, SaveImage — is unchanged.

The catch, stated plainly

It generates in layers. It does not take a photo you already have and pull it apart.

We tested that specifically, encoding a real photo through the layered VAE and sampling at denoise 1.0 and again at 0.75. Both returned a single flat image. A batch-expansion route ran out of memory. The supported path is text → layered generation, full stop.

Cost

The full build is a ~20 GB model plus a 243 MB VAE, and it peaked near 29 GB of VRAM here. A GGUF Q4 quantisation reportedly fits in 8 GB — check that first if you’re on a smaller card, because this is a big download to discover you can’t run.

The settings, and what each one actually does

Four numbers in the KSampler carry an edit. These are the values we ran for every result below.

FieldValueWhy
steps20Below about 12 it stops respecting the instruction properly.
cfg2.5The one people get wrong. On an edit model, high CFG doesn’t mean “obey me more” — it means “destroy the original.” Stay between 2 and 3.
sampler_nameeulerBoring and reliable.
schedulersimpleSame.
denoise1.0Surprising, but correct here: the encoder holds your original, not the noise level.
seedchange itWhen an edit half-works, same prompt + new seed is free.

The rest of the set