API reference · Lightricks
lightricks/ltx-2.3-quality/extend-video
Integrate this model through SandBase's unified API, with production-ready schemas and examples.
Production endpoint
Send your first request
OpenAI-compatible endpoint with unified authentication and usage tracking.
POST
https://api.sandbase.ai/v1/runModel ID
lightricks/ltx-2.3-quality/extend-video01
Input Schema
17 parameters · 1 required · 16 optional
| Parameter | Type | Required | Description |
|---|---|---|---|
prompt | string | Required | The prompt describing how the video should continue. |
seed | integer | Optional | Random seed for reproducibility. If None, a random seed is chosen. |
video | string | Optional | The URL of the video to extend. |
end_image | string | Optional | Optional keyframe image for the far end of the extension: the final frame for forward extension, or the new first frame for backward extension. |
num_frames | integer | Optional | The number of frames to generate for the extension segment, including num_context_frames of overlap with the source video. The new content adds approximately (num_frames - num_context_frames) / frames_per_second seconds. The stable generation budget caps the resolution x frames volume: at 24 fps roughly 20s at 480p-class, 11s at 720p-class and 5s at 1080p-class; a request above the budget returns a 422 (lower num_frames or use a smaller resolution). · Min: 9 · Max: 481 · Default: 121 |
resolution | string | Optional | The size of the generated video. 'auto' follows the source video size/aspect up to the LTX limits; the source is scaled to the final size in the stitched output. Sizes are 32px-aligned (e.g. 1920x1080 is delivered as 1888x1056). Higher resolutions reduce the maximum stable extension length; lower resolutions can run longer. · Options: auto, square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9 · Default: "auto" autosquare_hdsquareportrait_4_3portrait_16_9landscape_4_3landscape_16_9 |
video_quality | string | Optional | The quality preset of the generated video. · Options: low, medium, high, maximum · Default: "high" lowmediumhighmaximum |
generate_audio | boolean | Optional | Whether to generate new audio for the extension segment (crossfaded with the source audio at the seam). When disabled, the source video's own audio track is preserved and the extension stays silent. · Default: true |
guidance_scale | number | Optional | Classifier-free guidance scale. The default is tuned for fast, high-quality generation. · Min: 1 · Max: 20 · Default: 1 |
video_strength | number | Optional | Conditioning strength of the source context frames. 1.0 keeps the overlap locked to the source for a seamless transition; lower values give the model more freedom. · Min: 0 · Max: 1 · Default: 1 |
match_input_fps | boolean | Optional | When enabled, the output FPS matches the source video's FPS (rounded to an integer and clamped to the supported range) instead of frames_per_second. · Default: true |
extend_direction | string | Optional | Direction to extend the video. 'forward' continues from the end of the video, 'backward' generates a new beginning. · Options: forward, backward · Default: "forward" forwardbackward |
video_write_mode | string | Optional | The write mode of the generated video. · Options: fast, balanced, small · Default: "balanced" fastbalancedsmall |
frames_per_second | number | Optional | Frames per second of the generated video. · Min: 1 · Max: 60 · Default: 24 |
end_image_strength | number | Optional | Conditioning strength of the optional end keyframe. 1.0 = exact match, lower = more freedom for the model. · Min: 0 · Max: 1 · Default: 1 |
num_context_frames | integer | Optional | The number of source frames used as context/overlap for the extension. Snapped down to the LTX temporal grid (8k+1) and clamped to the frames available in the source video. · Min: 9 · Max: 121 · Default: 25 |
num_inference_steps | integer | Optional | Number of inference steps. Defaults to 15 and can be increased up to 30. · Min: 8 · Max: 30 · Default: 15 |
02
Output Schema
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier for the generation task |
status | string | Task status: pending, running, completed, failed, timeout |
model | string | Model used for the generation |
outputs | array | Array of output items |
outputs[].url | string | URL of the generated artifact |
outputs[].content_type | string | MIME type (e.g. image/png, video/mp4) |
error | object | null | Error details if failed, null on success |
error.type | string | Machine-readable error type code |
error.message | string | Human-readable error description |
Async Workflow
This model uses asynchronous execution. Submit a request and poll for the result.
- Submit — POST to /v1/run, receive an
id - Poll — GET /v1/run/{id} until status is
completed,failed, ortimeout - Retrieve — Read
outputsfrom the completed response
03
Code Examples
Ready-to-run snippets
# Step 1: Submit
curl -X POST https://api.sandbase.ai/v1/run \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "lightricks/ltx-2.3-quality/extend-video",
"video": "https://v3b.fal.media/files/b/0a8824b1/sdm0KfmenrlywesfzY1Y1_if6euPp1.mp4",
"prompt": "Continue the scene naturally, maintaining the same style and motion.",
"num_frames": 121,
"resolution": "auto",
"video_quality": "high",
"generate_audio": true,
"guidance_scale": 1,
"video_strength": 1,
"match_input_fps": true,
"extend_direction": "forward",
"video_write_mode": "balanced",
"frames_per_second": 24,
"end_image_strength": 1,
"num_context_frames": 25,
"num_inference_steps": 15
}'
# Step 2: Poll result (replace <id>)
curl https://api.sandbase.ai/v1/run/<id> \
-H "Authorization: Bearer YOUR_API_KEY"
