LTX-2
The synchronized-audio video model, now a single ComfyUI node
- frameImages
- video
LTX-2 is the model that taught people why audio matters. Lightricks' second-generation video model generates synchronized video and audio in one pass - characters talk, footsteps land, the whole clip has a sound bed that lines up - and it's the thing Wan still can't quite match. Running it locally is a 19B model with a giant text encoder and a documented VRAM headache. Running it through this node is just a prompt.
This is the API version of LTX-2, hosted on Runware's cloud through the ComfyUI-Runware pack. If you've ever wrestled the local ComfyUI-LTXVideo workflow, the difference is night and day: no Gemma text encoder to offload, no OOM fights, no distilled-LoRA juggling. You pay per render and the node prints the cost.
How it works
The node sends model AIR lightricks:ltx@2 with a videoInference task to Runware's REST API, then downloads the MP4 and wraps it as a native VIDEO output. The controls are the ones LTX users already know:
positivePromptandduration- both required. Duration runs 1–20 seconds, so this is a longer-form model than most video nodes.negativePrompt- works as expected, though it's ignored when guidance is disabled (CFG ≤ 1).width/height- 1024 default. LTX rewards detail; the community's number one tip is to pack the prompt with camera moves and quality keywords or you get soft, generic motion.steps- 40 default.CFGScale- 4.fps- 25.settings.enhancePrompt- on by default. LTX's automatic prompt enhancement is genuinely useful for cinematic results, but it's also the thing that rewrites your carefully worded prompt, so turn it off when you need exact control.numberResults- 1–4 variations.
Feed frameImages (IMAGE) for image-to-video. The output is one video socket (type VIDEO) into Preview Video or Save Video.
Installing it
One-time pack install:
cd ComfyUI/custom_nodes
git clone https://github.com/Runware/ComfyUI-Runware
pip install -r ComfyUI-Runware/requirements.txt
Restart, set your key via ComfyUI Settings → Runware API key, RUNWARE_API_KEY, or runware auth login. Dependencies are just the SDK, pillow, and soundfile.
Where people get burned
Expecting Wan-tier prompt adherence. LTX's honest position in the community is "fast and great with sound, weaker than Wan on strict prompt following" - the API doesn't change that. If your renders look generic, the culprit is almost always a thin prompt or enhancePrompt mangling your intent, not the model. And note this is the base LTX-2: the fixed, much better 2.3 node is a separate model in this pack, and it's where most people land after trying 2.
The output
One video socket, type VIDEO, into a preview or save node. Older ComfyUI builds degrade it to a saved file path - update ComfyUI for the native type.
Inputs (18)
| Name | Type | Default | Description |
|---|---|---|---|
| positivePrompt | STRING | Text prompt describing elements to include in the generated output. | |
| duration | INT | 11–20 | Length of the generated video in seconds. The total number of frames produced is determined by duration multiplied by the model's frame rate (fps). |
| frameImagesopt | IMAGE | — | |
| negativePromptopt | STRING | Prompt to guide what to exclude from generation. Ignored when guidance is disabled (CFGScale ≤ 1). | |
| widthopt | INT | 1024128–2048 | Width of the generated media in pixels. |
| heightopt | INT | 1024128–2048 | Height of the generated media in pixels. |
| stepsopt | INT | 401–100 | Total number of denoising steps. Higher values generally produce more detailed results but take longer. |
| CFGScaleopt | FLOAT | 4.001–20 | Guidance scale representing how closely the output will resemble the prompt. Higher values produce results more aligned with the prompt. |
| fpsopt | INT | 251–120 | Frames per second for video generation. Higher values create smoother motion but require more processing time. |
| numberResultsopt | INT | 11–4 | Number of results to generate. Each result uses a different seed, producing variations of the same parameters. |
| settings.enhancePromptopt | BOOLEAN | true | Enable automatic prompt enhancement for cinematic results. |
| safetyopt | BOOLEAN | false | Enable to set safety. Off uses the model's default. |
| safety.checkContentopt | BOOLEAN | false | Enable or disable content safety checking. |
| safety.modeopt | COMBO | fast | Safety checking mode for video generation. |
| ttlopt | BOOLEAN | false | Enable to set ttl. Off uses the model's default. |
| ttl_valueopt | INT | 60 | Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`. |
| outputFormatopt | COMBO | MP4 | File format for the generated video. |
| outputQualityopt | INT | 9520–99 | Compression quality of the output. Higher values preserve quality but increase file size. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |