---
title: "Extend video duration"
method: POST
path: "/v1/extend"
tags: ["videoGeneration"]
---

# Extend video duration

`POST /v1/extend`

Extend a video by generating additional frames at the beginning or end. The model uses context frames from the input to produce a seamless continuation with consistent motion and audio.
> Audio is generated for the extended portion if the input video has audio.

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

Billed per second, based on the extended portion plus the context frames used from the input video. See [Pricing](/pricing).

## Headers

- `Authorization` string, required

## Request body

- ExtendVideoRequest
  - `video_uri` string, required — Input video for extending. See [Input Formats](/input-formats#video-input) for supported formats and codecs. - Supported aspect ratios: 16:9 and 9:16 - Maximum resolution: 3840x2160 (4K) - Minimum frame count: 73 (around 3 seconds at 24fps) The output video preserves the input video's resolution.
  - `prompt` string — Description of what should happen in the extended portion of the video.
  - `duration` number, double, required — Duration in seconds to extend the video. Minimum 2 seconds, maximum 20 seconds (480 frames at 24fps).
  - `mode` 'start' | 'end' — Where to extend the video: - `end` (default): Extends the video at the end. - `start`: Extends the video at the beginning.
  - `model` 'ltx-2-3-pro' — Model to use for video generation.
  - `context` number, double — **Advanced parameter:** Number of seconds from the input video to use as context for the extension (maximum 20 seconds). The model uses context frames from the input video to generate a more coherent extension. The sum of `context` + `duration` (converted to frames using the input video's FPS) cannot exceed 505 frames (~21 seconds at 24fps). For higher-FPS inputs, the maximum total duration in seconds will be proportionally lower; for lower-FPS inputs, it will be proportionally higher. If not provided, defaults to maximize available context within the 505 frame limit while respecting the 20-second cap.

## Response `200`

Video extended 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)
