Nodes/ComfyUI_LTX2_SM/LTX2_SM_KSampler
ComfyUI Node

LTX2_SM_KSampler

The LTX sampler with two outputs and a guidance panel that looks scarier than it is

By smthemex·Created 7 months ago·Updated 3 months ago· 31
LTX2_SM_KSampler
  • model
  • latents
  • positive
  • negative
  • encoder
  • latent
  • audio_latents
steps8
seed0
video_cfg_guidance_scale1.00
video_stg_guidance_scale0.00
video_rescale_scale0.00
a2v_guidance_scale1.00
video_skip_step0
video_stg_blocks-1
audio_cfg_guidance_scale1.00
audio_stg_guidance_scale0.00
audio_rescale_scale0.00
v2a_guidance_scale1.00
audio_skip_step0
audio_stg_blocks-1
block_group_size2
spatial_upsampler

The moment of truth. LTX2_SM_KSampler is where the model actually generates - and it's the node that makes LTX weird in a good way: it produces video latents and audio latents in the same pass. If you've ever faked a KSampler by counting steps, you're in for a treat. The guidance settings panel is huge, but 95% of the time you touch about three of them.

How it works

The sampler runs the pipeline with separate guidance parameters for the video stream and the audio stream - that's why everything is doubled (video_cfg_guidance_scale and audio_cfg_guidance_scale, video_stg_... and audio_stg_...). LTX-2.3 treats audio as a parallel modality, so each gets its own CFG, its own spatio-temporal guidance (STG), its own rescale, and its own cross-modality influence. Then there are the two cross-scale values:

  • a2v_guidance_scale (default 1.0) - how hard audio drives the video (audio-to-video).
  • v2a_guidance_scale (default 1.0) - how hard video drives the audio (video-to-audio foley).

The settings you'll actually change:

  • steps (default 8) - the distilled baseline is 8 steps at CFG 1. For the dev/non-distilled path, ~20.
  • seed - the number you'll be riding all night. 2.3's prompt adherence is weak, so seed-hunting beats prompt-wrangling every time. Generate several candidates and pick.
  • video_cfg_guidance_scale (default 1.0) - distilled runs at 1.0. If highlights blow out, the 2.3 playbook says tune it up to 1.1–2.0.
  • video_stg_guidance_scale (default 0) - leave it at 0. Over-applying STG gives skin and hair an exaggerated, unnatural look.
  • block_group_size (default 2) - the streaming prefetch group; how many transformer blocks load ahead during offloaded sampling. Lower is safer on small cards, higher is faster when you have VRAM.
  • spatial_upsampler - pick the LTX-2.3 upscaler from models/latent_upscale_models/ to do the 2x spatial upscale in latent space. It only engages when you also wire the optional encoder in - that's how it gets the internal encoder it needs.

Two quietly clever bits: if you leave positive/negative unwired, the node reads the embeddings LTX2_SM_ENCODER saved to disk (read_lat_emb) - the "encode once, sample many" loop. And video_stg_blocks / audio_stg_blocks at -1 means "let the pipeline pick"; a non-negative number restricts STG to those specific blocks.

Outputs: latent (video) → LTX2_DECO_VIDEO, and audio_latentsLTX2_DECO_AUDIO.

Troubleshooting

  • Video but no audio. Wire audio_latents into LTX2_DECO_AUDIO - the video decode is silent on its own.
  • Two-stage runs feel slow / second stage looks the same as the first. The stage handling is set by sampling_mode on LTX2_SM_Model, not here. distilled skips the two-stage dance; two_stages / twostages_hq don't.
  • OOM on a 6GB card. Drop block_group_size to 1 and make sure offload is on upstream. RAM, not VRAM, is the wall - 48GB system RAM is the README's number.

Install

Same as the rest of the pack - ComfyUI Manager (search "ComfyUI_LTX2_SM") or:

cd ComfyUI/custom_nodes
git clone https://github.com/smthemex/ComfyUI_LTX2_SM.git
cd ComfyUI_LTX2_SM && pip install -r requirements.txt

Needs the diffusers/transformers stack, gguf, and omegaconf. Restart, and remember every execute clears Comfy's model cache - so adjacent runs reload weights. Annoying, but it's the price of the 6GB pitch.

CategoryLTX2_SM

Inputs (21)

NameTypeDefaultDescription
modelMODEL
latentsLATENT
stepsINT81–16384
seedINT00–2147483647
video_cfg_guidance_scaleFLOAT1.000–10
video_stg_guidance_scaleFLOAT0.000–10
video_rescale_scaleFLOAT0.000–10
a2v_guidance_scaleFLOAT1.000–10
video_skip_stepINT00–100
video_stg_blocksINT-1-1–48
audio_cfg_guidance_scaleFLOAT1.000–10
audio_stg_guidance_scaleFLOAT0.000–10
audio_rescale_scaleFLOAT0.000–10
v2a_guidance_scaleFLOAT1.000–10
audio_skip_stepINT00–100
audio_stg_blocksINT-1-1–48
block_group_sizeINT20–48
spatial_upsamplerCOMBO1 options: none
positiveoptCONDITIONING
negativeoptCONDITIONING
encoderoptVAE

Outputs (2)

NameTypeDescription
latentLATENT
audio_latentsLATENT