Ltx 2.5 Image To Video API Documentation

Ltx 2.5 Image To Video API Documentation

Playground

Try it on WaveSpeedAI!

LTX 2.5 Image-to-Video animates a first-frame image into high-fidelity synchronized audio-video content, with optional last-frame guidance and 720P / 1080P / 2K / 4K output for cinematic videos, social content, ads, and production workflows. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.

Features

LTX-2.5 Image-to-Video animates a first-frame image into a synchronized video with native audio. You can also provide an optional last-frame image to guide the ending of the clip, making it useful for controlled image animation and start-to-end-frame video generation.


Why Choose This?

  • Image-to-video generation
    Animate a still image into a coherent video with prompt-guided motion.

  • Optional last-frame control
    Use last_image to guide the final frame and improve transition direction.

  • Native audio generation
    Generate synchronized audio together with the video output.

  • Multiple resolution options
    Choose from 720p, 1080p, 2k, or 4k depending on quality and cost needs.

  • Controlled duration
    Generate videos from 5 to 20 seconds.

  • Simple workflow
    Provide a first-frame image, write a prompt, choose resolution and duration, then generate the final video.


Parameters

ParameterRequiredDescription
imageYesFirst-frame image URL or Base64-encoded image.
last_imageNoOptional last-frame image URL or Base64-encoded image used to guide the ending of the clip.
promptYesText description of the motion, scene, camera movement, visual style, and audio direction.
resolutionNoOutput resolution: 720p, 1080p, 2k, or 4k. Default: 720p.
durationNoVideo length in seconds. Range: 5–20.
seedNoRandom seed. Use -1 for a random seed.

How to Use

  1. Upload the first-frame image — Provide the image that should guide the beginning of the video.
  2. Add last-frame guidance optional — Use last_image when you want more control over the final frame.
  3. Write your prompt — Describe the subject motion, scene development, camera movement, style, and audio direction.
  4. Choose resolution — Select 720p, 1080p, 2k, or 4k.
  5. Set duration — Choose a video length from 5 to 20 seconds.
  6. Set seed optional — Use a fixed seed for more reproducible results, or -1 for a random seed.
  7. Submit — Generate the final image-to-video output with synchronized audio.

Pricing

Pricing is based on generated video duration and selected resolution.

Native audio is included at every resolution and does not add a separate charge.

ResolutionPer second5s10s20s
720p$0.10$0.50$1.00$2.00
1080p$0.14$0.70$1.40$2.80
2k$0.21$1.05$2.10$4.20
4k$0.33$1.65$3.30$6.60

Best Use Cases

  • Image animation — Turn still images into short motion clips.
  • Start-and-end-frame control — Use image and last_image to guide both the beginning and ending of the video.
  • Product videos — Animate product images into polished promotional clips.
  • Character motion — Add movement, expression, or camera motion to character images.
  • Social media content — Create short videos for vertical, square, or widescreen formats.
  • Creative prototyping — Test motion direction, audio style, and scene pacing from a still image.

Pro Tips

  • Use a clear, high-quality first-frame image for stronger subject preservation.
  • Use last_image when the final pose, composition, or ending frame matters.
  • Keep first and last frames visually compatible for smoother transitions.
  • Describe motion, camera movement, lighting, mood, and audio cues in the prompt.
  • Use shorter durations for quick iteration and longer durations when the action needs more time.
  • Set a fixed seed when you want more reproducible outputs.

## Authentication

For authentication details, please refer to the [Authentication Guide](/api-authentication).

## API Endpoints

### Submit Task & Query Result

<ApiTabs submitUrl={model.submitUrl} resultUrl={model.resultUrl} payload={model.defaultValues} />

## Parameters

### Task Submission Parameters

#### Request Parameters

<RequestParams params={model.params} />

#### Response Parameters

<SubmitResponse />

#### Result Request Parameters

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| id | string | Yes | - | Task ID |

#### Result Response Parameters

| Parameter | Type | Description |
|-----------|------|-------------|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., "success") |
| data | object | The prediction data object containing all details |
| data.id | string | Unique identifier for the prediction |
| data.model | string | Model ID used for the prediction |
| data.outputs | array&lt;string \| object&gt; | Array of generated outputs (empty when status is not completed). Items are usually URL strings, but may be text strings or structured result objects, depending on the model. |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to poll for the prediction result |
| data.status | string | Status: `created`, `processing`, `completed`, or `failed` |
| data.created_at | string | ISO timestamp of when the request was created |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |
© 2026 WaveSpeedAI. All rights reserved.