---
title: "Generate video from image"
method: POST
path: "/v1/image-to-video"
tags: ["videoGeneration"]
---

# Generate video from image

`POST /v1/image-to-video`

Animate a still image with realistic motion, depth, and audio. Provide a reference image plus a prompt describing the desired motion. The output preserves the visual identity of the source image.

Returns the generated video directly in the response. For an asynchronous version that returns a job to poll, see [v2/image-to-video](/api-documentation/api-reference/async-video-generation/submit-image-to-video).

Billed per second of generated video. See [Pricing](/pricing).

## Headers

- `Authorization` string, required

## Request body

- ImageToVideoRequest
  - `image_uri` string, required — Image to be used as the first frame of the video. See [Input Formats](/input-formats#image-input) for supported formats and size limits.
  - `prompt` string, required — Text description of how the image should be animated, can relate to the details in the image
  - `model` 'ltx-2-3-fast' | 'ltx-2-3-pro' | 'ltx-2-5-fast' | 'ltx-2-5-pro', required — Model to use for generation. See [Supported Models](/models) for details.
  - `duration` integer, nullable, required — Video duration in seconds. See [Supported Models](/models) for available durations per model. Pass `null` to let `ltx-2-5-fast` or `ltx-2-5-pro` choose the length from your prompt — see [Automatic duration](/models/ltx-2-5#automatic-duration). Cannot be combined with `last_frame_uri`.
  - `fps` integer — Frame rate in frames per second. See [Supported Models](/models) for available FPS per model and resolution.
  - `resolution` string, required — Output video resolution. See [Supported Models](/models) for available resolutions per model.
  - `generate_audio` boolean — Generate audio for the video. When true, the generated video will include AI-generated audio matching the scene. When false, only silent video is generated.
  - `last_frame_uri` string — Image to be used as the last frame of the video. When provided, the video will interpolate between the first frame (image_uri) and this last frame. See [Input Formats](/input-formats#image-input) for supported formats and size limits.
  - `camera_motion` 'dolly_in' | 'dolly_out' | 'dolly_left' | 'dolly_right' | 'jib_up' | 'jib_down' | 'static' | 'focus_shift' — Apply camera motion effects to the generated video.

## Response `200`

Video generated successfully

## Other responses

- `400` — The request is invalid or malformed
- `401` — Authentication failed
- `422` — Content rejected by safety filters
- `429` — Concurrency or queue limit exceeded
- `500` — An unexpected error occurred
- `503` — Service temporarily unavailable
- `504` — Request timeout

---

[API](https://skmtc.dev/ltx/apis/api-reference.md) · [All operations](https://skmtc.dev/ltx/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/ltx/api-reference/revisions/6ad7c87b252c/schema)
