falVideo to videoComing soon
fal-ai/ltx-2.3-quality/reference-video-to-video
fal-ai/ltx-2.3-quality/reference-video-to-video is a video to video tool from fal that runs in the background and returns video. Coming soon: listed with its price, not yet open to runs.
This tool is listed but not yet available to run.
Price pendingPricing
Price pending.
Limits
- Runs
- In the background
- Returns
- video
- Longest queue wait
- 3600s
- Run deadline
- 1800s
- Largest inline input
- 1024 KB
- Largest input file
- 500 MB
- Largest output
- 4768 MB
- Outputs per run
- 16
Input
| Field | Kind | Default | Description |
|---|---|---|---|
prompt required | text | — | The prompt to guide generation. |
video_url required | URL or file | — | The URL of the reference video that supplies motion/structure. |
control_video_url | text | — | Optional pre-computed control video (e.g. an already-rendered depth / edge / pose composite). When provided together with skip_control_preprocess, the built-in control estimation is skipped and this video is used directly as the control signal, resampled to the output resolution and frame count. |
skip_control_preprocess | true or false | false | Skip the built-in control estimation (depth / edge / pose) and use control_video_url directly as the control signal. Requires control_video_url; ignored if it is not set. With resolution='auto', the output follows the source video size/aspect up to the LTX limits. Explicit resolutions are honored and 64-aligned so the RGB video and control video stay matched. |
preserve_original_video | true or false | false | True video-to-video: the base video_url is used as the generation's starting point, while control_video_url still drives the structure. The amount of the original preserved is controlled by `strength` (denoise): lower `strength` keeps more of the original video's pixels. Requires skip_control_preprocess, video_url and control_video_url. Default off leaves the standard control path unchanged. |
image_url | URL or file | — | Optional reference image for style/character anchoring. This is the FIRST-frame keyframe. |
mid_image_url | text | — | Optional middle-frame keyframe image. When set, the look/appearance is anchored to this image around the middle of the clip (in addition to image_url at the start), so the appearance follows a moving camera instead of drifting. Requires image_url. |
end_image_url | URL or file | — | Optional last-frame keyframe image. When set, the look/appearance is anchored to this image at the end of the clip. Useful for shots where the camera travels to a different place than the start image. Requires image_url. |
video_strength | number 0 to 1 | 0.6 | Video conditioning strength. Lower values give the model more freedom to change the reference video motion/structure. |
strength | number 0 to 1 | 1 | Sampler denoise strength for reference-video-to-video. With preserve_original_video on, this is the video-to-video amount: lower values keep more of the original video's pixels (e.g. 0.5 = keep ~50%), 1.0 fully regenerates. Without preserve_original_video it only trims the denoise schedule. |
num_frames | number (whole) 9 to 481 | 121 | The number of output frames to generate. This IC-LoRA endpoint caps the resolution x frames volume for stability (~150 frames at 720p-class; more at smaller sizes). A request above the budget returns a 422 — reduce num_frames or use a smaller resolution. |
resolution | JSON | auto | The size of the generated video. In direct-control mode (skip_control_preprocess with control_video_url), 'auto' follows the source video size/aspect up to the LTX limits and explicit sizes are honored with 64px alignment. In the built-in control estimation mode, the output stays near the official control workflow size. Higher resolutions reduce the maximum stable frame count; lower resolutions can run longer. |
frames_per_second | number 1 to 60 | 24 | Frames per second of the generated video. |
num_inference_steps | number (whole) 8 to 30 | 15 | Number of inference steps. Defaults to 15 and can be increased up to 30. |
guidance_scale | number 1 to 20 | 1 | Classifier-free guidance scale. The default is tuned for fast, high-quality generation. |
generate_audio | true or false | true | Whether to include audio in the returned video. When disabled, the final MP4 is returned without an audio track. |
negative_prompt | text | color distortion, overexposure, static, blurry details, subtitles, style, artwork, painting, frame, still, dim overall tone, worst quality, low quality, JPEG compression artifacts, ugly, mutilated, extra fingers, poorly drawn hands, poorly drawn face, deformed, disfigured, malformed limbs, fused fingers, motionless frame, cluttered background, three legs, crowded background, walking backwards | The negative prompt to steer generation away from. |
seed | number (whole) | — | Random seed for reproducibility. If None, a random seed is chosen. |
enable_prompt_expansion | true or false | true | Whether to enable prompt expansion. |
video_quality | one of low, medium, high, maximum | high | The quality preset of the generated video. |
video_write_mode | one of fast, balanced, small | balanced | The write mode of the generated video. |
Same request in code
curl https://api.spiral.ai/v1/runs \
-H "Authorization: Bearer $SPIRAL_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"provider": "fal",
"model": "fal-ai/ltx-2.3-quality/reference-video-to-video",
"input": {
"prompt": "A dancer in a flowing red dress against a black backdrop, studio lighting, cinematic.",
"video_url": "https://v3b.fal.media/files/b/0a8824b1/sdm0KfmenrlywesfzY1Y1_if6euPp1.mp4"
}
}'