Nodes/SpicyAPI/LTX-2 19B LoRA · Image to Video
ComfyUI Node

LTX-2 19B LoRA · Image to Video

Your own weights, no GPU, no VAE archaeology

By spicyapi-ai·Created 21 days ago·Updated 2 days ago· 2
LTX-2 19B LoRA · Image to Video
  • image_url
  • loras
  • video
  • task id
◄prompt►
◄resolution720p►
◄duration_seconds5►
◄seed0►

What it does differently

Same LTX-2 19B image-to-video as its sibling, same stereo soundtrack, same 5-to-20-second range, same photo-decides-the-shape behaviour - but with a loras input. Feed it up to three LTX-2 19B LoRA files and the model runs with them applied.

That's the interesting part. LTX has an official trainer and a real LoRA scene - camera moves, styles, control adapters for pose, depth and canny, character work - and locally all of it comes with homework: the 22 GB Gemma encoder, quantised text encoders, the FP8/GGUF conversion dance, and (in the 2.3 era) resolution divisibility and frame-count rules that fail rather than round. Here you point at a .safetensors URL and pick a strength. The LoRA still has to be trained for LTX-2 19B, and files over 2 GiB get rejected, but nothing else about it touches your machine.

Wiring the LoRA

loras is a SPICY_LORAS socket, which means you don't type a URL into the model node - you add a separate SpicyAPI LoRA node, put the direct download link and a strength from 0 to 4 on it, and connect its output here. Chain several LoRA nodes to stack them; the model accepts up to three. The link must open without a login - a Google Drive or Civitai page that wants a session will not work, and neither will a folder.

Everything else on the node:

  • prompt - action, camera and sound; LTX generates audio in the same pass, so describe what you want to hear as well as what you want to see.
  • image_url - the opening frame, and the source of the clip's aspect ratio.
  • resolution - 720p by default; higher tiers cost more per second.
  • duration_seconds - 5 to 20.
  • seed - genuine and repeatable, so you can change one LoRA strength and hold everything else still while you compare.

Outputs are video (→ Save Video) and task id, which names the request on SpicyAPI if you need to ask support about it.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/spicyapi-ai/comfyui-spicyapi

Restart ComfyUI, then Settings > SpicyAPI → paste a key from spicyapi.ai/console/keys → restart once so the node list comes from your account. Servers can set SPICY_API_KEY. Nothing to install beyond the pack: no dependencies, no weights, no GPU. ComfyUI Manager: search the pack title, SpicyAPI. Recent ComfyUI (V3 node API, tested on 0.39), Python 3.10+.

Practical notes

Strength 0 to 4 is a wider range than a local LoRA loader gives you, and that's not generosity - video LoRAs, and especially distilled and control adapters, genuinely get used above 1.0. Start at 1.0 and move in noticeable steps; with a fixed seed you can tell what the weight did.

Your LoRA must match the checkpoint generation. A LoRA trained against LTX-2 19B isn't a 2.3 LoRA, and stacking a mismatch is how you get mush, not a style. The 2.3-era note from the community is worth keeping: files labelled "LTX-2" may or may not apply to 2.3, and the naming is a known mess the vendor acknowledged.

Hosting the file is on you. Any URL that serves a .safetensors without a login will do; a rotting link is the most common cause of a run that fails before it starts. If a run dies at the request stage nothing was charged, but you've paid in time.

Remember which generation you're on. This is the 19B - the release whose I2V earned a reputation for frozen frames and slow zooms before 2.3 fixed it. LoRAs help with style, not with getting the subject to move. If a clip is static, that's the model's known weakness; describe more motion, and keep the take you like.

Billing behaviour is the same as the rest of the pack. Seeds default to fixed so a repeated Queue press reuses the cached result rather than buying a second generation; Max cost per run in the settings panel stops anything over your ceiling before it's charged; and cancelling stops your wait, not the job - it keeps running on SpicyAPI, is charged if it succeeds, and stays in your console for up to 14 days.

CategorySpicyAPI/Video/Lightricks

Inputs (6)

NameTypeDefaultDescription
promptSTRINGDescribe what happens after the opening frame: the action, the camera and the sound.
image_urlIMAGEOpening frame. The clip starts from this image and keeps its aspect ratio.
resolutionCOMBO720pOutput resolution.
duration_secondsINT55–20Requested output length in whole seconds, from 5 to 20.
seedINT00–2147483647Same seed and settings, same result. Set 'control after generate' to randomize to get a new result on every run; every run is billed.
lorasoptSPICY_LORASUp to three LoRA weight files trained for LTX-2 19B, each with its own strength. Files over 2 GiB are rejected.

Outputs (2)

NameTypeDescription
videoVIDEO—
task idSTRINGThe SpicyAPI task id, for the console logs or support.