解码预览🐠meeeyo.com
VAE-decode to a preview — and still keep the image on the wire
- latent
- vae
- IMAGE
DecodePreview takes a LATENT and a VAE, decodes the latent back to pixels, and shows the result as a preview in ComfyUI - while also passing the decoded IMAGE out as an output so you can keep building the graph. It's part of MeeeyoAI/ComfyUI_StringOps, filed under the pack's Functional category, and it's the only node in this text-heavy pack that touches sampling output.
On the surface it looks redundant: core ComfyUI already has VAE Decode, and PreviewImage already shows images. So what's the difference? Two things, both in the details. First, it's an output node (OUTPUT_NODE = True), so it displays the image in the UI as part of running the graph - but unlike a pure save node, it also returns the image tensor, so the decoded result keeps flowing. Second, it writes its preview to ComfyUI's temp directory, not the output folder, so you get the visual feedback without polluting your output collection with hundreds of throwaway PNGs.
The inputs
- latent - the LATENT tensor to decode (typically the
samplesoutput of a KSampler). - vae - the VAE to decode with. Use the same one that encoded the latent; mixing VAEs from different checkpoints is the classic way to get garbage colors or artifacts.
The output
One IMAGE - the decoded pixels. Wire it into a Save Image, an upscaler, a comparison node, or anything else that wants pixels. The preview that appears in the UI is a side effect of being an output node; the image port is the part you can build on.
Where it's handy
It's a genuinely useful pattern for iterative work: decode for a look, keep the image wired into the rest of the graph, and don't fill your output directory with previews. For inpainting or upscale chains where you decode mid-graph, it replaces the "decode → preview → re-wire from the VAE Decode output" dance with one node that does both.
The honest caveat: if you just want the standard "render to output folder" behavior, core VAE Decode + Save Image does that fine and you don't need this. DecodePreview earns its keep specifically when you want both a visual check and the pixels, without the disk clutter. The temp-directory save is uncompressed PNG at full size - it exists for display speed, not archival.
Installing
Standard pack install:
cd ComfyUI/custom_nodes
git clone https://github.com/MeeeyoAI/ComfyUI_StringOps.git
or via ComfyUI Manager searching ComfyUI_StringOps, then restart. Under "Meeeyo/Functional". No models, no extra dependencies - it uses the same VAE machinery core ComfyUI ships.
A modest convenience wrapper around a core operation, and a fair one: decode, show, keep the wire alive, skip the clutter. When that's the exact combination you need, it's the one.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| latent | LATENT | — | |
| vae | VAE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |