VELVET VICE — Output Studio
The node that turns your final frame stack into an MP4
- images
- audio
- Filenames
Every LTX workflow ends the same way: you've got a stack of frames sitting in a latent, and you need an actual video file you can play, upload, or drop into an editor. VelvetViceOutputStudio is the pack's final export node - the thing that takes the frame stack (plus optional audio), encodes it once with NVENC or a CPU fallback, and writes an MP4 while keeping ComfyUI's output plumbing intact. If you're following a Velvet Vice workflow, this is the last node in the graph.
How it works
Under the hood it's a dressed-up version of the pack's battle-tested auto NVENC output, built on top of ComfyUI's core VHS_VideoCombine - which is the first thing to know: VideoHelperSuite must be installed or this node refuses to run. When it executes it probes whether h264_nvenc actually works on your machine with a tiny test encode, and based on that it either uses the NVIDIA encoder or drops back to CPU H.264. It also computes "authoritative tensor-ratio metadata" - real width, height, frame count, and orientation read straight off the tensor before the MP4 container is written - and feeds that to the live telemetry and the adaptive player frame, so the preview isn't guessing dimensions. It's an output node, which in ComfyUI terms means it always runs and the graph's cache works backward from it.
Filename handling is more careful than you'd expect: the filename_prefix supports VHS-style date tokens like video/LTX23-%date:yyyyMMdd%, and the node scrubs Windows-invalid characters out of every path part so you never get a save failure because a filename contained : or ?.
The inputs you'll actually touch
- images - your final frame batch. Everything else is transport.
- frame_rate (24) - LTX's default cadence. The watermark and player assumptions elsewhere in the pack are built around 24/48 FPS, so this is one to keep consistent.
- filename_prefix (
video/LTX23-FINAL) - where it lands underComfyUI/output. - encoder_mode -
AUTO - NVIDIA NVENC / CPU H.264 FALLBACKis the sane default: use the GPU encoder if it exists, otherwise CPU.NVIDIA NVENC ONLYhard-fails on machines without it. - nvenc_bitrate_mbps_at_24fps (60) / cpu_crf (15) - the quality dials for each path. 60 Mbps NVENC is generous; CRF 15 CPU is near-lossless.
- loop_count (0) / pingpong - make a looping clip. 0 means no loop.
- trim_to_audio / save_metadata - the first cuts the clip to the length of the attached audio; the second embeds generation metadata into the file (relevant if you post outputs to Civitai, which parses it).
- audio (optional) - LTX-2/2.3 generates synchronized audio, so you can wire an AUDIO tensor in here and get a clip with sound.
It outputs Filenames as a VHS_FILENAMES object, which you can feed to other VHS-based nodes that chain on the saved file.
Installing it
Part of the Velvet Vice LTX pack (registry velvet-vice-ltx). ComfyUI Manager → search "VELVET VICE - LTX", or:
cd ComfyUI/custom_nodes
git clone https://github.com/Velvet-Vice/velvet-vice-ltx
Restart, then Ctrl+F5. Two real dependencies live outside the pack: VideoHelperSuite (for VHS_VideoCombine) and a working FFmpeg (the node uses VHS's bundled one if present). The pack's own pyproject.toml declares zero Python deps.
Common issues
- "VideoHelperSuite is required for the automatic final video output." - the exact error you get when VHS isn't installed. Install it via Manager and restart.
- NVENC-only mode fails on an AMD or Intel card - obviously, but it's the most common self-inflicted one. Use AUTO.
- The video comes out silent or wrong length - check
trim_to_audio; if it's on and your audio tensor is shorter than the frames, the clip gets cut. - Filename save errors - the date-token expansion and Windows sanitization are handled, but a genuinely weird
filename_prefixstill can't conjure a directory that doesn't exist.
It's the boring end-of-pipeline node, and that's exactly what a render pipeline needs: one encode, a sensible fallback, and filenames you can find.
Inputs (13)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| frame_rate | FLOAT | 241–240 | — |
| loop_count | INT | 00–100 | — |
| filename_prefix | STRING | video/LTX23-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 | — |