Skip to main content
ArtEmotion
Video

LTX-2.3 Distilled (V2V)

Credit-based pricing. Supports image-to-video, reference video, audio generation.

Output
video
Aspect ratio
16:9, 9:16, 1:1
Resolution
1080p, 1440p
Duration
3s, 4s, 5s, 6s, 7s, 8s, 10s

Inputs

  • Reference video (required)
  • Start image (optional)
  • Reference audio (optional)
  • Generates audio

Example prompt

Faster and cheaper than full LTX-2.3 V2V — upload a reference video and describe any scene for quick high-quality style transfer
Try this prompt →
LLM-ready

API & LLM schema

Exact request contract for this model. Agents can fetch it from /api/v1/models?id=fal-ai/ltx-2.3-22b/distilled/reference-video-to-video.

POST/api/v1/generate36 fields · 3 required
FieldTypeRequirementContract
model_idconstantRequiredArtEmotion model identifier.
extraobjectOptionalModel-specific settings may also be nested here.
max_creditsnumberOptionalReject before submission if the estimated list price exceeds this cap. · Range: 1–…
webhook_urlstringOptionalFormat: uri
webhook_secretstringOptionalOptional model input.
folder_idstringOptionalOptional model input.
promptstringRequiredOptional model input.
preprocessorstringOptionalThe preprocessor to use for the generation. · Allowed: depth, canny, pose, none · Default: none
generate_audiobooleanOptionalWhether to generate audio for the video. · Default: true
ic_lora_typestringOptionalThe IC LoRA type to use for the generation. · Allowed: match_preprocessor, union, detailer, none · Default: union
use_multiscalebooleanOptionalWhether 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
seedintegerOptionalThe seed for the random number generator.
video_strengthnumberOptionalVideo conditioning strength. Lower values represent more freedom given to the model to change the video content. · Default: 1 · Range: 0–1
audio_strengthnumberOptionalAudio conditioning strength. Lower values represent more freedom given to the model to change the audio content. · Default: 1 · Range: 0–1
schedulerstringOptionalThe scheduler to use. · Allowed: ltx2, linear_quadratic, beta · Default: ltx2
match_video_lengthbooleanOptionalWhen enabled, the number of frames will be calculated based on the video duration and FPS. When disabled, use the specified num_frames. · Default: true
distill_lora_second_pass_scalenumberOptionalThe scale of the distill LoRA to use for the second and subsequent passes. · Default: 0.5 · Range: 0–1
num_framesnumberOptionalThe number of frames to generate. · Default: 121 · Range: 9–481
accelerationstringOptionalThe acceleration level to use. · Allowed: none, regular, high, full · Default: none
video_write_modestringOptionalThe write mode of the generated video. · Allowed: fast, balanced, small · Default: balanced
video_qualitystringOptionalThe quality of the generated video. · Allowed: low, medium, high, maximum · Default: high
video_output_typestringOptionalThe output type of the generated video. · Allowed: X264 (.mp4), VP9 (.webm), PRORES4444 (.mov), GIF (.gif) · Default: X264 (.mp4)
camera_lora_scalenumberOptionalThe 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_lorastringOptionalThe 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
match_input_fpsbooleanOptionalWhen true, match the output FPS to the input video's FPS instead of using the default target FPS. · Default: true
negative_promptstringOptionalThe 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_expansionbooleanOptionalWhether to enable prompt expansion. · Default: true
enable_safety_checkerbooleanOptionalRun the safety checker to block unsafe content. · Default: true
fpsnumberOptionalThe frames per second of the generated video. · Default: 24 · Range: 1–60
aspect_ratiostringOptionalAllowed: 16:9, 9:16, 1:1
resolutionstringOptionalAllowed: 1080p, 1440p
durationnumberOptionalAllowed: 3, 4, 5, 6, 7, 8, 10
image_urlstringOptionalFormat: uri
end_image_urlstringOptionalFormat: uri
video_urlstringRequiredFormat: uri
audio_urlstringOptionalFormat: uri
Minimal request example
{
  "model_id": "fal-ai/ltx-2.3-22b/distilled/reference-video-to-video",
  "prompt": "Faster and cheaper than full LTX-2.3 V2V — upload a reference video and describe any scene for quick high-quality style transfer",
  "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%2Fdistilled%2Freference-video-to-video",
  "title": "LTX-2.3 Distilled (V2V) generation request",
  "description": "Request body accepted by POST /api/v1/generate for fal-ai/ltx-2.3-22b/distilled/reference-video-to-video.",
  "type": "object",
  "properties": {
    "model_id": {
      "type": "string",
      "const": "fal-ai/ltx-2.3-22b/distilled/reference-video-to-video",
      "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"
    },
    "preprocessor": {
      "title": "Preprocessor",
      "description": "The preprocessor to use for the generation.",
      "default": "none",
      "type": "string",
      "enum": [
        "depth",
        "canny",
        "pose",
        "none"
      ]
    },
    "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
    },
    "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
    },
    "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"
    },
    "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": "none",
      "type": "string",
      "enum": [
        "none",
        "regular",
        "high",
        "full"
      ]
    },
    "video_write_mode": {
      "title": "Video Write Mode",
      "description": "The write mode of the generated video.",
      "default": "balanced",
      "type": "string",
      "enum": [
        "fast",
        "balanced",
        "small"
      ]
    },
    "video_quality": {
      "title": "Video Quality",
      "description": "The quality of the generated video.",
      "default": "high",
      "type": "string",
      "enum": [
        "low",
        "medium",
        "high",
        "maximum"
      ]
    },
    "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)"
      ]
    },
    "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"
      ]
    },
    "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"
    },
    "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"
    },
    "fps": {
      "title": "Fps",
      "description": "The frames per second of the generated video.",
      "default": 24,
      "type": "number",
      "minimum": 1,
      "maximum": 60
    },
    "aspect_ratio": {
      "type": "string",
      "enum": [
        "16:9",
        "9:16",
        "1:1"
      ]
    },
    "resolution": {
      "type": "string",
      "enum": [
        "1080p",
        "1440p"
      ]
    },
    "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",
    "video_url"
  ],
  "additionalProperties": false
}

FAQ

How much does LTX-2.3 Distilled (V2V) 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 Distilled (V2V) fails?

Yes — failed generations are never charged. The credits are released back to your balance automatically.

Can I call LTX-2.3 Distilled (V2V) from the API?

Yes. Use POST /api/v1/generate with model_id: "fal-ai/ltx-2.3-22b/distilled/reference-video-to-video". 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 Distilled (V2V)?

Start now →

No commitment. New accounts get 50 free credits on signup. See pricing.