ComfyUI Node

LTX Review

A review gate so your two-pass LTX workflow stops burning hours on duds

By FranckyB·Created 6 months ago·Updated 3 days ago· 13
LTX Review
  • video_latent
  • audio_latent
  • video_vae
  • audio_vae
  • video_latent
  • audio_latent
  • review_path
fps24.0
timeout120
on_timeoutproceed
enabletrue

LTX Review is the node that turns a long LTX video workflow into a two-stage one you can actually babysit: it pauses execution mid-graph, decodes the video and audio latents you've sampled so far, pops up a review window with playback, and only continues when you say so. It exists because LTX's two-pass pattern - a cheap first sampler to lay down motion, then an expensive refine pass - is a waste of GPU time if you let every bad first pass ride through to the end. This is the checkpoint that catches duds before the expensive half runs.

It's part of ComfyUI-FBnodes, François Beaudry's utility pack, and it's squarely aimed at LTX-2/2.3-style audio+video workflows, where "review the pass" means looking at both the picture and the sound before committing.

How it works

You wire in video_latent and audio_latent plus the video_vae and audio_vae used to decode them. When enable is ON, the node decodes both latents internally, encodes a browser-compatible H.264/yuv420 preview clip into temp, and opens a popup with Proceed / Cancel / Requeue. It then blocks - up to timeout seconds - and acts on your choice. Critically, it preserves the latents: Proceed passes the original video and audio latents through untouched, so downstream decode and save see the lossless state, not a re-encoded copy.

Two behaviors matter for unattended runs:

  • timeout (1–600s, default 120) and on_timeout (proceed or cancel) decide what happens when nobody clicks. Set cancel and walk away; the run stops instead of committing a bad pass.
  • enable (BOOLEAN) OFF bypasses the whole thing - latents pass through immediately, no decode, no popup - which is how you run a workflow in production mode with the review gate still in place.

Outputs are video_latent, audio_latent (both passed through), and review_path (STRING) - the path to the generated temp preview clip, which you can hand to the companion LTX Review Preview node to display it in the UI.

The inputs that matter

  • video_latent / audio_latent (LATENT) - the stage-one output you're reviewing.
  • video_vae / audio_vae (VAE) - used only for the review decode.
  • fps (FLOAT, default 24) - frame rate for the preview clip.
  • timeout + on_timeout - the unattended behavior.
  • enable - the master switch.

Installing it

ComfyUI Manager - search "ComfyUI-FBnodes" - or:

cd ComfyUI/custom_nodes
git clone https://github.com/FranckyB/ComfyUI-FBnodes.git
pip install -r ComfyUI-FBnodes/requirements.txt

Restart ComfyUI. The review encode leans on av (PyAV), the pack's real dependency.

Where it's fiddly

The VAE decode is the slow part - it happens on every review, so the node is only worth it when the second pass is genuinely more expensive than a decode. And remember the preview is an H.264 approximation: what you see is close to what you'll get, but the saved result decodes from the latent, which is why it looks a touch sharper. The classic setup mistake is wiring the wrong VAE - the review decode silently uses whatever you give it, and a mismatched VAE produces a preview that looks nothing like the real output.

CategoryFBnodes

Inputs (8)

NameTypeDefaultDescription
video_latentLATENTVideo latent to pass through if you proceed.
audio_latentLATENTAudio latent to pass through if you proceed.
video_vaeVAEVideo VAE used to decode video_latent for review clip generation.
audio_vaeVAEAudio VAE used by LTXV Audio VAE Decode behavior to decode audio_latent for review clip generation.
fpsFLOAT24.01–240Frame rate used when encoding the review clip.
timeoutINT1201–600Seconds to wait for user decision before timeout action.
on_timeoutCOMBOproceedAction used if no decision is received before timeout.
enableBOOLEANtrueWhen ON, run review flow and decode latents for preview. When OFF, pass through latents immediately and skip decoding.

Outputs (3)

NameTypeDescription
video_latentLATENT
audio_latentLATENT
review_pathSTRING