Nodes/IAMCCS-nodes/IAMCCS Cine Stage 2 Preview Toggle
ComfyUI Node

IAMCCS Cine Stage 2 Preview Toggle

Kill the TAELTX preview that's OOMing your render

By IAMCCS·Created 11 months ago·Updated 8 days ago· 113
IAMCCS Cine Stage 2 Preview Toggle
  • model
  • model
  • report
stage2_preview_enabledfalse

IAMCCS_CineStage2PreviewToggle is a tiny, surgical fix for a very specific OOM: in the Cine pipeline's two-stage LTX-2 workflow, the KJ LTX-2 sampling-preview wrapper (which decodes a TAELTX/VT preview of every latent step so you can watch the render) is great in stage 1 and a memory bomb in stage 2. This node removes that preview wrapper from the model branch that feeds stage 2 - keeping the render alive while dropping the live preview. That's the whole job, and it's the right job.

If you've ever had a video render that OOMs halfway through stage 2 while the exact same model was fine in stage 1, this is usually why: the preview decoder is chewing VRAM that the second, heavier pass needs. LTX-2 is fast, so most people never notice the preview cost until a long render tips over the edge - and then it's a maddening "it worked in stage 1!" mystery.

How it works

The node counts the sampling_preview wrappers sitting on the incoming model (using ComfyUI's patcher-extension wrapper system). With stage2_preview_enabled set to false - the default - it clones the model and strips every wrapper keyed sampling_preview from the outer-sample patch list, then hands you the clone. Your original model isn't mutated; you route the cleaned clone into the stage-2 sampler and leave the stage-1 branch alone. The report output tells you exactly how many wrappers it found, removed, and what remains, so there's no guessing whether it actually worked.

The author's own guidance, embedded in the tooltip and the report: place this node only on the Stage 2 model branch, and OFF means "remove preview." When you set stage2_preview_enabled to true, it's a no-op passthrough - a way to keep the node in the graph while restoring previews, rather than rewiring.

Inputs and outputs

Inputs: model and stage2_preview_enabled (BOOLEAN, default false). Outputs: model (the preview-stripped clone) and report (JSON with wrapper counts before/after and the removed count). IS_CHANGED always returns NaN, so it re-evaluates every run - the wrapper state of a model can change between runs, and stale caching would leave previews on exactly when you thought they were off.

Installing it

Part of the IAMCCS-nodes pack. ComfyUI Manager → search IAMCCS, or:

cd ComfyUI/custom_nodes
git clone https://github.com/IAMCCS/IAMCCS-nodes.git

Restart ComfyUI; it's under IAMCCS/Cine/02 Single Generation. No pip requirements, no model files. It does expect a model that carries KJ/LTX-style sampling-preview wrappers - i.e. a model branch built in the Cine/LTX pipeline with the preview wrapper applied. README floor: ComfyUI ≥ 0.3.0, Python ≥ 3.12, Torch ≥ 2.8.

Where people get burned

  • Putting it on the wrong branch. It only strips wrappers from the model you hand it. Feed it the stage-1 model and you've just disabled your stage-1 preview for no benefit; feed it the stage-2 branch and the OOM goes away.
  • Expecting it to add a preview. It only removes. stage2_preview_enabled = true is a pass-through, not an "enable" switch - enable previews with the KJ nodes as usual.
  • If report says 0 wrappers removed but you still see a preview, the wrapper isn't keyed sampling_preview (or it's on a different branch) - check which node actually applied it.
CategoryIAMCCS/Cine/02 Single Generation

Inputs (2)

NameTypeDefaultDescription
modelMODEL
stage2_preview_enabledBOOLEANfalseOFF removes the KJ LTX2 sampling_preview wrapper from this model branch. Use it before Stage 2 to avoid TAELTX preview OOM while keeping the render active.

Outputs (2)

NameTypeDescription
modelMODEL
reportSTRING