VELVET VICE MiniMax H3 — Live Preview
Watch an H3 render cook in real time without trusting the pixels
- model
- video_vae
- model
Waiting on an H3 render while staring at a progress bar that doesn't show you anything is a special kind of torture. Video sampling takes long enough that the whole-shot preview - frames appearing as the sampler refines them - is less a nicety and more the only way to know you're not ten minutes into a render of a composition you already hate. VelvetViceMiniMaxH3LivePreview is the pack's answer: it attaches to ComfyUI's sampling callback and streams preview frames to the frontend as the render cooks.
The name "whole-shot" matters. Where image previews show a single noisy latent being refined, video previews have to show you frames in time. This node unpacks H3's packed AV latent - audio and video share one latent in H3 - using ComfyUI's own unpacker, and streams a buffered set of JPEG frames to the frontend paced by a real FPS clock.
How it works
The node wraps the model you feed it (model in, model out - it never touches the actual sampling math). It hooks ComfyUI's OUTER_SAMPLE callback, so every sampling step hands it the latent to visualize. The quality ladder is where the trade-offs live:
- LOW -
latent2rgbconversion. No extra decoder needed, fast, ugly. Fine for "is the composition right?" - MEDIUM - H3's TAEHV approximation decoder (
taeh3_decoder.safetensors), which you install intomodels/vae_approx. The practical default: near-final quality without running the full VAE every step. - HIGH - the full H3 video VAE, wired in through the optional
video_vaeinput. Best fidelity, and heavy enough that you don't want it firing every step on a 33B render.
Controls: enabled (default true), preview_fps (default 24), preview_quality (0–3, mapping to that ladder), and max_preview_edge (up to 1024px) to cap decode cost.
The two sentences in the description that should reassure you: "Preview failures never abort or modify final sampling." This node is a passenger, not a driver - if the preview decoder crashes, the render continues and you just lose the show.
Inputs and outputs
model(MODEL) - the H3 model, passed through unchanged.enabled,preview_fps,preview_quality,max_preview_edge- the tuning set above.video_vae(VAE, optional) - only needed for the HIGH tier.
Output: model (MODEL).
Install
cd ComfyUI/custom_nodes
git clone https://github.com/Velvet-Vice/velvet-vice-minimax-h3
then restart. For MEDIUM-tier previews, grab the optional decoder and drop it in:
models/vae_approx/taeh3_decoder.safetensors
(the portable Civitai release bundles an _INSTALL_H3_PREVIEW_TAEHV.cmd that does this for you).
One honest warning about live previews generally: they're great for catching a bad seed early, but don't trust them for final quality - they're low-res decodes of an intermediate latent, and the last few steps do real work. The author's LOW / MEDIUM / HIGH tiers exist precisely so you can pick how much fidelity you're willing to pay for on frames you're going to throw away anyway. When in doubt, MEDIUM.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| enabled | BOOLEAN | true | — |
| preview_fps | FLOAT | 241–30 | — |
| preview_quality | INT | 30–3 | — |
| max_preview_edge | INT | 1024384–1024 | — |
| video_vaeopt | VAE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |