LTX 2.3's official ComfyUI examples were updated, and the update creates a decision problem: single-stage or two-stage, distilled or full, text-to-video or image-to-video, GGUF or FP8. This episode answers it with seven graphs that cover every branch, plus an opinion that is easy to miss: for text-to-video the author throws the accelerated route away.
Evidence note: this episode ships seven workflow JSON files, and the parameter values below are read from them. Where the author's spoken recommendation differs from a file's stored value, that is called out.
When this is useful
- You want LTX 2.3 with audio and you need to know which of the seven graphs to open first.
- You are on a 24GB-class card and need the quantized path (GGUF Q4_K_S plus FP8 Gemma 3).
- You already have a good first frame and want to keep character consistency instead of re-rolling the whole clip.
The shape of the release: two categories, two stages
LTX 2.3 splits into text-to-video and image-to-video, and each splits again into single-stage (sample straight to output) and two-stage (sample, then upscale). Single-stage means output resolution equals your input width and height. Two-stage adds an upscale group at the end.
The distilled track and the full track can run in the same graph, which is what "dual-track" means here: the graphs place a distilled sampler and a full sampler side by side so you can compare seeds on identical inputs.
The seven graphs, as shipped
| Graph | Nodes | Active backbone | Sampling | Empty latent |
|---|---|---|---|---|
| t2v single-stage dual-track | 42 | GGUF Q4_K_S | 8-step distilled + 15-step full, side by side | 1920x1088x121 |
| t2v non-accelerated + 2-stage upscale (author's pick) | 43 | GGUF Q4_K_S | 15-step, then a 3-step upscale pass | 960x544x121, x2 |
| t2v distilled 2-stage upscale | 40 | GGUF Q4_K_S | 8-step, then a 3-step upscale pass | 960x544x121, x2 |
| i2v single-stage dual-track | 42 | GGUF Q4_K_S | 8-step distilled + 15-step full | 736x1280x121 |
| i2v distilled 2-stage upscale | 40 | GGUF Q4_K_S | 8-step, then a 3-step upscale pass | 544x960x121, x2 |
| i2v single-stage optimal (author's pick) | 32 | FP8 transformer | 15-step | 736x1280x121 |
| i2v single-stage distilled optimal (author's pick) | 30 | FP8 transformer | 8-step | 736x1280x121 |
All seven use fps 24, a frame-count primitive at 161, VHS_VideoCombine at crf 19 / yuv420p, and ResizeImageMaskNode set to scale the longer dimension to 512 on the image path.
Model files the graphs expect
- Backbone, FP8:
ltx-2.3-22b-dev_transformer_fp8.safetensors - Backbone, quantized:
ltx-2-3-22b-dev-Q4_K_S.gguf(viaUnetLoaderGGUF) - Text encoder:
gemma_3_12B_it_fp8_e4m3fn.safetensors+ltx-2.3_text_projection_bf16.safetensors, loaded throughDualCLIPLoaderwith typeltxv - Video VAE:
LTX23_video_vae_bf16.safetensors - Audio VAE:
LTX23_audio_vae_bf16.safetensors - Distilled LoRA:
ltx-2.3-22b-distilled-lora-384.safetensorsat 0.5 on the distilled path, 0.2 on the full path - Image-to-video adapter:
LTX-2-Image2Vid-Adapter.safetensorsat 1.0 - Upscaler:
ltx-2.3-spatial-upscaler-x2-1.0.safetensors
The split into Transformer, video VAE, audio VAE, Gemma and text projection is what makes the low-VRAM path possible: swap the backbone to GGUF and the text encoder to a smaller Gemma variant and the rest stays put.
What actually differs between the graphs
-
Distilled versus full. Distilled paths use a hand-written sigma ladder of 8 values ending at 0 (so 8 steps, 1.0 down to 0.0) with
euler_ancestral_cfg_ppand CFG 1. Full paths useLTXVSchedulerat 15 steps withClownSampler_Beta. - The dual-track idea. Put both on the same seed and the same prompt, and the difference is not subtle. The author reports that the 15-step full result tracked the prompt's intent far better and was much more stylised, while acknowledging the subject itself came out odd. The 8-step accelerated text-to-video result, in his words, drifted into uncanny valley.
-
Two-stage is img2img for video. The upscale group injects noise at 0.85 and re-denoises through
0.7250,0.4219,0.0in three steps witheuler_cfg_pp. Because it re-denoises, it hallucinates detail that was not there. That is why it is sharp and why it moves away from your source. -
Image conditioning strength. The
LTXVImgToVideoConditionOnlynode holds 0.7 in the first stage, which is the official value the author quotes, and 1.0 in the upscale stage of the two-stage i2v graphs. -
Guidance.
MultimodalGuidersits at 28 with separate video and audio parameter blocks (VIDEO 3 ... 0.9,AUDIO 7 ... 0.7), so audio and video are guided independently.
Step by step
- Pick the branch. Text-to-video: open the non-accelerated + 2-stage upscale graph. Image-to-video: open single-stage optimal (30-32 nodes, small and fast) and only go two-stage if you need resolution.
- Set length and rate. fps 24, frame count via the primitive; width and height define output resolution on single-stage graphs.
- Choose the backbone. GGUF Q4_K_S for low VRAM, FP8 for quality. The shipped files keep both loaders and flip one to bypass, so switching is a single node toggle.
-
Write the prompt. The prompt encoder accepts a plain description; the positive encoder is
CLIPTextEncode, negative is separate. - Run and compare. On dual-track graphs, run once and compare the two outputs before touching anything else.
- Upscale only if needed. The upscale group roughly doubles the shorter side and then re-denoises, so expect the result to look better lit and more detailed but less faithful to the input frame.
- For characters, prefer single-stage i2v. The author's finding: single-stage keeps identity very high, at the cost of smaller motion.
Parameter basis
Read from the seven JSON files in 工作流及封面(视频198):
| Parameter | Value |
|---|---|
| Distilled sigma ladder |
1.0, 0.99375, 0.9875, 0.98125, 0.975, 0.909375, 0.725, 0.421875, 0.0 (8 steps) |
| Full-track scheduler |
LTXVScheduler 15 steps, 2.05, 0.95, true, 0.1 |
| Upscale sigma ladder |
0.85, 0.7250, 0.4219, 0.0 (3 steps) |
| Samplers |
euler_ancestral_cfg_pp (distilled), euler_cfg_pp (upscale), ClownSampler_Beta 0.25 / exponential res_2s / 94 |
| CFG | 1 |
| Distilled LoRA weight | 0.5 distilled path, 0.2 full path |
| i2v conditioning | 0.7 first stage, 1.0 upscale stage |
| Frames / fps | frame primitive 161, fps 24 |
| Video output | crf 19, yuv420p |
Limits
- The author's verdict is not a benchmark. 8 vs 15 steps is a visual judgement on a handful of clips, reported in the video, not a measured comparison.
- Limbs are still weak. The author states plainly that LTX 2.3's limb rendering is behind Wan 2.2 at the time of recording, and that both i2v routes showed limb breakage.
- Two-stage trades fidelity for detail. Because the upscale group re-denoises from 0.85, the output is not a faithful enlargement.
- Adapter LoRAs are opportunistic. LTX 2.3 accepts some LTX 2 LoRAs, but the author notes results are not consistently positive, so he keeps the adapter optional and bypassed by default in the shipped files.
- Node counts differ by 2 between the "optimal" pair (32 vs 30) because one carries a distilled sigma node set; do not read the count as a capability difference.
Episode resources
- Text-to-video, non-accelerated + 2-stage upscale (recommended): https://www.runninghub.ai/post/2030336819816046593/?inviteCode=rh-v1111
- Text-to-video, single-stage dual-track: https://www.runninghub.ai/post/2030335561520648193/?inviteCode=rh-v1111
- Text-to-video, distilled 2-stage upscale: https://www.runninghub.ai/post/2030336856772059137/?inviteCode=rh-v1111
- Image-to-video, single-stage optimal (recommended): https://www.runninghub.ai/post/2030348888535732226/?inviteCode=rh-v1111
- Image-to-video, single-stage distilled optimal (recommended): https://www.runninghub.ai/post/2030352240698986497/?inviteCode=rh-v1111
- Image-to-video, single-stage dual-track: https://www.runninghub.ai/post/2030336847670415362/?inviteCode=rh-v1111
- Image-to-video, distilled 2-stage upscale: https://www.runninghub.ai/post/2030338706959245314/?inviteCode=rh-v1111
- YouTube: https://www.youtube.com/watch?v=m5Mg3OHFPHg
- Bilibili: https://www.bilibili.com/video/BV18NNuzqEix
Top comments (0)