Skip to navigation

Quick Start

Get started with the LTX API in minutes

Get your API Key

Sign in to the Developer Console to create your API key.

Create API Key

Make your first request

Video generation runs as a background job: you submit a request, check its status until it finishes, then download the video.

1. Submit a job

Request
curl -X POST https://api.ltx.io/v2/text-to-video \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "A majestic eagle soaring through clouds at sunset",
"model": "ltx-2-5-pro",
"duration": 8,
"resolution": "1920x1080"
}'

The API responds with 202 Accepted and a job ID:

{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"created_at": "2026-01-15T10:00:00.000Z"
}

2. Check the job status

Use the job ID to check the status:

Request
curl https://api.ltx.io/v2/text-to-video/YOUR_JOB_ID \
-H "Authorization: Bearer YOUR_API_KEY"

While the job runs, status is pending or processing. Wait at least 5 seconds between checks. When status is completed, the response includes the video URL:

{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"status": "completed",
"created_at": "2026-01-15T10:00:00.000Z",
"completed_at": "2026-01-15T10:02:30.000Z",
"result": {
"video_url": "https://storage.googleapis.com/example/video.mp4"
}
}

If status is failed, the error field explains why.

3. Download the video

Request
curl -L -o video.mp4 "VIDEO_URL"

Replace VIDEO_URL with result.video_url from the previous step. The URL expires, so download the video as soon as the job completes. Other endpoints may return different keys in result; see Result format.

For a complete script that submits, checks the status, and downloads in Python, TypeScript, or cURL, see Async Jobs.

Image-to-Video

To animate a still image, submit to /v2/image-to-video and check the status at /v2/image-to-video/YOUR_JOB_ID. The other steps are the same.

Request
curl -X POST https://api.ltx.io/v2/image-to-video \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"image_uri": "YOUR_IMAGE_URI",
"prompt": "Clouds drifting across the sky as the sun sets slowly",
"model": "ltx-2-5-pro",
"duration": 8,
"resolution": "1920x1080"
}'

Replace YOUR_IMAGE_URI with a publicly reachable HTTPS URL to your image. You can also upload the image and pass the returned ltx:// URI, or inline it as a base64 data URI — see Input Formats.

Next Steps