☁️BizyAir VAE Encode (for Inpainting)
The mask-growing step that keeps seams from showing
- pixels
- vae
- mask
- LATENT
Instruction-editing models took over most of what people used to reach for a mask for - "change the jacket color" doesn't need one anymore. What mask-based inpainting still uniquely gives you, though, is a real reason this node hasn't gone away: bit-identical pixels outside the mask, full-resolution detail inside a small region regardless of the overall image size, and a denoise dial that's an actual continuum instead of a yes-or-no instruction. If any of that matters for what you're fixing, this is still the right tool, just running through BizyAir's cloud VAE instead of a local one.
What it does
pixels (your source image), vae (a BIZYAIR_VAE, loaded upstream by a BizyAir checkpoint/VAE loader), and mask (the region you want regenerated) are the three required inputs - standard inpainting setup. The one parameter worth actually understanding is grow_mask_by (0–64, step 1, default 6).
It does exactly what it sounds like: dilates your mask's boundary outward by that many pixels before encoding. Without it, the model gets a razor-hard edge to blend a regeneration into, and hard edges are exactly where inpainting seams show up - a visible ring where the new content meets the old. Growing the mask a little gives the sampler some surrounding context to blend into naturally. Too little and you risk visible seams; too much and you start regenerating parts of the image you meant to leave alone, which defeats the point of masking in the first place. The default of 6 is a reasonable starting point for most cases - nudge it up for a mask with sharp, geometric edges, and consider going lower if you're doing tight, precise edits where you really do want minimal spillover.
Output
LATENT - feed it into your sampler alongside your usual positive/negative conditioning, same as any other latent input. This is inpainting mechanics unchanged from the standard ComfyUI node; the only thing BizyAir changes is where the VAE encode actually happens.
Installing it
ComfyUI Manager: search BizyAir, install, restart. Manual:
cd ComfyUI/custom_nodes && git clone https://github.com/siliconflow/BizyAir.git
Restart after. No VAE weights land on your disk - this node needs a BIZYAIR_VAE already loaded cloud-side by an earlier node in your graph. A BizyAir account with an API key set is required before anything in this pack runs.
Where people get burned
Feeding it a plain VAE instead of BIZYAIR_VAE. Like most of this pack's cloud-typed nodes, it only chains with other BizyAir loaders - you can't drop in a local VAE checkpoint here.
Leaving grow_mask_by at 6 for every mask shape. A hand-painted, soft-edged mask often needs less growth than a hard rectangular selection; if you're still seeing a visible seam at the default, that's usually the first thing to raise, not the denoise strength.
Forgetting this is exactly where the "instruction editing versus masking" tradeoff shows up. If you're chasing a whole-image restyle rather than a precise, bounded fix, an edit model will likely get you there faster and with less setup than wiring up a mask pipeline - save this node for the jobs that specifically need what masking uniquely offers.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| pixels | IMAGE | — | |
| vae | BIZYAIR_VAE | — | |
| mask | MASK | — | |
| grow_mask_by | INT | 60–64 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| LATENT | LATENT | — |