lightricks/ltx-2.3-22b/audio-to-video/lora
Ltx 2.3 22b Audio To Video Lora by Lightricks - advanced AI model for audio-to-video. Delivers high-quality results with fast inference, suitable for both creative and production workflows.
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.3-22b/audio-to-video/loraInput Schema
34 parameters · 2 required · 32 optional
| Parameter | Type | Required | Description |
|---|---|---|---|
image | string | Required | Optional URL of an image to use as the first frame of the video. |
prompt | string | Required | The prompt to generate the video from. |
fps | number | Optional | The frames per second of the generated video. · Min: 1 · Max: 60 · Default: 24 |
seed | integer | Optional | The seed for the random number generator. |
audio | string | Optional | The URL of the audio to generate the video from. |
loras | object[] | Optional | The LoRAs to use for the generation. |
end_image | string | Optional | The URL of the image to use as the end of the video. |
scheduler | string | Optional | The scheduler to use. · Options: ltx2, linear_quadratic, beta · Default: "ltx2" ltx2linear_quadraticbeta |
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. Use 'auto' to match the input image dimensions if provided. · Options: auto, square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9 · Default: "landscape_16_9" 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 |
audio_strength | number | Optional | Audio conditioning strength. Values below 1.0 will allow the model to change the audio, while a value of exactly 1.0 will use the input audio without modification. · Min: 0 · Max: 1 · Default: 1 |
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 |
audio_cfg_scale | number | Optional | The Classifier-Free Guidance (CFG) scale for the audio. Higher values result in more consistent and focused audio content. · Min: 1 · Max: 20 · Default: 7 |
audio_stg_scale | number | Optional | The Spatiotemporal Guidance (STG) scale for the audio. Higher values result in more consistent and focused audio content. · Min: 0 · Max: 20 · Default: 0 |
video_cfg_scale | number | Optional | The Classifier-Free Guidance (CFG) scale for the video. Higher values result in more consistent and focused video content. · Min: 1 · Max: 20 · Default: 3 |
video_stg_scale | number | Optional | The Spatiotemporal Guidance (STG) scale for the video. Higher values result in more consistent and focused video content. · Min: 0 · Max: 20 · Default: 0 |
preprocess_audio | boolean | Optional | Whether to preprocess the audio before using it as conditioning. · 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 |
match_audio_length | boolean | Optional | When enabled, the number of frames will be calculated based on the audio duration and FPS. When disabled, use the specified num_frames. · Default: true |
num_inference_steps | integer | Optional | The number of inference steps to use. · Min: 8 · Max: 50 · Default: 40 |
audio_modality_scale | number | Optional | The modality scale for the audio. Controls the ratio between video and audio modalities. · Min: 0 · Max: 10 · Default: 3 |
use_restart_sampling | boolean | Optional | Whether to use restart sampling. This will inject a small amount of noise during each denoising step, which can help improve the quality of the generated video. · Default: false |
video_modality_scale | number | Optional | The modality scale for the video. Controls the ratio between video and audio modalities. · Min: 0 · Max: 10 · Default: 3 |
audio_rescaling_scale | number | Optional | The rescaling scale for the audio. Controls the ratio between classifier-free guidance and spatiotemporal guidance. · Min: 0 · Max: 1 · Default: 0.7 |
video_rescaling_scale | number | Optional | The rescaling scale for the video. Controls the ratio between classifier-free guidance and spatiotemporal guidance. · Min: 0 · Max: 1 · Default: 0.7 |
gradient_estimation_gamma | number | Optional | The gamma of gradient estimation during denoising. Set to 0 to disable. · Min: 0 · Max: 10 · Default: 2 |
distill_lora_first_pass_scale | number | Optional | The scale of the distill LoRA to use for the first pass. Set to 0 to disable. · Min: 0 · Max: 1 · Default: 0.2 |
distill_lora_second_pass_scale | number | Optional | The scale of the distill LoRA to use for the second and subsequent passes. · Min: 0 · Max: 1 · Default: 0.5 |
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.3-22b/audio-to-video/lora",
"fps": 24,
"audio": "https://static.sandbase.ai/examples/lightricks/ltx-2.3-22b/audio-to-video/lora/input_audio_0.mp3",
"image": "https://static.sandbase.ai/examples/lightricks/ltx-2.3-22b/audio-to-video/lora/input_image_1.png",
"prompt": "A woman speaks to the camera",
"scheduler": "ltx2",
"num_frames": 121,
"video_size": "landscape_16_9",
"camera_lora": "none",
"video_quality": "high",
"audio_strength": 1,
"image_strength": 1,
"use_multiscale": true,
"audio_cfg_scale": 7,
"audio_stg_scale": 0,
"video_cfg_scale": 3,
"video_stg_scale": 0,
"preprocess_audio": true,
"video_write_mode": "balanced",
"camera_lora_scale": 1,
"video_output_type": "X264 (.mp4)",
"end_image_strength": 1,
"match_audio_length": true,
"num_inference_steps": 40,
"audio_modality_scale": 3,
"use_restart_sampling": false,
"video_modality_scale": 3,
"audio_rescaling_scale": 0.7,
"video_rescaling_scale": 0.7,
"gradient_estimation_gamma": 2,
"distill_lora_first_pass_scale": 0.2,
"distill_lora_second_pass_scale": 0.5
}'
# Step 2: Poll result (replace <id>)
curl https://api.sandbase.ai/v1/run/<id> \
-H "Authorization: Bearer YOUR_API_KEY"API README
LTX-2.3 22B
LTX-2.3 22B is a audio-guided video creation with custom LoRA adapters endpoint in the LTX 2.3 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 LoRA-enabled route keeps that workflow explicit instead of hiding its input assumptions behind a generic video-generation label.
In practice, this route accepts image, audio, end image, loras as creative context and exposes num frames, video size, 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
- Soundtrack-led performance. The
audioinput supplies timing and performance cues, while the prompt explains what should happen visually. - Anchored opening composition. A required opening
imageestablishes the subject and first-frame composition before motion follows the soundtrack. - Audio influence control.
audio_strengthis available on this route where documented, letting a request tune adherence to the supplied sound rather than changing the prompt. - Route-specific LoRA conditioning. The
lorasarray adds learned styling or concepts to this audio to video workflow without replacing its required source inputs. Forlightricks/ltx-2.3-22b/audio-to-video/lora, this task-specific control is documented alongside the route’s own required inputs.
Pricing
| Billing unit | Price |
|---|---|
| Base request | $0.001805 |
When to Use
| Scenario | Recommendation |
|---|---|
| Choose this route | Use it when the deliverable specifically calls for audio-guided video creation with custom LoRA adapters, rather than a neighboring generation mode. |
| Prepare the source | Provide image, audio 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 audio-guided video creation with custom LoRA adapters, 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 speaks to the camera",
"image": "https://static.sandbase.ai/examples/lightricks/ltx-2.3-22b/audio-to-video/lora/input_image_1.png",
"audio": "https://static.sandbase.ai/examples/lightricks/ltx-2.3-22b/audio-to-video/lora/input_audio_0.mp3",
"end_image": "https://example.com/reference.jpg"
}
Technical Specs
| Specification | Value |
|---|---|
| Model ID | lightricks/ltx-2.3-22b/audio-to-video/lora |
| Required inputs | prompt, image |
| Execution | Asynchronous generation job |
| Request controls | 34 documented fields |
| Output | url, content_type |
Request fields
| Field | Type and constraints |
|---|---|
fps | number; Optional; Range: 1–60; Default: 24 |
seed | integer; Optional |
audio | string; Optional |
image | string; Required |
loras | array; Optional |
prompt | string; Required |
end_image | string; Optional |
scheduler | string; Optional; Options: ltx2, linear_quadratic, beta; Default: "ltx2" |
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: "landscape_16_9" |
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" |
audio_strength | number; Optional; Range: 0–1; Default: 1 |
image_strength | number; Optional; Range: 0–1; Default: 1 |
use_multiscale | boolean; Optional; Default: true |
audio_cfg_scale | number; Optional; Range: 1–20; Default: 7 |
audio_stg_scale | number; Optional; Range: 0–20; Default: 0 |
video_cfg_scale | number; Optional; Range: 1–20; Default: 3 |
video_stg_scale | number; Optional; Range: 0–20; Default: 0 |
preprocess_audio | 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 |
match_audio_length | boolean; Optional; Default: true |
num_inference_steps | integer; Optional; Range: 8–50; Default: 40 |
audio_modality_scale | number; Optional; Range: 0–10; Default: 3 |
use_restart_sampling | boolean; Optional; Default: false |
video_modality_scale | number; Optional; Range: 0–10; Default: 3 |
audio_rescaling_scale | number; Optional; Range: 0–1; Default: 0.7 |
video_rescaling_scale | number; Optional; Range: 0–1; Default: 0.7 |
gradient_estimation_gamma | number; Optional; Range: 0–10; Default: 2 |
distill_lora_first_pass_scale | number; Optional; Range: 0–1; Default: 0.2 |
distill_lora_second_pass_scale | number; Optional; Range: 0–1; Default: 0.5 |

