LTX-2/2.3: Generate a Video with Sound in One Go
The Wan2.2 lessons earlier in this course can produce great visuals, but they share one thing in common: the generated videos are silent. Want sound? You have to find voiceover, lip-sync, and mixing elsewhere—a full round of post-production that takes more effort than generating the video itself.
This lesson switches to a model with built-in sound: LTX-2, an open-source audio-video foundation model from Lightricks. Its biggest feature is that a single inference generates visuals and sound together—actions, dialogue, sound effects, and background music all come out at once, naturally synchronized. LTX-2.3 is natively built into the ComfyUI template library—in this lesson we'll run the LTX-2 ComfyUI workflow from start to finish, without installing any custom nodes.
What You'll Be Able to Do After This Lesson
- Load the official LTX-2.3 text-to-video template and generate a 1280×720, roughly 5-second video that comes with its own sound
- Download and place the five model files of LTX-2.3 (main model 27.14 GB), and be able to explain what each file does
- Write "visuals + sound" LTX-2.3 prompts with the three elements: actions, visual details, and audio
- Be able to explain the relationship between LTX-2 and LTX-2.3, and how to use the distilled acceleration (8 steps, CFG 1)
- Choose the right template among the six native workflows based on your needs: text-to-video, image-to-video, first-and-last-frame, audio-driven lip-sync, IC-LoRA control, and ID-LoRA custom digital humans
Your Current Pain Points
- Generated videos have no sound; voiceover, lip-sync, and sound effects all require your own post-production, doubling the work per video
- You want people in the video to "speak," but the lip movements generated by ordinary video models don't match the dialogue at all
- You've heard that LTX-2 can generate audio and visuals together, but online tutorials either use the old LTX-2 workflow or require installing a pile of custom nodes
When to Use This Approach
When you need:
- Videos with synchronized built-in sound: ambient audio, dialogue, and sound effects generated in one go
- People in the frame to speak, with lip movements matching the sound
- 9:16 vertical video (LTX-2.3 is specifically optimized for vertical portrait quality)
- Clear text appearing in the video (LTX-2.3 has enhanced text rendering)
And you don't want to:
- Run a separate voiceover and lip-sync pass after generating the visuals
- Install third-party custom node packages
🎒 Preparation Before You Start
- Have runComfyUI video generation: know how to load workflows from the template library and check the output directory
- ComfyUI updated to v0.16.4 or later (the minimum version marked by the template library for the four LTX-2.3 base templates; at the time this tutorial was verified, the latest official version was v0.43.2, so simply updating to the latest is easiest)
- Disk space: start with 31 GB—the main model alone is a single 27.14 GB file, and the official docs don't state the size of the text encoder, so budget a bit more
- Know your VRAM situation: the 22B model is still sizable even with fp8 quantization. Run it with the template's default parameters first, then consider raising the resolution
- Poor network? The model repositories have official mirrors on ModelScope (
Comfy-Org/ltx-2.3,Comfy-Org/ltx-2); see Step 2
Core Idea
What's new in this lesson, in three sentences:
- LTX-2 is a model that "generates audio and video together". It is Lightricks' 19B-parameter DiT audio-video foundation model, producing synchronized video and audio in a single inference pass. LTX-2.3 is its upgraded version (with weights in the 22B class), featuring a new latent space and VAE, with across-the-board improvements in detail, vertical portraits, audio quality, image-to-video consistency, prompt understanding, and text rendering.
- The audio is not an add-on; it is jointly denoised with the visuals in the same latent space. In the template, the video latent and the audio latent are first concatenated (LTXVConcatAVLatent), sampled together, then decoded separately with the video VAE and the audio VAE (the audio VAE is built into the main model file), and finally composited into a video with an audio track.
- The speedup comes from a distilled LoRA, not a model swap. In the LTX-2 era there were standalone distilled weights (8 steps, CFG=1); LTX-2.3's text-to-video template turns distillation into a 2.55 GB LoRA attached to the dev main model, and 8 sampling steps with CFG 1 is enough to produce a clip.
ComfyUI ships six native workflows for LTX-2.3, covering everything from generation to control to customization:
| Workflow | What it does | Input |
|---|---|---|
| T2V Text to Video | Generate audio and video directly from text | Prompt |
| I2V Image to Video | Animate an image with sound | One image + prompt |
| FLF2V First-Last Frame | Fill in the transition between two images | First-frame image + last-frame image |
| IA2V Audio-Driven | Lip-synced digital human | One image + one audio clip |
| IC-LoRA Control | Depth/pose/edge-controlled generation | Control video + reference image |
| ID-LoRA Customization | Specify a person's appearance and voice | Reference image + short audio + prompt |
This lesson's main thread gets T2V working end to end; the other five are given a quick overview in step 6—they share most of the model files.
Follow Along
Step 1: Update ComfyUI and Load the LTX-2.3 Text-to-Video Template
Why: the official template has the entire audio-video pipeline configured (text encoding, dual LoRAs, joint sampling, video and audio decoding, compositing and saving), so starting from the template means no missing files and no misfilled parameters.
- Update ComfyUI to the latest version (use the built-in updater on desktop; run the
update_comfyuiupdate script on the portable version) - Open the template library (Browse Templates), go to the Video category, and find LTX-2.3 Text to Video (searching directly for "LTX-2.3" is faster)
- Click to load
You should see:
A large Text to Video (LTX-2.3) wrapper node on the canvas, with an explanatory sticky note beside it and a SaveVideo output node
The wrapper node comes with a sample English prompt (about mechanical parts assembling themselves in mid-air and finally revealing the engraved text "LTX-2.3"—a neat demo of its text rendering capability)
No red nodes at all
Template loaded, no red nodes on the canvas
💡 An outdated version means missing nodes
The minimum version the template library marks for T2V/I2V/FLF2V/IA2V is 0.16.4, the ID-LoRA template requires 0.19.0, and the IC-LoRA template requires 0.22.0. Too old a version will report missing nodes—update first, then play.
Step 2: Download the Five Model Files (Including Domestic Mirrors)
Why: LTX-2.3's text-to-video template needs five files, four of which total about 31 GB (the official source doesn't list the text encoder's size); after loading the template, a popup will download them automatically, and when downloading manually you need to match the file names and directories exactly.
| File | Size | Target directory | Purpose |
|---|---|---|---|
ltx-2.3-22b-dev-fp8.safetensors | 27.14 GB | models/checkpoints/ | 22B main model (fp8 quantized); the audio VAE is built into it too |
ltx_2.3_22b_distilled_1.1_lora_dynamic_fro09_avg_rank_111_bf16.safetensors | 2.55 GB | models/loras/ | Distillation LoRA: fast 8-step sampling |
gemma-3-12b-it-abliterated_lora_rank64_bf16.safetensors | 599.1 MB | models/loras/ | An "unlocked" LoRA attached to the text encoder for better prompt understanding |
gemma_3_12B_it_fp4_mixed.safetensors | — | models/text_encoders/ | Gemma 3 12B text encoder (fp4 quantized version) |
ltx-2.3-spatial-upscaler-x2-1.1.safetensors | 949.6 MB | models/latent_upscale_models/ | Latent 2x upscaler for higher resolution output |
The directory structure looks like this:
ComfyUI/
├── models/
│ ├── checkpoints/
│ │ └── ltx-2.3-22b-dev-fp8.safetensors
│ ├── loras/
│ │ ├── ltx_2.3_22b_distilled_1.1_lora_dynamic_fro09_avg_rank_111_bf16.safetensors
│ │ └── gemma-3-12b-it-abliterated_lora_rank64_bf16.safetensors
│ ├── text_encoders/
│ │ └── gemma_3_12B_it_fp4_mixed.safetensors
│ └── latent_upscale_models/
│ └── ltx-2.3-spatial-upscaler-x2-1.1.safetensors💡 For users in mainland China: the model repositories listed on the template's sticky note have official mirrors on ModelScope—Comfy-Org/ltx-2.3 (LoRAs) and Comfy-Org/ltx-2 (text encoder, gemma LoRA); just search for the repository names. The main model file is in the Lightricks/LTX-2.3-fp8 repository on Hugging Face.
You should see: all five files in place; the five model dropdowns on the wrapper node can each select the corresponding file name, with no red errors.
- The five model files are in place, and every dropdown has the correct file selected
Step 3: Get to Know the Workflow Wrapper Node
Why: this template folds dozens of internal nodes into a single Workflow Wrapper (subgraph); day to day you only need to manage the few parameters on the wrapper node, and when you want to tweak details you can double-click to look inside the pipeline.
The parameters on the wrapper node you'll actually touch:
| Parameter | Template default | Description |
|---|---|---|
| Prompt | Ships with an English example | Write visuals + audio together; see step 4 |
| prompt_enhance | On | Automatic prompt enhancement: expands your prompt with details even if you write it short |
| width / height | 1280 / 720 | Output resolution; internally it first generates a low-resolution latent, then upscales it to the target value with a 2x upscaler |
| duration | 5 | Duration (seconds) |
| fps | 25 | Frame rate |
| seed | Random | Fix the seed for reproducibility |
| Five model dropdowns | The five files from step 2 | This is where you swap weights |
- Don't change anything yet—just familiarize yourself with where each parameter sits
- Double-click the wrapper node to enter it: you can see the full pipeline—the Gemma text encoder loading, two LoRA loaders, audio-video latent concatenation, two sampling passes (8-step generation + 3-step refinement), and separate decoding of video/audio
You should see: the internal subgraph is laid out in the order load models → encode prompt → concatenate audio-video latents → sample → decode → output; sampling uses a CFGGuider with cfg of 1, and the step counts are each controlled by a manual sigma schedule: the low-resolution main generation runs 8 steps, and the refinement pass after 2x latent upscaling runs another 3 steps—the distilled LoRA compresses both passes down to single-digit step counts.
- You can say what each of the seven parameters on the wrapper node controls
Step 4: Write a "visuals + audio" prompt
Why: LTX-2.3 is an audio-video model, so writing only visuals in the prompt wastes half its capability; the official three elements are core action, visual details, audio.
The official prompt structure (the LTX-2 guide applies here too):
- Core action: describe how the event happens and unfolds, in chronological order
- Visual details: write out every detail you want to see—appearance, background, camera position, lighting
- Audio: clearly state what sounds are in the scene and what the characters say
Writing tips: one coherent paragraph, start directly with the action, no preamble; LTX-2 officially recommends keeping it within 200 words.
The official image-to-video template ships with a standard demonstration (the Egyptian queen passage)—write yours following this structure:
An Egyptian royal woman, blue-and-gold headdress and high collar, white gold-embroidered gown and arm bands, desert, two columns of robot soldiers standing in formation on her left and right.
She walks forward steadily, head level, gaze straight ahead—not lowered. The camera performs only one continuous slow push-in:
From a long shot of her, the robot, and the desert, smoothly push in to a medium shot or medium close-up, then hold. She stops walking,
posture and head still upright, and says: "The old gods have fallen silent, and I have not." The robot soldiers march in place or stir slightly,
sand grains and fabric drifting in the wind. No pull-back; the only camera movement is this single continuous push-in.Note that all three elements are present in the example: action order (walk → camera push → stop → speak), visual details (costume, formation, windblown sand), and audio (one line of dialogue + ambient sound). Dialogue goes directly into the prompt; the model will generate the voice along with the lip movement.
Leave the negative prompt as shipped in the template:
pc game, console game, video game, cartoon, childish, uglyYou should see: the prompt box contains one coherent paragraph, with the three elements arranged in the order "core action → visual details → audio", and the dialogue written in quotation marks.
- The prompt contains action, visual details, and audio description together
Step 5: Generate and check the audio-video output
Why: once you run one complete pass, you'll know what "audio-visual sync" actually looks like.
- Keep the template's default parameters (1280×720, 5 seconds, 25fps) and replace the prompt with your own
- Press
Ctrl+Enterto run - When generation finishes, play the output video, with sound on
You should see:
The two sampling passes total 11 steps (8-step generation + 3-step refinement, accelerated by the distilled LoRA), far fewer than the usual 20+ steps of video models
The SaveVideo node outputs a video file with an audio track; if there is dialogue in the visuals, the lip movements match the sound
1280×720, about 5 seconds, 25fps
The output video plays with sound, audio and visuals in sync
Resolution 1280×720, duration about 5 seconds
Step 6: Switch to the other five LTX-2 ComfyUI workflows (optional)
Why: the six LTX-2.3 workflows share most of the model files; if you know one, you know all six—just pick the template for the task.
| Template (template library search term) | Purpose | Extra files to prepare |
|---|---|---|
| LTX-2.3 I2V | Animate a single image with sound | None; same models as T2V |
| LTX-2.3 FLF2V | First-to-last frame transition | Additionally download the distilled main model ltx-2.3-22b-distilled-fp8.safetensors (checkpoints/); the distilled LoRA and upscaler are not used |
| LTX-2.3 IA2V | Image + audio lip sync | None; same models as T2V; upload a character image and an audio clip |
| LTX-2.3 IC-LoRA | Depth/pose/edge control | Distilled main model + IC-LoRA weights ltx-2.3-22b-ic-lora-union-control-ref0.5.safetensors (loras/) + MoGe normal model moge_2_vitl_normal_fp16.safetensors (geometry_estimation/, a new directory) |
| LTX-2.3 ID-LoRA | Customize a character's look and voice | Same models as T2V, plus ltx-2.3-id-lora-talkvid-3k.safetensors (loras/); upload a reference image and a short audio clip |
A few points worth noting:
- FLF2V and IC-LoRA use a standalone distilled main model(
ltx-2.3-22b-distilled-fp8), not a combination of the dev main model plus a distillation LoRA—don't download the wrong one - IA2V and ID-LoRA both take “image + audio”: IA2V makes the person in the image lip-sync to the audio; ID-LoRA goes further, customizing both the character's appearance from the reference image and the voice from the audio
- The IC-LoRA template internally uses Subgraphs for modularization, and also supports connecting outputs from depth, Canny edge, pose skeleton, and various other preprocessors
You should see: after switching templates, the canvas structure is largely the same—still a wrapper node plus output nodes, just with extra entry points for uploading images or audio; missing model files will trigger a popup prompting download when loading.
- Know how to pick a template based on the task, and check the model files each template requires
Checkpoint ✅
- Generated videos come with a built-in audio track: ambient sound, dialogue, and visuals are synchronized, and the lip movements match
- Can name what each of the five model files is: main model (with audio VAE built in), distillation LoRA, gemma abliteration LoRA, text encoder, latent upscaler
- Know that the speedup comes from the distillation LoRA: 8 steps, CFG 1, not from forcibly lowering parameters
- All three prompt elements are in place: core action (in chronological order), visual details, audio
- Know how to choose among the six workflows: T2V/I2V for normal generation, FLF2V for locking first and last frames, IA2V for lip-syncing, IC-LoRA for control, ID-LoRA for custom characters
Pitfall Reminders
❌ ComfyUI version too old, loading the template reports missing nodes
The LTX-2.3 templates use relatively new native node and Subgraph features; the minimum version noted in the template library is 0.16.4 (ID-LoRA 0.19.0, IC-LoRA 0.22.0). Below that version, red nodes or missing-node errors will appear after loading.
Correct approach: update ComfyUI first, then load the template; the four basic templates just need updating to 0.16.4 or above, and IC-LoRA requires 0.22.0 or above.
❌ Model files downloaded incorrectly or placed in the wrong directory
Of the five files, the two LoRAs both go in models/loras/; the distillation LoRA and the gemma abliteration LoRA both have fairly long names and are the easiest to mix up when downloading manually; the text encoder goes in text_encoders/, not loras/.
Correct approach: after loading the template, let the popup download automatically first (it will place the files correctly); if downloading manually, check each one against the directory tree in step 2, then verify the filenames selected in the wrapper node's five dropdowns.
❌ Maxing out resolution and duration right away, VRAM explodes
The 22B main model is very VRAM-hungry even with fp8 quantization; the template defaults of 1280×720 and 5 seconds are the officially tuned balance point—directly doubling resolution or duration easily causes OOM.
Correct approach: first get it running with default parameters; after confirming you can produce output, adjust parameters in small steps to probe the VRAM limit, testing after each change.
❌ Writing the prompt as prose poetry, with the action order left to guesswork
LTX-2.3 understands prompts in chronological order; pile on atmosphere words without clearly stating the sequence of events and the model improvises freely; writing too long (over 200 words) actually dilutes the focus.
Correct approach: one coherent passage, starting with the core action and proceeding in order of occurrence; details and audio come after; write dialogue directly inside quotation marks.
Advanced Tips (Optional)
Using IC-LoRA editing templates for “video restoration”
The template library also includes five IC-LoRA-based editing templates: Remove Subtitles, Remove Object, Restore Archival Footage, Video Outpainting, Googly Eyes (adding cartoon googly eyes). Just search the template name to load one; usage is identical to the IC-LoRA control template.
The official Remove Subtitles template's prompt can be copied directly and adapted:
Remove subtitles, captions, and related text occlusions from the video,
restoring a clean and natural underlying image.Community IC-LoRAs can also be attached
LTX-2.3's IC-LoRA interface is open, and community weights (such as joyfox's LTX2.3-ICEdit-Insight) are equally compatible: after downloading, put them in models/loras/, attach them next to the main model with a LoRA loader, and wire them following the structure of the official editing template.
Multi-GPU acceleration
The template internally includes a LTXVSequenceParallelMultiGPUPatcher node—with multiple GPUs, use it for sequence parallelism, splitting the 22B model's sampling across multiple cards.
Lesson Summary
✅ This lesson brought sound into ComfyUI video generation, running the LTX-2 ComfyUI workflow through:
- ✅ Audio-visual in one: LTX-2.3 generates visuals and sound simultaneously in a single inference; the audio VAE is built into the main model file, no extra download needed
- ✅ All five model files in place (four totaling about 31 GB), one-click download via the template popup, with the ModelScope mirror available in China
- ✅ Speedup via the distillation LoRA: 8 steps, CFG 1; the balance between output speed and quality has already been tuned by the officials
- ✅ Three prompt elements: core action (in chronological order) + visual details + audio, within 200 words
- ✅ Six workflows chosen by task: T2V, I2V, FLF2V, IA2V, IC-LoRA, ID-LoRA
Key configuration fields recap:
| Field | Recommended Value | Notes |
|---|---|---|
| Checkpoint | ltx-2.3-22b-dev-fp8.safetensors(27.14 GB) | 22B main model, audio VAE built in |
| Distillation LoRA | ltx_2.3_22b_distilled_1.1_lora_dynamic_fro09_avg_rank_111_bf16.safetensors(2.55 GB) | 8-step fast sampling |
| gemma abliteration LoRA | gemma-3-12b-it-abliterated_lora_rank64_bf16.safetensors(599.1 MB) | Attached to the text encoder |
| Text encoder | gemma_3_12B_it_fp4_mixed.safetensors | fp4 quantized version |
| Latent upscaler | ltx-2.3-spatial-upscaler-x2-1.1.safetensors(949.6 MB) | 2× resolution |
| Wrapper node | 1280×720 / duration 5 / fps 25 | prompt_enhance on by default |
| Sampling | 8-step generation + 3-step refinement / CFG 1 | Distillation LoRA acceleration |
| Negative prompt | pc game, console game, video game, cartoon, childish, ugly | Included with the template, keep unchanged |
Next Lesson Preview
LTX-2.3 generates one video segment with audio at a time; the next lesson's LTX-2.5: multi-shot storytelling, 4K HDR, and DFR push the length and specifications even further. You will learn:
- Multi-shot storytelling: cutting between multiple shots within a single video
- 4K HDR output and DFR (Diffusion Fidelity Rendering, which allocates rendering compute based on scene complexity)
- How to use the distilled version of LTX-2.5
Appendix: Source Code Reference
Click to expand and view the source code location
Last updated: 2026-11-06 (template video_ltx2_3_t2v and others from the template library, officially marked with a minimum ComfyUI version of 0.16.4)
| Content | Location |
|---|---|
| Official tutorial (LTX-2.3, six workflows) | https://docs.comfy.org/tutorials/video/ltx/ltx-2-3 |
| Official tutorial (LTX-2, prompt guide) | https://docs.comfy.org/tutorials/video/ltx/ltx-2 |
| Advanced prompt guide | https://ltx.video/blog/how-to-prompt-for-ltx-2 |
| Workflow template JSON (T2V) | https://github.com/Comfy-Org/workflow_templates/blob/main/templates/video_ltx2_3_t2v.json |
| Weights repository (Hugging Face) | https://huggingface.co/Lightricks/LTX-2.3 |
| Weights repository (ModelScope mirror) | https://modelscope.cn/models/Comfy-Org/ltx-2.3 |
| LTX-2 model homepage | https://huggingface.co/Lightricks/LTX-2 |
The parameters on this page (wrapper node defaults 1280×720 / duration 5 / fps 25, prompt_enhance enabled by default, 8-step sampling with CFG 1, negative prompt, the five model filenames and sizes, the ModelScope mirror repository name, and the minimum versions for each template 0.16.4 / 0.19.0 / 0.22.0) were all verified against the template JSON video_ltx2_3_t2v.json, video_ltx2_3_i2v.json, the actual node values and built-in notes, as well as the minComfyUIVersion field in templates/index.json; the six workflows and model list, the IC-LoRA editing template, and community IC-LoRA compatibility come from the official tutorial ltx-2-3.mdx; the basic facts about LTX-2 (19B, 200-word prompt recommendation, standalone distilled weights) come from ltx-2.mdx.