VELVET VICE MiniMax H3 — Output Studio
Where H3 frames and native audio become the actual video file
- images
- audio
- Filenames
Everything upstream of VelvetViceMiniMaxH3OutputStudio produces frames in memory. This node is where they stop being a tensor batch and become an actual video file you can play, share, and import somewhere else. It takes the finished frame images and an optional native H3 audio stream, encodes them together, and hands back the standard VHS_FILENAMES result so the rest of the graph knows what was written and where.
It subclasses the author's broader Output Studio from the Velvet Vice suite, re-skinned for H3 with sensible defaults - the default filename_prefix is video/VELVET_VICE_MINIMAX_H3_I2V_FINAL. It's the terminal encode stage of the reference workflow, and it's where the WITH SOUND story ends: wire the Audio Gate's output into the optional audio input and the native H3 soundtrack rides into the container.
The encoding choices that matter
images(IMAGE) - the frame batch.frame_rate(default 24),loop_count(0) for looping playback.encoder_mode- the interesting one.AUTO - NVIDIA NVENC / CPU H.264 FALLBACKprobes your card, uses NVENC if it's there, and falls back to CPU H.264 if not. The explicitNVIDIA NVENC ONLYandCPU H.264 ONLYmodes exist for when you want to force one or the other - mostly for reproducibility or diagnosing an encoder problem.nvenc_bitrate_mbps_at_24fps(60) - NVENC bitrate. At 24fps this is high enough for clean motion; it's the trade-off between file size and quality that video nerds argue about in every community thread.cpu_crf(15) - the CPU fallback's quality target. Lower = better, and 15 is already on the visually-lossless side.pix_fmt-yuv420p, the universal compatibility choice.pingpong- play the clip forward then reversed.save_metadata,trim_to_audio(trim the video to the length of the attached audio), andsave_output(default true - you can run it purely as a player/test without writing a file).
Output is Filenames (VHS_FILENAMES), the shared VideoHelperSuite convention that downstream nodes - like this pack's Final Cleanup, which waits on the file and releases render models afterward - use to track the result.
Install and what it needs
The pack brings the node; the encoding needs ffmpeg, which ComfyUI bundles or finds on your PATH:
cd ComfyUI/custom_nodes
git clone https://github.com/Velvet-Vice/velvet-vice-minimax-h3
then restart. If you want NVENC, that's a hardware feature of your NVIDIA card plus an ffmpeg build with NVENC enabled - the AUTO mode will tell you if it's unavailable by falling back.
Where people get tripped up: NVENC-only mode errors on machines where the encoder can't initialize (driver, or a card too old for the codec config), and the fix is either updating the driver or dropping to AUTO/CPU mode rather than fighting it. And if your video comes out with no sound, don't blame this node first - check the gates upstream. This node only muxes what it's given; a muted audio branch means nothing arrives at audio no matter how many times you re-encode.
Inputs (13)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| frame_rate | FLOAT | 241–240 | — |
| loop_count | INT | 00–100 | — |
| filename_prefix | STRING | video/VELVET_VICE_MINIMAX_H3_I2V_FINAL | — |
| encoder_mode | COMBO | AUTO — NVIDIA NVENC / CPU H.264 FALLBACK | 3 options: AUTO — NVIDIA NVENC / CPU H.264 FALLBACK, NVIDIA NVENC ONLY, CPU H.264 ONLY |
| nvenc_bitrate_mbps_at_24fps | INT | 601–999 | — |
| cpu_crf | INT | 150–100 | — |
| pix_fmt | COMBO | yuv420p | 1 options: yuv420p |
| pingpong | BOOLEAN | false | — |
| save_metadata | BOOLEAN | false | — |
| trim_to_audio | BOOLEAN | false | — |
| save_output | BOOLEAN | true | — |
| audioopt | AUDIO | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| Filenames | VHS_FILENAMES | — |