ComfyUI Node

LC VAE Save

The boring node you need the moment you merge a VAE

By lonecatone23·Created about a month ago·Updated a day ago· 8
LC VAE Save
  • vae
  • path
◄filenameLC_merged_vae►
◄precisionfp32►
◄enabledtrue►

What it does

Writes a VAE to models/vae, ready for Load VAE. Wire a vae in, give it a filename, pick a precision, queue. It's the least exciting node in the pack and the one you'll actually need, because a merged VAE only exists inside your graph until you write it to disk.

The natural pairing is LC VAE Merge: merge the decoders, look at the report, save the result, then wire the saved file into a real workflow with Load VAE. Without this step the merge is gone the next time you restart ComfyUI, and you'll be rebuilding sliders from memory.

The inputs

vae - any VAE, from a loader, from LC VAE Merge, or from anywhere else in the graph.

filename (default LC_merged_vae) - saved under models/vae, subfolders work, and it never overwrites: a number is appended if the name is taken. Worth using real names here, a Krea2_wan_decoder_qwenmid beats LC_merged_vae_7 when you come back in a month.

precision - and this is the only real decision. fp32 is the default and the safest thing you can do with a VAE; keep it there unless disk space is genuinely the problem. bf16 and fp16 halve the size, and on a VAE the visible cost is banding in smooth gradients - skies, studio backdrops, soft skin, exactly the places the decoder was doing subtle work. If you save in half precision and your gradients start showing steps, that's the cause, and re-saving in fp32 fixes it.

enabled - off skips the save entirely, nothing written. Like the other save nodes in this pack, it's a real toggle rather than a bypass, so you can convert it to an input and gate saving from a switch elsewhere in the graph.

One output: path, the file you just wrote, as a string.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/lonecatone23/ComfyUI_LC_ModelBuilder_nodes

Restart. No dependencies - this is safetensors and ComfyUI core, nothing the base install doesn't already have.

Where people get burned

The quiet one is precision. A VAE saved in bf16 loads and renders fine, so nothing tells you the difference; you just get slightly banded gradients months later and blame the sampler. VAEs are small - tens to a few hundred megabytes - so fp32 costs you a rounding error in disk terms and removes the question entirely.

The other is expecting the saved file to behave like a checkpoint VAE. It's the VAE only, and a merged one carries vae_a's encoder by construction, so it belongs with models built on vae_a. Load it into a model trained on a different family's latents and you get noise or flat colour, not a subtly wrong picture - which at least is unambiguous.

CategoryLC Modelbuilder

Inputs (4)

NameTypeDefaultDescription
vaeVAE—
filenameSTRINGLC_merged_vaeSaved in models/vae, ready for Load VAE. A subfolder works. An existing file is never overwritten.
precisionCOMBOfp32fp32 keeps every bit (the safest for a VAE). bf16 / fp16 halve the size; bf16 can band a little in smooth gradients.
enabledBOOLEANtrueOff skips the save.

Outputs (1)

NameTypeDescription
pathSTRING—