Lightricks LTX 2 Pro Image-to-Video
Short clips with sound, billed through WaveSpeed
- client
- video_url
LTX 2 Pro Image-to-Video takes a source image and a sentence and returns a short video clip - 6, 8, or 10 seconds, with synchronized audio if you want it. It's one of the WaveSpeed-hosted video nodes in the ERPK Collection, which means you're paying per generation to run Lightricks' model in the cloud rather than burning VRAM locally. If you want an image that actually moves and talks without running a 13B+ model on your own GPU, this is the whole pitch.
The LTX family's identity is speed and audio: the KB's panel on it describes a family that drafts in seconds and bet the LTX-2 generation on synchronized audio-video generation. LTX 2 Pro follows that - the generate_audio toggle (on by default) gives you a clip with native sound, which is the feature you can't get from most open local video pipelines. It's also still a tier below the big models on faces and complex motion, so think of it as a motion-draft tool, not a physics simulator.
The inputs
image- the source image URL to animate (a string, not an IMAGE tensor)prompt- what the animation should do, max 5000 charsduration- the dropdown: 6, 8, or 10 seconds (LTX 2 Pro's supported values)generate_audio- synchronized audio on/offseed- this one's subtle, read belowclient- optional WaveSpeed client, falls through to ERPK Settings
The single output is video_url (STRING). Wire it into the pack's Preview Anything node, which detects video URLs, previews them, and offers a Download button. That's the standard pattern for every video node here - a URL string, not a tensor, because ComfyUI has no native video tensor type.
The seed trap
The seed widget on this node is not a generation seed - the tooltip is explicit that this endpoint has no seed parameter, so the value is never sent to the API. It's cache control. Leave it on randomize and every queue triggers a fresh, re-billed generation. Set a fixed value and ComfyUI can serve the cached result and skip the call entirely. That's a deliberate design: it stops you from accidentally re-paying for the same clip when you re-run a workflow. LTX 2.3's seed, by contrast, is a true generation seed - don't get them mixed up.
Install and setup
cd ComfyUI/custom_nodes
git clone https://github.com/eRepublik-Labs/comfyui-nodes-erpk.git erpk
cd erpk && pip install -r requirements.txt
Or install "ERPK Custom Nodes" from ComfyUI Manager and restart. Then put a WaveSpeed API key in ERPK Settings (right-click canvas > ERPK Settings) - that's what this and every other WaveSpeed node bills through. The pack polls with a 10-second interval and a 15-minute timeout, so a multi-minute generation run just blocks the node until it's done.
Troubleshooting
The two errors you'll actually see are "Image URL is required" and "Prompt is required" - the node validates both before it spends your money, which is nice. If a generation runs but nothing appears, remember the output is a URL: you need Preview Anything (or any URL preview node) on the video_url output to see it. And if you're on a budget, check whether generate_audio is really earning its keep for your use case - audio generation is billed with the video, and a silent clip is cheaper than you might expect. Actually, check the WaveSpeed pricing page for the current per-second rate before you queue a batch of 10-second clips.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| image | STRING | Source image URL to animate. | |
| prompt | STRING | Text description guiding the animation (max 5000 chars). | |
| clientopt | WAVESPEED_AI_API_CLIENT | WaveSpeed API client (optional if API key is configured in Settings) | |
| durationopt | COMBO | 6 | Output duration in seconds. LTX 2 Pro supports 6, 8, or 10. |
| generate_audioopt | BOOLEAN | true | Generate synchronized audio with the video. |
| seedopt | INT | -1-1–2147483647 | Cache control: randomize re-runs generation each queue; a fixed value reuses the cached video. This endpoint has no seed parameter, so it is not sent to the API. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video_url | STRING | — |