LTX-2 19B · Text to Video
20 seconds with a soundtrack for under thirty cents
- video
- task id
What it is
LTX-2 19B, text in, video with synchronized stereo sound out, 16:9 or 9:16, 5 to 20 seconds in one clip, at from $0.0144 per second. No image needed, no reference, no mask. It's the cheapest video row in this pack by a distance and the only cheap one that hands you audio without a second pass.
The model itself is Lightricks' - the January 2026 open-weights release that made "video and audio generated together" an open-source claim rather than a Veo exclusive, 19B parameters with a Gemma 3 12B text encoder behind it. Locally, that encoder is the story everyone remembers: 22 GB of it, OOM errors on plenty of cards, and a cottage industry of quantised workarounds and prompt-enhancer bypasses. There's none of that here. The encoder runs on somebody else's machine and you never think about it again.
The inputs
Four fields, and one of them is the entire craft of the thing.
- prompt - "describe the scene, the action, the camera and the sound. Put the soundtrack on its own Audio: line." That's the node's own tooltip, and it's the most useful sentence on this page. LTX-2 builds picture and audio in one pass, so if you don't say what it should sound like, you get whatever ambience it improvises. Give it an
Audio:line. Named sounds, speech in quotes, music style, room tone. - aspect_ratio - 16:9 or 9:16. There is (famously) no native portrait training before 2.3, so the 9:16 here is the model's cropped/letterbox path rather than vertical-trained output; if you're building for Reels, check the framing rather than assuming.
- duration_seconds - 5 to 20. Twenty seconds in one continuous take is LTX's differentiator, and at this rate you can actually use the top of that range.
- seed - real and repeatable. Same seed, same settings, same clip. Changing it asks again.
Outputs are video - an ordinary ComfyUI VIDEO for Save Video - and task id, the string naming the exact request on SpicyAPI for the console or support.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/spicyapi-ai/comfyui-spicyapi
Restart ComfyUI, then Settings > SpicyAPI and paste a key from spicyapi.ai/console/keys; restart once more so the node list is rebuilt from your account. On a server, set SPICY_API_KEY in the environment - the key lives in the ComfyUI user folder and never ends up in a workflow file or an image's metadata, which is the one security question worth asking of any API node. Nothing else to install: the pack adds no Python dependencies and downloads no weights. ComfyUI Manager users can search the pack title, SpicyAPI. Python 3.10+ and a reasonably current ComfyUI (V3 node API; tested on 0.39).
Honest caveats
Prompt adherence is LTX's weak axis, not its strength. Community consensus through 2026 was that Wan followed prompts better and LTX traded some of that for speed, length and audio. You're paying fourteen-tenths of a cent per second, so the profitable technique is volume: generate several takes on different seeds and pick, rather than grinding one prompt into shape.
The lyrics trick doesn't work. The generated audio is soundtrack-shaped - ambience, effects, music-ish, sometimes speech - and it's the reason LTX-2 earned its following in music-video and lip-sync work. It is not a reliable voice-performance machine, and the model that nails a specific line of dialogue is a different purchase.
Licence, briefly. LTX-2 ships under Lightricks' community licence, not Apache 2.0: free below $10M revenue, hosting explicitly allowed, derivatives share-alike, and an acceptable use policy that bans sexually explicit output even though the weights carry no such filter. Note that the "Spicy" nodes in this pack are a different build with a different posture - this isn't one of them.
Billing mechanics. Seeds default to fixed so a repeated queue press reuses the cached result instead of buying another generation. Max cost per run in the settings panel refuses anything quoted above your ceiling before a charge lands. And cancelling stops your wait, not the job: it keeps running server-side, is charged if it succeeds, and stays in your console for up to 14 days.
Audio artifacts are a known 2.x complaint. If a run comes back with mumbling or random sounds, that's the model generation, not your settings - 2.3's rewritten vocoder is the fix, and this node is the 19B.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Describe the scene, the action, the camera and the sound. Put the soundtrack on its own Audio: line. | |
| aspect_ratio | COMBO | 16:9 | Output aspect ratio. |
| resolution | COMBO | 720p | Output resolution. |
| duration_seconds | INT | 55–20 | Requested output length in whole seconds, from 5 to 20. |
| seed | INT | 00–2147483647 | Same seed and settings, same result. Set 'control after generate' to randomize to get a new result on every run; every run is billed. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| task id | STRING | The SpicyAPI task id, for the console logs or support. |