Introduction
LTX-2 19B LoRA Image to video animates one photo with up to three of your LoRA files loaded and a soundtrack generated in the same pass. It runs Lightricks' open 19-billion-parameter audio-video model; clips run 5 to 20 seconds at 480p, 720p or 1080p in the photo's own shape. The platform adds no content filter.
Choose a mode by starting material
| What you have | Mode |
|---|---|
| a written description | LTX-2 19B LoRA Text to video |
| a photo to animate | LTX-2 19B LoRA Image to video |
| a photo, no LoRA | LTX-2 19B Image to video |
Key features & highlights
Camera moves on your photo
The official Dolly In and Dolly Out LoRAs push in or pull back from the photo you send.
Styles redraw the frame
A style LoRA turns your photo into its style as the clip starts; in our test a photograph became cel animation.
Sound included
Every clip has a stereo soundtrack; describe it on an "Audio:" line.
Uncensored with custom weights
LoRAs are not reviewed and nothing is filtered.
Request parameters
| Parameter | Required | Description |
|---|---|---|
prompt | Yes | Required. Trigger words first if your LoRA has them, then what happens next in this picture, the camera, and an "Audio:" line. at least 1 characters |
image_url | Yes | The opening frame. The clip starts from this photo and keeps its aspect ratio; a public, directly downloadable link. |
resolution | No | 480p, 720p (the default) or 1080p. Each step costs more per second; the shape follows your photo. |
duration_seconds | No | Any whole second from 5 to 20, billed per second. |
loras | No | Up to three {path, scale} entries trained for LTX-2 19B; each file under 2 GiB, scale 0 to 4 (1 for camera LoRAs, start style LoRAs at 0.5). Default: |
seed | No | Keeps runs comparable while you tune a LoRA scale. It does not promise a frame-identical clip. |
Pricing
Billed per second of output at the chosen resolution. Loading LoRAs adds no separate charge, and the shape of your photo does not change the price.
| Specification | Price |
|---|---|
| $0.018 / second |
| $0.024 / second |
| $0.036 / second |
Use cases
Reveal shots from stills
Pull back from a portrait to show where it was taken.
Stylised animation of real photos
One style LoRA, a set of photos, a consistent animated look.
Apps without a content filter
Animate users' own images with the LoRAs they choose; adults only.
Prompt guide & pro tips
Stay in the picture
A prompt about another place can make the clip cut away from your frame.
Camera LoRAs at 1, styles at 0.5
Styles at full strength also change faces and sets.
Mind the 2 GiB limit
Larger LoRA files fail the request, which is not charged.
Use direct, public links
Link to the .safetensors file itself, not the repository page.
API quick start
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "lightricks/ltx-2-19b-lora/image-to-video",
"input": {
"duration_seconds": 5,
"image_url": "https://example.com/reference.png",
"prompt": "A slow aerial shot drifting over a misty pine forest at sunrise",
"resolution": "720p"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
See the API reference for authentication, the complete schema, polling, and error handling.













