lightricks/ltx-0.9.8-13b-distilled/image-to-video
Ltx 0.9.8 13b 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
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-0.9.8-13b-distilled/image-to-videoInput Schema
17 parameters · 2 required · 15 optional
| Parameter | Type | Required | Description |
|---|---|---|---|
image | string | Required | Image URL for Image-to-Video task |
prompt | string | Required | Text prompt to guide generation |
seed | integer | Optional | Random seed for generation |
loras | object[] | Optional | LoRA weights to use for generation · Default: [] |
frame_rate | integer | Optional | The frame rate of the video. · Min: 1 · Max: 60 · Default: 24 |
num_frames | integer | Optional | The number of frames in the video. · Min: 9 · Max: 1441 · Default: 121 |
resolution | string | Optional | Resolution of the generated video. · Options: 480p, 720p · Default: "720p" 480p720p |
aspect_ratio | string | Optional | The aspect ratio of the generated image. · Options: 21:9, 16:9, 3:2, 4:3, 5:4, 1:1, 4:5, 3:4, 2:3, 9:16 21:916:93:24:35:41:14:53:42:39:16 |
expand_prompt | boolean | Optional | Whether to expand the prompt using a language model. · Default: false |
reverse_video | boolean | Optional | Whether to reverse the video. · Default: false |
enable_detail_pass | boolean | Optional | Whether to use a detail pass. If True, the model will perform a second pass to refine the video and enhance details. This incurs a 2.0x cost multiplier on the base price. · Default: false |
constant_rate_factor | integer | Optional | The constant rate factor (CRF) to compress input media with. Compressed input media more closely matches the model's training data, which can improve motion quality. · Min: 0 · Max: 51 · Default: 29 |
temporal_adain_factor | number | Optional | The factor for adaptive instance normalization (AdaIN) applied to generated video chunks after the first. This can help deal with a gradual increase in saturation/contrast in the generated video by normalizing the color distribution across the video. A high value will ensure the color distribution is more consistent across the video, while a low value will allow for more variation in color distribution. · Min: 0 · Max: 1 · Default: 0.5 |
tone_map_compression_ratio | number | Optional | The compression ratio for tone mapping. This is used to compress the dynamic range of the video to improve visual quality. A value of 0.0 means no compression, while a value of 1.0 means maximum compression. · Min: 0 · Max: 1 · Default: 0 |
first_pass_num_inference_steps | integer | Optional | Number of inference steps during the first pass. · Min: 2 · Max: 12 · Default: 8 |
second_pass_skip_initial_steps | integer | Optional | The number of inference steps to skip in the initial steps of the second pass. By skipping some steps at the beginning, the second pass can focus on smaller details instead of larger changes. · Min: 1 · Max: 11 · Default: 5 |
second_pass_num_inference_steps | integer | Optional | Number of inference steps during the second pass. · Min: 2 · Max: 12 · Default: 8 |
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-0.9.8-13b-distilled/image-to-video",
"image": "https://static.sandbase.ai/examples/lightricks/ltx-0.9.8-13b-distilled/image-to-video/input_image_0.jpg",
"loras": [],
"prompt": "The astronaut gets up and walks away",
"frame_rate": 24,
"num_frames": 121,
"resolution": "720p",
"expand_prompt": false,
"reverse_video": false,
"enable_detail_pass": false,
"constant_rate_factor": 29,
"temporal_adain_factor": 0.5,
"tone_map_compression_ratio": 0,
"first_pass_num_inference_steps": 8,
"second_pass_skip_initial_steps": 5,
"second_pass_num_inference_steps": 8
}'
# Step 2: Poll result (replace <id>)
curl https://api.sandbase.ai/v1/run/<id> \
-H "Authorization: Bearer YOUR_API_KEY"API README
LTX-Video 13B 0.9.8 Distilled
LTX-Video 13B 0.9.8 Distilled is a image-to-video animation endpoint in the LTX Video 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, loras as creative context and exposes num frames, resolution, aspect ratio 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
- First-frame animation. Turns a supplied still into moving footage while the prompt specifies subject action, camera behavior, and atmosphere.
- Adapter-based styling. LoRA inputs let teams layer specialized looks or learned concepts onto the base generation path.
- Resolution-aware delivery. Explicit output resolution lets the request target preview or finishing needs before generation.
- Controllable shot length. Duration or frame-count controls make timing an explicit part of the generation brief.
Pricing
The request price is calculated with params.detail_pass ? params.duration * 0.04 : params.duration * 0.02.
| Configuration | Price |
|---|---|
| resolution=480p, detail_pass=false | $0.020000 |
| resolution=480p, detail_pass=true | $0.040000 |
| resolution=720p, detail_pass=false | $0.020000 |
| resolution=720p, detail_pass=true | $0.040000 |
The model card records a base price of $0.020000; the formula above determines usage-priced requests.
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": "The astronaut gets up and walks away",
"image": "https://static.sandbase.ai/examples/lightricks/ltx-0.9.8-13b-distilled/image-to-video/input_image_0.jpg",
"resolution": "720p",
"aspect_ratio": "21:9"
}
Technical Specs
| Specification | Value |
|---|---|
| Model ID | lightricks/ltx-0.9.8-13b-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 |
|---|---|
seed | integer; Optional |
image | string; Required |
loras | array; Optional; Default: [] |
prompt | string; Required |
frame_rate | integer; Optional; Range: 1–60; Default: 24 |
num_frames | integer; Optional; Range: 9–1441; Default: 121 |
resolution | string; Optional; Options: 480p, 720p; Default: "720p" |
aspect_ratio | string; Optional; Options: 21:9, 16:9, 3:2, 4:3, 5:4, 1:1, 4:5, 3:4, 2:3, 9:16 |
expand_prompt | boolean; Optional; Default: false |
reverse_video | boolean; Optional; Default: false |
enable_detail_pass | boolean; Optional; Default: false |
constant_rate_factor | integer; Optional; Range: 0–51; Default: 29 |
temporal_adain_factor | number; Optional; Range: 0–1; Default: 0.5 |
tone_map_compression_ratio | number; Optional; Range: 0–1; Default: 0 |
first_pass_num_inference_steps | integer; Optional; Range: 2–12; Default: 8 |
second_pass_skip_initial_steps | integer; Optional; Range: 1–11; Default: 5 |
second_pass_num_inference_steps | integer; Optional; Range: 2–12; Default: 8 |

