Nodes/VELVET VICE — LTX/VELVET VICE LTX — Single Output Cleanup
ComfyUI Node

VELVET VICE LTX — Single Output Cleanup

The current end-of-render cleanup — one output, full memory report, models unloaded

By Velvet-Vice·Created 25 days ago·Updated 10 days ago· 2
VELVET VICE LTX — Single Output Cleanup
  • final_video
  • cleanup_report
unload_render_modelstrue

VelvetViceLTXSingleOutputCleanup is the modern replacement for the pack's three-preview Final Memory Cleanup. Same job, simpler contract: wait until the one selected final video encode is done, report the render session's memory peak, then unload the LTX/CLIP/VAE caches. If you're running a current Velvet Vice LTX workflow, this is the node at the end of the graph holding the door open so render two doesn't OOM.

What it does

It takes one input - final_video, a VHS_FILENAMES from your video output node. Being wired to that output is what guarantees it runs last: ComfyUI won't execute it until the encode is saved. Then it does the standard two-step:

  1. Stops the render memory monitor and formats the session summary - duration, sample count, peak RAM percentage, minimum RAM available, minimum VRAM free. That report is the cleanup_report string it outputs, and it's genuinely useful for tuning: if peak RAM hit 97%, your workflow is living on the edge and you know which stage to attack.
  2. Unloads the tracked models - the LTX diffusion model, CLIP, and VAE caches - through cleanup_comfy_models_after_render().

The unload_render_models toggle (default on) exists for debugging; flip it off and you get the report without the unload.

Why this node over the legacy one

The older VelvetViceLTXFinalMemoryCleanup waited on three filename inputs - final video plus two previews - because older workflows produced three outputs and wanted cleanup to wait for all of them. The current workflow collapsed to a single selected output, so this node waits on just the one. Fewer dependencies to satisfy, same guarantee. IS_CHANGED returns NaN, so it always executes rather than being cached as done.

Inputs and outputs

  • final_video - VHS_FILENAMES from your video output node. This is the ordering dependency.
  • unload_render_models - boolean, default true.
  • Output: cleanup_report (STRING). Output node.

Installing it

Part of VELVET VICE - LTX (velvet-vice-ltx) via ComfyUI Manager, or:

cd ComfyUI/custom_nodes
git clone https://github.com/Velvet-Vice/velvet-vice-ltx

Restart and hard-refresh with Ctrl+F5. No pip deps.

Troubleshooting

  • Report says the monitor wasn't active - normal if your graph lacks the Lazy Model Gate that starts it. The unload still happens.
  • Node never fires - its only input is the video output; if that node was skipped (interrupted render), it won't run. That failure case is covered by the pack's separate interruption-only cleanup hook, so you're not leaking VRAM.
  • "unloaded N tracked model(s)" always shows 0 - the pack tracks models it loaded through its own loaders; models loaded by other packs aren't in its registry. Still fine for Velvet Vice workflows, where everything goes through the pack.

It's the quietest node in a workflow that does the most unglamorous but essential work - and because it reports peak RAM, it doubles as your free memory profiler at the end of every render.

CategoryVELVET VICE/LTX

Inputs (2)

NameTypeDefaultDescription
final_videoVHS_FILENAMES
unload_render_modelsBOOLEANtrue

Outputs (1)

NameTypeDescription
cleanup_reportSTRING