lightricks/ltx-2-19b/distilled/image-to-video
Ltx 2 19b Distilled by Lightricks - animate still images into dynamic videos with AI. Transform photos into cinematic clips with natural motion, camera movement, and optional audio generation.
PNG, JPEG, WebP, or GIF · 20 MiB maximum
PNG, JPEG, WebP, or GIF · 20 MiB maximum
Example output — click Run to generate your own
Send your first request
OpenAI-compatible endpoint with unified authentication and usage tracking.
https://api.sandbase.ai/v1/runlightricks/ltx-2-19b/distilled/image-to-videoInput Schema
17 parameters · 2 required · 15 optional
| Parameter | Type | Required | Description |
|---|---|---|---|
image | string | Required | The URL of the image to generate the video from. |
prompt | string | Required | The prompt used for the generation. |
fps | number | Optional | The frames per second of the generated video. · Min: 1 · Max: 60 · Default: 25 |
seed | integer | Optional | The seed for the random number generator. |
end_image | string | Optional | The URL of the image to use as the end of the video. |
num_frames | integer | Optional | The number of frames to generate. · Min: 9 · Max: 481 · Default: 121 |
video_size | string | Optional | The size of the generated video. · 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 |
camera_lora | string | Optional | The camera LoRA to use. This allows you to control the camera movement of the generated video more accurately than just prompting the model to move the camera. · Options: dolly_in, dolly_out, dolly_left, dolly_right, jib_up, jib_down, static, none · Default: "none" dolly_indolly_outdolly_leftdolly_rightjib_upjib_downstaticnone |
video_quality | string | Optional | The quality of the generated video. · Options: low, medium, high, maximum · Default: "high" lowmediumhighmaximum |
generate_audio | boolean | Optional | Whether to generate audio for the video. · Default: true |
image_strength | number | Optional | The strength of the image to use for the video generation. · Min: 0 · Max: 1 · Default: 1 |
use_multiscale | boolean | Optional | Whether to use multi-scale generation. If True, the model will generate the video at a smaller scale first, then use the smaller video to guide the generation of a video at or above your requested size. This results in better coherence and details. · Default: true |
video_write_mode | string | Optional | The write mode of the generated video. · Options: fast, balanced, small · Default: "balanced" fastbalancedsmall |
camera_lora_scale | number | Optional | The scale of the camera LoRA to use. This allows you to control the camera movement of the generated video more accurately than just prompting the model to move the camera. · Min: 0 · Max: 1 · Default: 1 |
video_output_type | string | Optional | The output type of the generated video. · Options: X264 (.mp4), VP9 (.webm), PRORES4444 (.mov), GIF (.gif) · Default: "X264 (.mp4)" X264 (.mp4)VP9 (.webm)PRORES4444 (.mov)GIF (.gif) |
end_image_strength | number | Optional | The strength of the end image to use for the video generation. · Min: 0 · Max: 1 · Default: 1 |
interpolation_direction | string | Optional | The direction to interpolate the image sequence in. 'Forward' goes from the start image to the end image, 'Backward' goes from the end image to the start image. · Options: forward, backward · Default: "forward" forwardbackward |
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
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-19b/distilled/image-to-video",
"fps": 25,
"image": "https://static.sandbase.ai/examples/lightricks/ltx-2-19b/distilled/image-to-video/input_image_0.jpg",
"prompt": "A woman stands still amid a busy neon-lit street at night. The camera slowly dollies in toward her face as people blur past, their motion emphasizing her calm presence. City lights flicker and reflections shift across her denim jacket.",
"num_frames": 121,
"video_size": "auto",
"camera_lora": "none",
"video_quality": "high",
"generate_audio": true,
"image_strength": 1,
"use_multiscale": true,
"video_write_mode": "balanced",
"camera_lora_scale": 1,
"video_output_type": "X264 (.mp4)",
"end_image_strength": 1,
"interpolation_direction": "forward"
}'
# Step 2: Poll result (replace <id>)
curl https://api.sandbase.ai/v1/run/<id> \
-H "Authorization: Bearer YOUR_API_KEY"API README
LTX-2 19B Distilled
LTX-2 19B Distilled is a image-to-video animation endpoint in the LTX 2 19B family. It is built for creators who need to turn a concrete creative brief into a controlled visual sequence: the request establishes the source material, the intended subject behavior, the camera language, and the atmosphere of the finished shot. The distilled route keeps that workflow explicit instead of hiding its input assumptions behind a generic video-generation label.
In practice, this route accepts image, end image as creative context and exposes num frames, video size, generate audio, image strength, camera lora for delivery planning. That makes it suitable for shot-based pipelines where teams must preserve a source, direct a transformation, or control the final format without losing sight of the model's central task. Write prompts as a compact shot plan—subject, action, setting, camera, light, and timing—then use the structured fields for constraints that should remain deterministic across iterations.
Highlights
- Still-image animation. The required
imageis treated as the opening visual state; the prompt describes the movement that should unfold from it. - Directed landing frame.
end_imagecan set a destination composition, enabling an intentional transition rather than unconstrained drift. - Source-adherence control.
image_strengthadjusts how firmly the generated clip follows the source image. - Distilled-route delivery-aware motion. The route exposes output size, aspect ratio, resolution, or frame controls documented in its request schema. This capability is exposed by the named distilled route and its exact request fields. For
lightricks/ltx-2-19b/distilled/image-to-video, this task-specific control is documented alongside the route’s own required inputs.
Pricing
| Billing unit | Price |
|---|---|
| Base request | $0.000800 |
When to Use
| Scenario | Recommendation |
|---|---|
| Choose this route | Use it when the deliverable specifically calls for image-to-video animation, rather than a neighboring generation mode. |
| Prepare the source | Provide image in the format described by the request schema. |
| Direct the shot | Describe the subject, action, environment, camera movement, lighting, and temporal progression in that order. |
| Control continuity | Use endpoint frames, reference media, strength, or audio controls when those fields are available instead of burying hard constraints in prose. |
| Plan delivery | Set duration, frame count, resolution, and aspect ratio explicitly when the schema exposes them, then compare iterations with a stable seed where supported. |
Prompt Guide
For image-to-video animation, describe one coherent shot rather than a list of visual keywords. Put the main subject and action first, follow with location and staging, then add camera movement, lens or framing, lighting, mood, and any timed change. Keep URLs and hard delivery choices in their dedicated fields.
{
"prompt": "A woman stands still amid a busy neon-lit street at night. The camera slowly dollies in toward her face as people blur past, their motion emphasizing her calm presence. City lights flicker and reflections shift across her denim jacket.",
"image": "https://static.sandbase.ai/examples/lightricks/ltx-2-19b/distilled/image-to-video/input_image_0.jpg",
"generate_audio": true,
"end_image": "https://example.com/reference.jpg"
}
Technical Specs
| Specification | Value |
|---|---|
| Model ID | lightricks/ltx-2-19b/distilled/image-to-video |
| Required inputs | prompt, image |
| Execution | Asynchronous generation job |
| Request controls | 17 documented fields |
| Output | url, content_type |
Request fields
| Field | Type and constraints |
|---|---|
fps | number; Optional; Range: 1–60; Default: 25 |
seed | integer; Optional |
image | string; Required |
prompt | string; Required |
end_image | string; Optional |
num_frames | integer; Optional; Range: 9–481; Default: 121 |
video_size | string; Optional; Options: auto, square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9; Default: "auto" |
camera_lora | string; Optional; Options: dolly_in, dolly_out, dolly_left, dolly_right, jib_up, jib_down, static, none; Default: "none" |
video_quality | string; Optional; Options: low, medium, high, maximum; Default: "high" |
generate_audio | boolean; Optional; Default: true |
image_strength | number; Optional; Range: 0–1; Default: 1 |
use_multiscale | boolean; Optional; Default: true |
video_write_mode | string; Optional; Options: fast, balanced, small; Default: "balanced" |
camera_lora_scale | number; Optional; Range: 0–1; Default: 1 |
video_output_type | string; Optional; Options: X264 (.mp4), VP9 (.webm), PRORES4444 (.mov), GIF (.gif); Default: "X264 (.mp4)" |
end_image_strength | number; Optional; Range: 0–1; Default: 1 |
interpolation_direction | string; Optional; Options: forward, backward; Default: "forward" |

