LTX-2.3 (V2V LoRA)
Credit-based pricing. Supports image-to-video, reference video, audio generation.
Inputs
- Reference video (required)
- Start image (optional)
- Reference audio (optional)
- Generates audio
Example prompt
Animals squishing flat on a snowy mountain terrain, bouncy silly physics, vivid nature sceneTry this prompt →
API & LLM schema
Exact request contract for this model. Agents can fetch it from /api/v1/models?id=fal-ai/ltx-2.3-22b/reference-video-to-video/lora.
/api/v1/generate54 fields · 4 required| Field | Type | Requirement | Contract |
|---|---|---|---|
model_id | constant | Required | ArtEmotion model identifier. |
extra | object | Optional | Model-specific settings may also be nested here. |
max_credits | number | Optional | Reject before submission if the estimated list price exceeds this cap. · Range: 1–… |
webhook_url | string | Optional | Format: uri |
webhook_secret | string | Optional | Optional model input. |
folder_id | string | Optional | Optional model input. |
prompt | string | Required | Optional model input. |
fps | number | Optional | The frames per second of the generated video. · Default: 24 · Range: 1–60 |
preprocessor | string | Optional | The preprocessor to use for the generation. · Allowed: depth, canny, pose, none · Default: none |
audio_stg_scale | number | Optional | The Spatiotemporal Guidance (STG) scale for the audio. Higher values result in more consistent and focused audio content. · Default: 0 · Range: 0–20 |
generate_audio | boolean | Optional | Whether to generate audio for the video. · Default: true |
ic_lora_type | string | Optional | The IC LoRA type to use for the generation. · Allowed: match_preprocessor, union, detailer, none · Default: union |
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 ge · Default: true |
seed | integer | Optional | The seed for the random number generator. |
video_strength | number | Optional | Video conditioning strength. Lower values represent more freedom given to the model to change the video content. · Default: 1 · Range: 0–1 |
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 genera · Default: false |
audio_modality_scale | number | Optional | The modality scale for the audio. Controls the ratio between video and audio modalities. · Default: 3 · Range: 0–10 |
scheduler | string | Optional | The scheduler to use. · Allowed: ltx2, linear_quadratic, beta · Default: ltx2 |
match_video_length | boolean | Optional | When enabled, the number of frames will be calculated based on the video duration and FPS. When disabled, use the specified num_frames. · Default: true |
audio_strength | number | Optional | Audio conditioning strength. Lower values represent more freedom given to the model to change the audio content. · Default: 1 · Range: 0–1 |
distill_lora_first_pass_scale | number | Optional | The scale of the distill LoRA to use for the first pass. Set to 0 to disable. · Default: 0.2 · Range: 0–1 |
gradient_estimation_gamma | number | Optional | The gamma of gradient estimation during denoising. Set to 0 to disable. · Default: 2 · Range: 0–10 |
distill_lora_second_pass_scale | number | Optional | The scale of the distill LoRA to use for the second and subsequent passes. · Default: 0.5 · Range: 0–1 |
num_frames | number | Optional | The number of frames to generate. · Default: 121 · Range: 9–481 |
acceleration | string | Optional | The acceleration level to use. · Allowed: none, regular, high, full · Default: regular |
video_output_type | string | Optional | The output type of the generated video. · Allowed: X264 (.mp4), VP9 (.webm), PRORES4444 (.mov), GIF (.gif) · Default: X264 (.mp4) |
video_rescaling_scale | number | Optional | The rescaling scale for the video. Controls the ratio between classifier-free guidance and spatiotemporal guidance. · Default: 0.7 · Range: 0–1 |
video_write_mode | string | Optional | The write mode of the generated video. · Allowed: fast, balanced, small · Default: balanced |
video_modality_scale | number | Optional | The modality scale for the video. Controls the ratio between video and audio modalities. · Default: 3 · Range: 0–10 |
audio_rescaling_scale | number | Optional | The rescaling scale for the audio. Controls the ratio between classifier-free guidance and spatiotemporal guidance. · Default: 0.7 · Range: 0–1 |
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 mod · Default: 1 · Range: 0–1 |
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 th · Allowed: dolly_in, dolly_out, dolly_left, dolly_right, jib_up, jib_down, static, none · Default: none |
video_quality | string | Optional | The quality of the generated video. · Allowed: low, medium, high, maximum · Default: high |
match_input_fps | boolean | Optional | When true, match the output FPS to the input video's FPS instead of using the default target FPS. · Default: true |
video_stg_scale | number | Optional | The Spatiotemporal Guidance (STG) scale for the video. Higher values result in more consistent and focused video content. · Default: 0 · Range: 0–20 |
video_cfg_scale | number | Optional | The Classifier-Free Guidance (CFG) scale for the video. Higher values result in more consistent and focused video content. · Default: 3 · Range: 1–20 |
num_inference_steps | number | Optional | The number of inference steps to use. · Default: 40 · Range: 8–50 |
negative_prompt | string | Optional | The negative prompt to generate the video from. · Default: news broadcast, 3d animation, computer graphics, pc game, console game, video game, cartoon, childish, watermark, logo, text, on screen text, subtitles, titles, signature, slowmo, static |
enable_prompt_expansion | boolean | Optional | Whether to enable prompt expansion. · Default: true |
enable_safety_checker | boolean | Optional | Run the safety checker to block unsafe content. · 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. · Default: 7 · Range: 1–20 |
lora_path | string | Required | URL or Hugging Face path to LoRA weights. Required for this model. |
lora_scale | number | Optional | Strength of the LoRA effect. · Default: 1 · Range: 0–4 |
lora_path_2 | string | Optional | URL or Hugging Face path to a second LoRA. |
lora_scale_2 | number | Optional | Strength of the second LoRA. · Default: 1 · Range: 0–4 |
lora_path_3 | string | Optional | URL or Hugging Face path to a third LoRA. |
lora_scale_3 | number | Optional | Strength of the third LoRA. · Default: 1 · Range: 0–4 |
aspect_ratio | string | Optional | Allowed: 16:9, 9:16, 1:1 |
resolution | string | Optional | Allowed: 1080p, 1440p, 2160p |
duration | number | Optional | Allowed: 3, 4, 5, 6, 7, 8, 10 |
image_url | string | Optional | Format: uri |
end_image_url | string | Optional | Format: uri |
video_url | string | Required | Format: uri |
audio_url | string | Optional | Format: uri |
Minimal request example
{
"model_id": "fal-ai/ltx-2.3-22b/reference-video-to-video/lora",
"prompt": "Animals squishing flat on a snowy mountain terrain, bouncy silly physics, vivid nature scene",
"lora_path": "your_lora_path",
"video_url": "https://example.com/video"
}Raw JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://www.artemotion.ai/api/v1/models?id=fal-ai%2Fltx-2.3-22b%2Freference-video-to-video%2Flora",
"title": "LTX-2.3 (V2V LoRA) generation request",
"description": "Request body accepted by POST /api/v1/generate for fal-ai/ltx-2.3-22b/reference-video-to-video/lora.",
"type": "object",
"properties": {
"model_id": {
"type": "string",
"const": "fal-ai/ltx-2.3-22b/reference-video-to-video/lora",
"description": "ArtEmotion model identifier."
},
"extra": {
"type": "object",
"additionalProperties": true,
"description": "Model-specific settings may also be nested here."
},
"max_credits": {
"type": "number",
"minimum": 1,
"description": "Reject before submission if the estimated list price exceeds this cap."
},
"webhook_url": {
"type": "string",
"format": "uri",
"maxLength": 2048
},
"webhook_secret": {
"type": "string",
"maxLength": 512
},
"folder_id": {
"type": "string"
},
"prompt": {
"type": "string"
},
"fps": {
"title": "Fps",
"description": "The frames per second of the generated video.",
"default": 24,
"type": "number",
"minimum": 1,
"maximum": 60
},
"preprocessor": {
"title": "Preprocessor",
"description": "The preprocessor to use for the generation.",
"default": "none",
"type": "string",
"enum": [
"depth",
"canny",
"pose",
"none"
]
},
"audio_stg_scale": {
"title": "Audio Stg Scale",
"description": "The Spatiotemporal Guidance (STG) scale for the audio. Higher values result in more consistent and focused audio content.",
"default": 0,
"type": "number",
"minimum": 0,
"maximum": 20
},
"generate_audio": {
"title": "Generate Audio",
"description": "Whether to generate audio for the video.",
"default": true,
"type": "boolean"
},
"ic_lora_type": {
"title": "IC-LoRA Type",
"description": "The IC LoRA type to use for the generation.",
"default": "union",
"type": "string",
"enum": [
"match_preprocessor",
"union",
"detailer",
"none"
]
},
"use_multiscale": {
"title": "Use Multiscale",
"description": "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 ge",
"default": true,
"type": "boolean"
},
"seed": {
"title": "Seed",
"description": "The seed for the random number generator.",
"type": "integer"
},
"video_strength": {
"title": "Video Strength",
"description": "Video conditioning strength. Lower values represent more freedom given to the model to change the video content.",
"default": 1,
"type": "number",
"minimum": 0,
"maximum": 1
},
"use_restart_sampling": {
"title": "Use Restart Sampling",
"description": "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 genera",
"default": false,
"type": "boolean"
},
"audio_modality_scale": {
"title": "Audio Modality Scale",
"description": "The modality scale for the audio. Controls the ratio between video and audio modalities.",
"default": 3,
"type": "number",
"minimum": 0,
"maximum": 10
},
"scheduler": {
"title": "Scheduler",
"description": "The scheduler to use.",
"default": "ltx2",
"type": "string",
"enum": [
"ltx2",
"linear_quadratic",
"beta"
]
},
"match_video_length": {
"title": "Match Video Length",
"description": "When enabled, the number of frames will be calculated based on the video duration and FPS. When disabled, use the specified num_frames.",
"default": true,
"type": "boolean"
},
"audio_strength": {
"title": "Audio Strength",
"description": "Audio conditioning strength. Lower values represent more freedom given to the model to change the audio content.",
"default": 1,
"type": "number",
"minimum": 0,
"maximum": 1
},
"distill_lora_first_pass_scale": {
"title": "Distill Lora First Pass Scale",
"description": "The scale of the distill LoRA to use for the first pass. Set to 0 to disable.",
"default": 0.2,
"type": "number",
"minimum": 0,
"maximum": 1
},
"gradient_estimation_gamma": {
"title": "Gradient Estimation Gamma",
"description": "The gamma of gradient estimation during denoising. Set to 0 to disable.",
"default": 2,
"type": "number",
"minimum": 0,
"maximum": 10
},
"distill_lora_second_pass_scale": {
"title": "Distill Lora Second Pass Scale",
"description": "The scale of the distill LoRA to use for the second and subsequent passes.",
"default": 0.5,
"type": "number",
"minimum": 0,
"maximum": 1
},
"num_frames": {
"title": "Num Frames",
"description": "The number of frames to generate.",
"default": 121,
"type": "number",
"minimum": 9,
"maximum": 481,
"multipleOf": 1
},
"acceleration": {
"title": "Acceleration",
"description": "The acceleration level to use.",
"default": "regular",
"type": "string",
"enum": [
"none",
"regular",
"high",
"full"
]
},
"video_output_type": {
"title": "Video Output Type",
"description": "The output type of the generated video.",
"default": "X264 (.mp4)",
"type": "string",
"enum": [
"X264 (.mp4)",
"VP9 (.webm)",
"PRORES4444 (.mov)",
"GIF (.gif)"
]
},
"video_rescaling_scale": {
"title": "Video Rescaling Scale",
"description": "The rescaling scale for the video. Controls the ratio between classifier-free guidance and spatiotemporal guidance.",
"default": 0.7,
"type": "number",
"minimum": 0,
"maximum": 1
},
"video_write_mode": {
"title": "Video Write Mode",
"description": "The write mode of the generated video.",
"default": "balanced",
"type": "string",
"enum": [
"fast",
"balanced",
"small"
]
},
"video_modality_scale": {
"title": "Video Modality Scale",
"description": "The modality scale for the video. Controls the ratio between video and audio modalities.",
"default": 3,
"type": "number",
"minimum": 0,
"maximum": 10
},
"audio_rescaling_scale": {
"title": "Audio Rescaling Scale",
"description": "The rescaling scale for the audio. Controls the ratio between classifier-free guidance and spatiotemporal guidance.",
"default": 0.7,
"type": "number",
"minimum": 0,
"maximum": 1
},
"camera_lora_scale": {
"title": "Camera LoRA Scale",
"description": "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 mod",
"default": 1,
"type": "number",
"minimum": 0,
"maximum": 1
},
"camera_lora": {
"title": "Camera LoRA",
"description": "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 th",
"default": "none",
"type": "string",
"enum": [
"dolly_in",
"dolly_out",
"dolly_left",
"dolly_right",
"jib_up",
"jib_down",
"static",
"none"
]
},
"video_quality": {
"title": "Video Quality",
"description": "The quality of the generated video.",
"default": "high",
"type": "string",
"enum": [
"low",
"medium",
"high",
"maximum"
]
},
"match_input_fps": {
"title": "Match Input Fps",
"description": "When true, match the output FPS to the input video's FPS instead of using the default target FPS.",
"default": true,
"type": "boolean"
},
"video_stg_scale": {
"title": "Video Stg Scale",
"description": "The Spatiotemporal Guidance (STG) scale for the video. Higher values result in more consistent and focused video content.",
"default": 0,
"type": "number",
"minimum": 0,
"maximum": 20
},
"video_cfg_scale": {
"title": "Video Cfg Scale",
"description": "The Classifier-Free Guidance (CFG) scale for the video. Higher values result in more consistent and focused video content.",
"default": 3,
"type": "number",
"minimum": 1,
"maximum": 20
},
"num_inference_steps": {
"title": "Num Inference Steps",
"description": "The number of inference steps to use.",
"default": 40,
"type": "number",
"minimum": 8,
"maximum": 50,
"multipleOf": 1
},
"negative_prompt": {
"title": "Negative Prompt",
"description": "The negative prompt to generate the video from.",
"default": "news broadcast, 3d animation, computer graphics, pc game, console game, video game, cartoon, childish, watermark, logo, text, on screen text, subtitles, titles, signature, slowmo, static",
"type": "string"
},
"enable_prompt_expansion": {
"title": "Enable Prompt Expansion",
"description": "Whether to enable prompt expansion.",
"default": true,
"type": "boolean"
},
"enable_safety_checker": {
"title": "Enable Safety Checker",
"description": "Run the safety checker to block unsafe content.",
"default": true,
"type": "boolean"
},
"audio_cfg_scale": {
"title": "Audio Cfg Scale",
"description": "The Classifier-Free Guidance (CFG) scale for the audio. Higher values result in more consistent and focused audio content.",
"default": 7,
"type": "number",
"minimum": 1,
"maximum": 20
},
"lora_path": {
"title": "LoRA Path",
"description": "URL or Hugging Face path to LoRA weights. Required for this model.",
"type": "string"
},
"lora_scale": {
"title": "LoRA Scale",
"description": "Strength of the LoRA effect.",
"default": 1,
"type": "number",
"minimum": 0,
"maximum": 4,
"multipleOf": 0.05
},
"lora_path_2": {
"title": "LoRA Path 2",
"description": "URL or Hugging Face path to a second LoRA.",
"type": "string"
},
"lora_scale_2": {
"title": "LoRA Scale 2",
"description": "Strength of the second LoRA.",
"default": 1,
"type": "number",
"minimum": 0,
"maximum": 4,
"multipleOf": 0.05
},
"lora_path_3": {
"title": "LoRA Path 3",
"description": "URL or Hugging Face path to a third LoRA.",
"type": "string"
},
"lora_scale_3": {
"title": "LoRA Scale 3",
"description": "Strength of the third LoRA.",
"default": 1,
"type": "number",
"minimum": 0,
"maximum": 4,
"multipleOf": 0.05
},
"aspect_ratio": {
"type": "string",
"enum": [
"16:9",
"9:16",
"1:1"
]
},
"resolution": {
"type": "string",
"enum": [
"1080p",
"1440p",
"2160p"
]
},
"duration": {
"type": "number",
"enum": [
3,
4,
5,
6,
7,
8,
10
]
},
"image_url": {
"type": "string",
"format": "uri"
},
"end_image_url": {
"type": "string",
"format": "uri"
},
"video_url": {
"type": "string",
"format": "uri"
},
"audio_url": {
"type": "string",
"format": "uri"
}
},
"required": [
"model_id",
"prompt",
"lora_path",
"video_url"
],
"additionalProperties": false
}FAQ
How much does LTX-2.3 (V2V LoRA) cost on ArtEmotion?
Credit-based pricing. You pay in ArtEmotion credits — every plan and top-up converts USD to credits at a fixed rate.
Do I get my credits back if LTX-2.3 (V2V LoRA) fails?
Yes — failed generations are never charged. The credits are released back to your balance automatically.
Can I call LTX-2.3 (V2V LoRA) from the API?
Yes. Use POST /api/v1/generate with model_id: "fal-ai/ltx-2.3-22b/reference-video-to-video/lora". See the API reference for the full schema.
Where are my generations stored?
Every output is saved to your personal Library. You can export or delete everything any time from Privacy & deletion.
Ready to generate with LTX-2.3 (V2V LoRA)?
Start now →No commitment. New accounts get 50 free credits on signup. See pricing.