LTX2. TJ Sampler
Eight LTX-2 video nodes folded into one sampler
- model
- positive
- negative
- video_latent
- audio_latent
- sigmas
- positive
- negative
- video_latent
- audio_latent
LTX2. TJ Sampler is the video-sampler node that replaces the standard LTX-2 sampling stack - up to eight nodes - with one. If you've ever built an LTX-2 (or LTX-2.3) text-to-video graph from the official template, you know the drill: RandomNoise, LTXVConcatAVLatent, CFGGuider, KSamplerSelect, ManualSigmas, SamplerCustomAdvanced, LTXVSeparateAVLatent, LTXVCropGuides, all wired in sequence. This node collapses that whole chain into a single block. It's a "stop rewiring the same eight nodes every time you make a video workflow" node, and it's adapted from the TooBusy Nodes project the pack author also maintains.
How it works
Under the hood it calls the actual LTX-2 ComfyUI nodes by name (RandomNoise, LTXVConcatAVLatent, CFGGuider, KSamplerSelect, ManualSigmas, SamplerCustomAdvanced, LTXVSeparateAVLatent, LTXVCropGuides), passing your inputs through in the right order. Two things follow from that design:
- The real nodes do the work, so you get identical behavior to building the stack by hand - no magic, no reimplementation drift.
- It requires the official LTX-2 nodes to be installed. If they're missing, the node raises a clear error telling you to install/enable the LTXV nodes first, rather than failing cryptically.
Inputs: model, positive, negative, video_latent, audio_latent (LTX-2 is audio-aware, so both latents flow through), plus seed, cfg, sampler_name, and manual_sigmas - the node ships a sensible default sigma schedule (a descending list ending at 0.0) and also accepts an optional sigmas input if you want to override with a schedule node.
Outputs are the interesting part: positive, negative, video_latent, audio_latent - the conditioning and latents are passed back out unchanged, along with the sampled result. That means you can chain this node: run a first pass, take its outputs, feed them into a second LTX2 sampler for an img2vid or refinement stage. The conditioning passthrough is what makes the chaining possible without re-encoding.
Inputs and outputs that matter
video_latent,audio_latent- the latents to denoise (from an LTX-2 empty-latent or encode node).manual_sigmas- the schedule; leave the default unless you know what you're doing.seed,cfg,sampler_name- your standard sampler knobs.- Outputs: the four passthroughs listed above.
Install
ComfyUI Manager → Install Custom Nodes → search TJ_NODE, or:
cd ComfyUI/custom_nodes
git clone https://github.com/designloves2/ComfyUI-TJ_NODE
Restart ComfyUI. You must also install the official LTX-2/LTXV nodes (Manager: search "LTXV" or whatever ships the LTX-2 templates for your ComfyUI version). The LTX-2 weights themselves are large downloads and use the LTX-2 community license (free under $10M revenue, share-alike derivatives, no explicit content) - not the pack's concern, but yours.
The honest verdict
For anyone doing LTX-2 work regularly, this is a genuine ergonomics win - the eight-node stack is pure boilerplate and its sampler names shift across ComfyUI versions, so a node that resolves them dynamically saves real time. The trade-off is transparency: when you need to debug a specific stage (say, the guide schedule), you have to break it back into the individual nodes. And it only helps if you're on the LTX-2 path at all. Use it for routine video sampling; reach for the raw stack when you're doing something unusual.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| positive | CONDITIONING | — | |
| negative | CONDITIONING | — | |
| video_latent | LATENT | — | |
| audio_latent | LATENT | — | |
| seed | INT | 420–18446744073709550000 | — |
| cfg | FLOAT | 1.00–30 | — |
| sampler_name | COMBO | euler | 44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38 |
| manual_sigmas | STRING | 1.0, 0.99375, 0.9875, 0.98125, 0.975, 0.909375, 0.725, 0.421875, 0.0 | — |
| sigmasopt | SIGMAS | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| positive | CONDITIONING | — |
| negative | CONDITIONING | — |
| video_latent | LATENT | — |
| audio_latent | LATENT | — |