STARFlow-V Decode
The unnecessary node that's secretly convenient
- vae
- latent
- images
Here's the whole truth about STARFlowVDecode: it's a thin wrapper around the core VAEDecode node, and the pack's own docstring says so - "byte-for-byte equivalent" to feeding STARFlowVSampler's LATENT straight into ComfyUI's stock VAEDecode. So why does it exist? So a STARFlow-V workflow can use suite-native node names and look like one cohesive thing instead of a grab bag. There's no real magic in here. That's not a criticism; it's the point.
What it actually does
The sampler outputs a raw, un-normalized standard ComfyUI video LATENT - shape (B, C, T, H, W) - which it bridges back out of STARFlow-V's internal normalized, temporally-scaled latent space. Because it lands in the standard layout, any normally-loaded Wan2.2-TI2V VAE can decode it. This node calls vae.decode() on that latent, then reshapes the result the same way the core VAEDecode does (combining the batch dimension of 5D output into the flat frame list). That's the entire job.
The inputs
Only two, both required:
vae- aVAE. It must be a Wan2.2 TI2V VAE loaded through the coreVAELoader. This isn't a suggestion; the sampler's latent space is calibrated to that VAE's geometry (48 latent channels, temporal downsampling 4, spatial 16). Use something else and the decode will be nonsense.latent- theLATENTfromSTARFlowVSampler.
Output is images, an IMAGE batch - one image per frame - ready for SaveVideo/VHS_VideoCombine or whatever you use to turn frames into a file.
Installation
Same as every node in this pack - the pack install is shared, not per-node:
cd ComfyUI/custom_nodes
git clone https://github.com/RyukoMatoiFan/ComfyUI-STARFlow
pip install -r ComfyUI-STARFlow/requirements.txt
# restart ComfyUI
The Wan2.2 TI2V VAE file goes in ComfyUI/models/vae/ so the core VAELoader can see it.
Should you use it?
If you're building a STARFlow-V workflow from scratch, sure - it keeps the graph tidy and is indistinguishable from VAEDecode in output. If you're opening the pack's own starflow_v_t2v.json example, it's already wired in for you. The only time you'd skip it is if you already have a node chain ending in a custom decoder - in which case, this node does nothing VAEDecode wouldn't. It's the rare node where the honest advice is "both options are exactly the same, pick whichever makes your graph look better." Sometimes the best utility is a wrapper that saves you a moment of confusion, and that's all this one is.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| vae | VAE | — | |
| latent | LATENT | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |