VELVET VICE LTX — Image Memory Checkpoint
The image-path twin of the pack's audio memory checkpoint — same trick, IMAGE in, IMAGE out
- image
- image
If you've read the pack's Audio Memory Checkpoint article, this one takes ten seconds: VelvetViceLTXImageMemoryCheckpoint logs a RAM/VRAM snapshot to the console while passing an IMAGE tensor through byte-for-byte unchanged. Same mechanism, other modality. You drop it into the image path where you'd drop the audio one into the audio path.
Why you'd bother
LTX-2.3's pipeline is memory-choked at very specific spots: the full-sequence VAE decode allocates the entire decoded clip at once (the thing the pack's FP16 VAE Decode node exists to soften), and any quality pass that rescales the full clip spikes RAM the same way. One of these nodes before the decode, one after, and you can see the peak with your own eyes instead of guessing whether the crash happened in sampling or decoding.
The snapshot line looks like:
[VELVET VICE] image checkpoint | RAM 76.9% | 14.2 GiB RAM available | ComfyUI RSS 26.4 GiB | VRAM free 8.1/24.0 GiB
Inputs and outputs
- image - the IMAGE tensor to pass through (it also accepts an image batch, so a whole frame sequence works).
- checkpoint_label - free-text label that prefixes the log line; default
"image checkpoint". Make it unique per node or the console output is meaningless. - output -
image, identical to the input.
That's the whole surface. No knobs, no modes, no settings to get wrong.
Where it sits in the workflow
The Velvet Vice LTX graph is a memory-hungry stack - 22B model, video and audio VAEs, a Gemma text encoder, plus the FP16 decode and chunked scale nodes. The pack's answer to memory management is layered: a background monitor started by the Lazy Model Gate samples continuously and warns at RAM pressure bands, the Pre-Decode Memory Gate frees the sampling model before the VAE eats the card, and these checkpoints are the manual, single-shot readouts at named points. If the monitor says "peak at 97%," the checkpoints tell you which node caused it.
Installing it
Same pack as everything here - 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 ComfyUI, hard-refresh with Ctrl+F5. Zero pip dependencies; the node only needs ComfyUI's folder plumbing and something in front of it producing an image.
Gotchas
- No snapshot on interrupted runs. If you hit Stop and ComfyUI unwinds the graph early, downstream nodes - including this one - never execute. The pack's interrupt-only cleanup hook is what handles the failed-render case instead.
- It doesn't move data. Don't expect it to help memory by being in the graph; it observes. The nodes that actually reduce the peak are the FP16 decode and the chunked scaler.
- It's not a profiler. One line per execution. Fine for pinpointing a stage; useless as a trend line.
This is a "leave it in and forget it" node - cheap to run, and the day you're chasing an OOM on the image side, it's the node that tells you whether the spike is the decode or the scale.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| checkpoint_label | STRING | image checkpoint | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |