Nodes/Eden.art nodesuite/VAEDecode_to_folder
ComfyUI Node Runs on cloud

VAEDecode_to_folder

Decode a whole latent batch straight to disk

By edenartlabΒ·Created 3 years agoΒ·Updated 6 months agoΒ· 119
VAEDecode_to_folder
  • samples
  • vae
  • STRING
β—„prefixtestβ–Ί
β—„output_folderoutput/framesβ–Ί

You know that thing where you render a 200-frame animation and ComfyUI's default SaveImage pops out a preview thumbnail for every single frame, crawling along while your GPU idles? VAEDecode_to_folder is the node that says "skip the theatre, just write the files." It decodes a latent batch directly to JPGs on disk, no previews, no fuss, and it's the one I reach for on long sequences every time.

It's an output node from Eden.art's suite, built specifically for the "decode long sequence to frames" job that their own production video workflows run. You give it latents and a VAE, it writes numbered frames to a timestamped folder, and hands you back the folder path.

How it works

The mechanism is dead simple and that's the appeal. For each latent in the batch it runs vae.decode(...), clamps to 8-bit, and saves a JPEG at quality 95 into a folder named <output_folder>/<prefix>_<timestamp> (timestamp in YYYYMMDD-HHMMSS form). Files come out zero-padded and sequential - 000000.jpg, 000001.jpg, and so on - which is exactly the naming convention frame-loaders and ffmpeg expect, so you can pipe the result straight into a video encoder:

ffmpeg -framerate 24 -i %06d.jpg -c:v libx264 out.mp4

The one string output is the absolute path to the folder it created, which you can log, save, or feed to a downstream file-reading node.

Inputs

  • samples - the LATENT batch you want to decode.
  • vae - the VAE used to decode. If your model was loaded with the standard CheckpointLoader, wire its VAE output here.
  • prefix (default test) - the folder-name prefix. Change it per job so runs don't collide.
  • output_folder (default output/frames) - base directory, relative to your ComfyUI install, where the timestamped subfolder is created.

That's the entire schema. Four inputs, one string output, and it's flagged as an output node so ComfyUI won't try to render a preview of its (text) result.

Why not just use SaveImage?

Both write images; the difference is how much work ComfyUI does around them. The default SaveImage node is wired to preview each image in the UI, which for a 300-frame decode means 300 thumbnails generated and shipped to your browser - real overhead, and it makes ComfyUI feel like it's dying even when it's fine. VAEDecode_to_folder does a bare decode-and-write loop with zero preview churn. If you're decoding a long sequence and don't need to babysit it, this is the honest faster option. If you're decoding a handful of frames and do want to see them, use the regular VAE Decode + SaveImage.

Installing

One node in edenartlab/eden_comfy_pipelines (Eden.art nodesuite):

cd ComfyUI/custom_nodes
git clone https://github.com/edenartlab/eden_comfy_pipelines.git
cd eden_comfy_pipelines
pip install -r requirements.txt

Restart ComfyUI, or install via ComfyUI Manager (search "Eden"). No model downloads, no heavy extras - this node only needs the VAE you already have.

Gotchas

The output is JPG, not PNG - quality 95 is high, but if you're compositing or masking the frames afterward, JPG's lossy compression (and lack of alpha) might not suit you. For true alpha or lossless frames, stick with a PNG-saving node. Also note the timestamp means every run makes a new folder - old runs accumulate. Keep an eye on disk if you're looping a workflow, and remember the returned path is what you'd wire into anything that needs to know where the frames landed.

CategoryEden 🌱

Inputs (4)

NameTypeDefaultDescription
samplesLATENTβ€”
vaeVAEβ€”
prefixSTRINGtestβ€”
output_folderSTRINGoutput/framesβ€”

Outputs (1)

NameTypeDescription
STRINGSTRINGβ€”