Nodes/VELVET VICE — LTX/VELVET VICE LTX — BF16 System Check
ComfyUI Node

VELVET VICE LTX — BF16 System Check

The guard that stops your LTX render before the RAM spike

By Velvet-Vice·Created 25 days ago·Updated 10 days ago· 2
VELVET VICE LTX — BF16 System Check
    • prompt
    • memory_policy
    • status
    prompt
    strict_startup_flagstrue
    ram_abort_percent90.0
    min_available_ram_gib12
    monitor_interval_seconds1.0
    warning_ram_percent90.0
    critical_ram_percent96.0

    LTX-2/2.3 is fast once it's running. Getting there is the violent part. When you hit Run on a Velvet Vice LTX workflow, ComfyUI has to pull a BF16 diffusion model, a Gemma text encoder, and both VAEs into memory - and if your ComfyUI launch flags are wrong, that handoff spikes system RAM past 90% and the render dies. VelvetViceLTXSystemCheck is the guard at the top of the workflow that catches this before any lazy render model is requested, and it can stop the queue instead of letting the spike happen.

    How it works

    The node reads the arguments your ComfyUI process was actually started with (sys.argv), then compares them against the pack's expected LTX launch policy. Two flags are required for the BF16 workflow:

    • --fp8_e4m3fn-text-enc - keeps the big Gemma text encoder in FP8 instead of BF16, which is most of the RAM savings
    • --fast-disk - enables ComfyUI's fast-disk offloading path that LTX relies on when models don't fit in VRAM

    It also flags a list of launch flags that are actively dangerous for this workflow - --gpu-only, --highvram, --disable-smart-memory, --disable-dynamic-vram, --disable-mmap. On top of the flags it takes a live memory snapshot: current RAM usage percent and free GiB, compared against your thresholds.

    If anything is wrong and strict_startup_flags is on (it is by default), the node raises a RuntimeError with the exact list of problems - which kills the queue before model loading, so you never see the crash-after-loading-for-five-minutes failure mode.

    The inputs and outputs that matter

    Most of the knobs are RAM politics, not things you touch daily:

    • prompt - the node is a pass-through; wire the prompt text in, get it back out unchanged. Nothing is rewritten here.
    • strict_startup_flags - true means a bad launch policy stops the run; false downgrades to a warning that still lets it proceed.
    • ram_abort_percent (90) / min_available_ram_gib (12) - the abort conditions from the live snapshot.
    • warning_ram_percent (90) / critical_ram_percent (96) - these get baked into the output policy.
    • monitor_interval_seconds (1) - how often the downstream memory monitor samples.

    It returns prompt (untouched), memory_policy (VELVET_VICE_MEMORY_POLICY, which the pack's lazy model gate and memory monitor consume to decide when to unload), and status - a human-readable string that doubles as your confirmation the preflight passed. Note the node forces itself to re-run every execution via the IS_CHANGED NaN idiom, which is what you want from a guard: it should never be skipped by ComfyUI's cache.

    Installing it

    It ships in the Velvet Vice LTX pack, shared by the LTX 2.3 and LTX 2.5 workflows. In ComfyUI Manager search "VELVET VICE - LTX" (registry name velvet-vice-ltx) and install, or clone manually:

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

    Restart ComfyUI and hard-refresh the browser with Ctrl+F5. The pack has no Python dependencies of its own - it's pure stdlib plus the PyTorch ComfyUI already has - but the workflows themselves need the LTX 2.3/2.5 model files (the BF16 base, Gemma text encoder, and VAE files) wherever the workflow says.

    Troubleshooting

    • "BF16 preflight stopped LTX before model loading: missing startup flag(s) --fp8_e4m3fn-text-enc --fast-disk" - this is the node doing its job. The flags go in the command that launches ComfyUI (your .bat, shell script, or service file), not in the UI, then restart. Keep the --fast-disk requirement in mind if you launch ComfyUI from a shortcut that silently strips args.
    • "unsafe BF16 flag(s)" - you're running with --highvram or similar; remove it for this workflow.
    • RAM is already at X% - the abort fired before model loading, so something else is eating memory. Close browsers, or raise min_available_ram_gib if you genuinely know your machine can take it.
    • critical_ram_percent must be higher than warning_ram_percent - you set the thresholds backward; it refuses to run rather than emit nonsense.

    It's an easy node to ignore right up until the day it saves you a hung machine. Leave it where the workflow put it, in strict mode.

    CategoryVELVET VICE/LTX

    Inputs (7)

    NameTypeDefaultDescription
    promptSTRING
    strict_startup_flagsBOOLEANtrue
    ram_abort_percentFLOAT90.070–99
    min_available_ram_gibFLOAT124–128
    monitor_interval_secondsFLOAT1.00.5–10
    warning_ram_percentFLOAT90.060–98
    critical_ram_percentFLOAT96.070–99.5

    Outputs (3)

    NameTypeDescription
    promptSTRING
    memory_policyVELVET_VICE_MEMORY_POLICY
    statusSTRING