⭐ Star Preview
See the video at step 3 instead of finding out five minutes later
- star_preview
What this actually is
Here's the problem it solves. You hit Queue on an LTX 2.5 or MiniMax H3 render. ComfyUI shows you a progress bar and nothing else for the next several minutes. Then it finishes, the composition is wrong, and you start over.
The community says the quiet part out loud: prompting these models is the weak axis, so the winning move is generating many cheap candidates and selecting - and seed hunting only works if you can bail early. One user in the LTX threads put the stakes plainly: "I very often don't like the result, and have to generate again, I can't wait 5-10 minutes for a failed gen."
⭐ Star Preview is the bail-early button. While a StarNodes all-in-one samples, an animated preview of the video latent streams onto this node, updating every step.
The one thing that confuses everyone
This is not a preview node you feed a latent into. It has no latent input, no image input, no frame input. It's what the plumbing docs call an options node: one widget in, one settings bundle out. Its output type is STAR_PREVIEW, and it only means anything when wired into the preview input of a node that knows how to use it:
- ⭐ Star LTXV All-in-One
- ⭐ Star LTXV 2.5 All-in-One
- ⭐ Star Minimax All In One
- ⭐ StarSampler (Unified)
Plug it into anything else and nothing happens, because nothing else reads that type. That's the whole wiring job - one wire into the all-in-one's preview socket. Nothing downstream.
How it works
When the AIO sees a STAR_PREVIEW bundle on its preview input, it clones its model and attaches an OUTER_SAMPLE wrapper - the same mechanism KJNodes' Model Preview Override uses. That wrapper taps the sampler callback on every step, grabs the current x0 video latent, decodes it with the model's own latent_rgb_factors (Latent2RGB), samples up to 16 frames, and encodes them as an animated WebP (a single frame comes out as a JPEG instead) which it pushes to the node over the websocket.
The settings are hardcoded on purpose: 512 px on the longest side, quality 80, 8 fps playback. No widgets to fiddle with, which is the point - you're watching, not tuning. Encoding runs on a background thread behind a one-slot queue that drops frames when it falls behind, so a slow preview can never stall the sampler. The node also mutes ComfyUI's built-in latent previewer while it's active, otherwise the same latents get decoded twice every step.
The input that matters
Exactly one: preview_vae - a dropdown listing everything in models/vae_approx, defaulting to none.
none means fast Latent2RGB colours, no file needed. It's approximate: it's a colour transform of the latent, not a decode, so you'll see the composition, motion and rough palette, not the final look. If you keep a tiny decoder around - a taehv, taeltx or taeh3 file - drop it in models/vae_approx and pick it here for truer colours. Video versus image decoders are detected automatically, so renamed files still work. If the tiny VAE throws during a run, the node logs a warning and falls back to Latent2RGB for the rest of that run rather than killing your generation.
Installing
The usual two routes, and the pack ships with a per-node import guard worth knowing about: if a dependency is missing, only that node disappears, ComfyUI prints which package it wanted, and the rest of the pack loads fine.
ComfyUI Manager: search Starnodes → Install → restart.
Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/Starnodes2024/ComfyUI_StarNodes
cd ComfyUI_StarNodes
pip install -r requirements.txt
Then restart ComfyUI and look under the ⭐StarNodes/Video category, or double-click the canvas and type star.
Star Preview itself needs nothing beyond PIL and numpy, so it works even on a partially installed pack. One install note for the pack as a whole: install.py also pip-installs nvidia-vfx from NVIDIA's own index for the RTX super-resolution node. On an AMD or CPU box that's dead weight - skip it, and the affected node simply won't load.
Where people get tripped up
"I connected it and nothing appears." Check where it's connected. If the target isn't a StarNodes all-in-one or StarSampler, no preview is coming. If it is, watch the console - the preview callback logs [StarPreview] preview callback failed: ... rather than crashing your run, so a silent no-show is usually an error printed there.
Colours look flat or wrong. That's Latent2RGB doing its job - a colour transform, not a decode. A tae* decoder in vae_approx is the fix, not a bug report. And don't judge quality from the preview: 512 px, quality 80, eight fps. It's a compass, not a proof.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| preview_vae | COMBO | none | Optional tiny preview VAE from models/vae_approx (e.g. a taehv / taeltx / taeh3 decoder) for truer colors in the live preview. 'none' = fast Latent2RGB preview, no file needed. Video vs image decoders are detected automatically, so renamed files work too. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| star_preview | STAR_PREVIEW | — |