Nodes/comfyui-alphavae/AlphaVAE Loader
ComfyUI Node

AlphaVAE Loader

The 4-channel VAE that finally gives FLUX transparent cutouts

By katsut·Created 5 months ago·Updated about a month ago· 1
AlphaVAE Loader
    • alpha_vae
    vae_name

    FLUX is great at RGB and hopeless at transparency. That isn't a prompt problem - the VAE, the component that converts between pixels and the model's internal latent space, simply has no alpha channel to work with. AlphaVAE fixes that by swapping in a fine-tuned VAE that generates RGBA in a single pass. AlphaVAE Loader is where that VAE enters your ComfyUI graph.

    This is the entry node of the katsut/ComfyUI-AlphaVAE pack, a thin wrapper around the upstream AlphaVAE (paper, arXiv:2507.09308). Think of it as LayerDiffuse's FLUX-era successor: native transparency during generation instead of the generate-then-cutout two-step. LayerDiffuse is unmaintained and never escaped SDXL; AlphaVAE is the thing that finally brings native alpha to FLUX.1-dev. Fair warning before you dive in: this is still early-days tooling. It has almost no community track record, so you're buying in on the strength of the paper and the README, not a pile of testimonials.

    What this node actually does

    One job, done cleanly. It loads the AlphaVAE model from a folder on disk and hands you an alpha_vae handle that the pack's own Decode and Encode nodes accept. It is a diffusers loader, not ComfyUI's usual single-file VAE loader. On the back end it scans models/vae/ for directories containing a config.json, loads with AutoencoderKL.from_pretrained, and refuses anything that isn't 4-channel in and 4-channel out.

    The one thing it does not do is load the other half of AlphaVAE: the 1.3 GB diffusion LoRA that teaches FLUX to "think" in transparency. That goes through a regular LoraLoader at strength 1.0. Beginners routinely assume one loader node covers everything and end up with meaningless alpha - see troubleshooting below.

    Inputs and outputs

    Just two things worth your attention:

    • vae_name - the only input, a dropdown. If you followed the README's folder layout (models/vae/AlphaVAE/finetune_VAE/), it shows up as AlphaVAE/finetune_VAE. The tooltip says it plainly: the directory must contain config.json + diffusion_pytorch_model.safetensors.
    • alpha_vae - the output. A custom type that only AlphaVAEDecode and AlphaVAEEncode from this pack accept, so wire it straight to one of those.

    If the dropdown reads (no diffusers VAE found), that's the node telling you the model isn't where it looks. It only lists folders inside models/vae/ that contain a config.json, checking one level deep - it will not find a .safetensors file dumped loose in the folder, and it will not look anywhere else.

    Installing it

    ComfyUI Manager is the easy route: search comfyui-alphavae and install. Manual route:

    cd ComfyUI/custom_nodes
    git clone https://github.com/katsut/ComfyUI-AlphaVAE.git
    pip install diffusers>=0.33.0
    

    Then restart ComfyUI. You need ComfyUI v0.18+ and diffusers 0.33+ (the project's own pyproject.toml pins 0.38+). That's the entire dependency story - no heavy compiled extras, no new torch install.

    The models, though, are not bundled and add up to roughly 36 GB. Four components: flux1-dev.safetensors (~12 GB, needs a license agreement on HuggingFace) into models/diffusion_models/; the AlphaVAE VAE (168 MB) as a folder into models/vae/AlphaVAE/finetune_VAE/; the AlphaVAE diffusion LoRA (1.3 GB) into models/loras/; and clip_l + t5xxl_fp8_e4m3fn.safetensors into models/clip/.

    Where people get burned

    • The "(no diffusers VAE found)" state. Almost always a path problem. Make sure you placed the whole finetune_VAE folder (with config.json inside it) under models/vae/AlphaVAE/, and restart so the dropdown rescans.
    • "Expected 4-channel VAE, got in_channels=3". The loader lists every diffusers-format VAE folder in models/vae/, including stock RGB ones. Pick a normal VAE and it throws this error, which is correct behavior - it's guarding you from silently decoding garbage.
    • Flat ~0.5 alpha. Not this node's fault. If your transparency comes out meaningless, the diffusion LoRA isn't loaded. That's the single most common failure across the whole pack.

    One more heads-up, because the license landmines here are real: AlphaVAE weights are a fine-tune of FLUX.1-dev's VAE, and FLUX.1-dev is non-commercial. The README itself warns the non-commercial terms likely follow the weights, whatever the AlphaVAE repo says. For product work, budget for a BFL license - or test carefully whether the derivative really is covered.

    There's also no FLUX.2 support and none planned; these weights are FLUX.1-dev-specific. If you're on FLUX.2 and just need a clean cutout, you're back to post-processing background removal (BiRefNet will do), which is fine for solid subjects and falls down on genuinely semi-transparent ones - exactly the cases this pack exists for.

    CategoryAlphaVAE

    Inputs (1)

    NameTypeDefaultDescription
    vae_nameCOMBOSelect AlphaVAE model directory (must contain config.json + diffusion_pytorch_model.safetensors)

    Outputs (1)

    NameTypeDescription
    alpha_vaeALPHA_VAE