API reference · Lightricks
lightricks/ltx-2.3-22b/image-to-video/lora
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-22b/image-to-video/lora01
Input Schema
10 parameters · 2 required · 8 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. |
seed | integer | Optional | The seed for the random number generator. |
loras | array | Optional | — |
end_image | string | Optional | The URL of the image to use as the end of the video. |
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 |
end_image_strength | number | Optional | The strength of the end image to use for the video generation. · Min: 0 · Max: 1 · Default: 1 |
num_inference_steps | integer | Optional | Min: 8 · Max: 50 · Default: 40 |
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 |
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
const apiKey = process.env.SANDBASE_API_KEY;
const response = await fetch("https://api.sandbase.ai/v1/run", {
method: "POST",
headers: {
Authorization: `Bearer ${apiKey}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"model": "lightricks/ltx-2.3-22b/image-to-video/lora",
"image": "https://static.sandbase.ai/examples/lightricks/ltx-2.3-22b/image-to-video/lora/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.",
"generate_audio": true,
"image_strength": 1,
"end_image_strength": 1,
"num_inference_steps": 40,
"interpolation_direction": "forward"
}),
});
if (!response.ok) throw new Error(await response.text());
let result = await response.json();
for (let attempt = 0; attempt < 120 && !["completed", "failed", "timeout"].includes(result.status); attempt++) {
await new Promise((resolve) => setTimeout(resolve, 2_000));
const poll = await fetch(`https://api.sandbase.ai/v1/run/${result.id}`, {
headers: { Authorization: `Bearer ${apiKey}` },
});
if (!poll.ok) throw new Error(await poll.text());
result = await poll.json();
}
if (result.status !== "completed") throw new Error(`Generation ended: ${result.status}`);
console.log(result);