Nodes/SD Slicer/SD Slicer — VAE Merge
ComfyUI Node

SD Slicer — VAE Merge

Blend two VAEs block by block — yes, that's a thing you can do

By kuschanow·Created about a month ago·Updated about a month ago· 0
SD Slicer — VAE Merge
  • vae_1
  • vae_2
  • vae
config{}

You probably think of the VAE as a "just use a good one and forget it" component, and for most people that's right. But people who chase color and fine detail know different VAEs have different personalities - one renders cleaner edges, another has the tone you like. If checkpoints can be crossbred, why not their VAEs? SD Slicer - VAE Merge is the pack's answer: crossbreed N VAEs block by block and get a real, usable VAE out the other side.

It's the sibling of the pack's flagship Layer Merge, and it works the same way - same per-block weight grid, same k multiplier, same formula presets. The difference is the payload: instead of UNet blocks like input_blocks.5, you're slicing VAE keys like decoder.up.2 (block ids are still key prefixes up to the first number). The output is a wrapped comfy.sd.VAE, not a raw dict, so you can wire it straight into a VAE Decode and see what the blend actually looks like before you commit to a file.

The inputs

  • vae_1, vae_2, … - dynamic VAE inputs. Same trick as every SD Slicer merge node: plug one into the last free port and the next one appears. Weights are bound to the port number, not the position, so rearranging doesn't scramble your settings.
  • config - the hidden JSON widget the UI writes to; leave it alone unless you're hand-editing.
  • Output: vae - a usable VAE object.

The one hard rule

The architecture check runs here too, and it matters more than you'd expect. SD1.5 and SDXL VAEs are both 4-channel, so those can mix. The SD3 VAE is 16-channel and will not blend with either of them - the shapes simply don't line up, and the node will tell you so with a clear "not compatible" error rather than producing garbage. Same-architecture blending is the whole safety contract of this pack, so don't fight it.

Because it returns a proper VAE, the workflow is tight: two VAE loaders into this node, this node into VAE Decode, one queue to see the result. When you like it, write it out with the pack's SD Slicer - Save (any) node (destination models/vae) and it shows up in your normal VAE Loader dropdown. VAEs are a fraction of a checkpoint's size, so you can keep half a dozen experiments without thinking about disk.

Install

Same as the whole pack:

cd ComfyUI/custom_nodes
git clone https://github.com/kuschanow/ComfyUI-SD-Slicer
# restart ComfyUI

ComfyUI Manager works too - search "SD Slicer". No extra dependencies beyond what ComfyUI already ships, no model downloads.

What to actually use it for

The honest take: VAE merging is a niche of a niche. Where it earns its keep is tuning color and sharpness without retraining - grab a VAE whose colors you like and one whose detail you prefer, and land between them at the exact ratio you want. The block-level control is arguably more useful here than on the model side, because VAE differences often concentrate in a few encoder/decoder blocks. If you've never been bothered by your VAE, you don't need this node. If you've ever loaded a friend's VAE and thought "I like the color but I miss my edges" - now you can have both.

CategorySD-Slicer

Inputs (3)

NameTypeDefaultDescription
vae_1VAE
vae_2VAE
configSTRING{}

Outputs (1)

NameTypeDescription
vaeVAE