Nodes/ComfyUI-TinyBreaker/💪TB | Load Partial VAE
ComfyUI Node

💪TB | Load Partial VAE

Load only half a VAE, for when you're chasing VRAM or debugging

By martin-rizzo·Created 2 years ago·Updated 12 months ago· 42
💪TB | Load Partial VAE
    • VAE
    vae_name
    modeboth

    A VAE is two machines in one trench coat: an encoder (pixels → latent) and a decoder (latent → pixels). 💪TB | Load Partial VAE lets you load just one of those halves. The author's own description says it plainly - "serves primarily for testing purposes" - so the honest framing is: this is a debug tool, not a workflow building block.

    What it does

    It loads a VAE file and then strips out whichever half you don't want by pruning its state dict before the model is built:

    • vae_name - the VAE file, from ComfyUI/models/vae.
    • mode - encoder only (the decoder weights are stripped, leaving just the pixel→latent path), decoder only (encoder stripped, latent→pixels only), or both (a normal full load).

    The output is still typed as VAE, but a half-loaded one. Feed decoder only into the final decode step of a workflow and the encoder half never loads - a real, if modest, VRAM saving on low-end cards, because half the VAE's weights stay on disk.

    When it's actually useful

    Two scenarios. First, VRAM trimming: if you're on a 4–6 GB card and a standard decode step is the thing tipping you into OOM, running a decoder-only VAE is a legitimate squeeze - you rarely need the encoder mid-generation anyway, since encoding happens early and the latent starts empty. Second, debugging: if you suspect a particular VAE's encoder or decoder half is misbehaving (weird colours, grid artifacts, black outputs), loading each half in isolation is a clean way to isolate which direction is broken. That's almost certainly why the author built it - it shows up in the pack alongside the transcoder experiments, where you'd want to test encoder and decoder separately.

    Install

    The usual pack route - ComfyUI Manager search "tinybreaker", or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/martin-rizzo/ComfyUI-TinyBreaker
    

    Restart, VAE files live in ComfyUI/models/vae.

    The catch

    A half-VAE is exactly as dangerous as it sounds if you use it wrong. A decoder only VAE can't encode, so using it upstream in an encode step fails; an encoder only VAE can't decode, so it's useless at the output. ComfyUI won't stop you from wiring them into the wrong place - it just fails or produces noise. Also, don't mistake this for a way to "tune" the VAE: a partial load isn't a different model, it's the same weights minus half. And one more thing worth knowing: even a full load is only a modest memory cost relative to the T5 encoder and the two denoising models in this pack, so if you're OOMing, trim the text encoder first - Load T5 Encoder (Experimental) is the bigger lever. Use this node when you're actually debugging, not as a first-line fix.

    Category💪TinyBreaker/loaders

    Inputs (2)

    NameTypeDefaultDescription
    vae_nameCOMBOThe name of the VAE to load.
    modeCOMBObothThe mode to load the VAE.

    Outputs (1)

    NameTypeDescription
    VAEVAE