AlphaVAE Loader
The 4-channel VAE that finally gives FLUX transparent cutouts
- alpha_vae
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 asAlphaVAE/finetune_VAE. The tooltip says it plainly: the directory must containconfig.json+diffusion_pytorch_model.safetensors.alpha_vae- the output. A custom type that onlyAlphaVAEDecodeandAlphaVAEEncodefrom 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_VAEfolder (withconfig.jsoninside it) undermodels/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.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| vae_name | COMBO | Select AlphaVAE model directory (must contain config.json + diffusion_pytorch_model.safetensors) |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| alpha_vae | ALPHA_VAE | — |