Model API

LTX-2.3 Quality

Generate high-quality video with audio from images using LTX-2.3

Model id

Use this in every request
ltx-2.3-quality/image-to-video

This model has other modes with their own ids: ltx-2.3-quality/text-to-video.

Run it

Quote the input, start the generation with the quote, then poll the job. Set RAYWAKE_API_KEY first; see Authentication.

# 1. Price the exact input (quotes are valid for up to 10 minutes)
curl -s https://api.raywake.com/v1/quotes \
  -H "Authorization: Bearer $RAYWAKE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "ltx-2.3-quality/image-to-video",
  "input": {
    "prompt": "A red ceramic cup on a wooden table, soft morning light",
    "image_url": "https://example.com/input.png"
  }
}'

# 2. Start the generation with the quote_id from step 1
curl -s https://api.raywake.com/v1/generate \
  -H "Authorization: Bearer $RAYWAKE_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"model": "ltx-2.3-quality/image-to-video", "quote_id": "QUOTE_ID", "input": {"prompt":"A red ceramic cup on a wooden table, soft morning light","image_url":"https://example.com/input.png"}}'

# 3. Poll until the status is terminal
curl -s https://api.raywake.com/v1/jobs/JOB_ID \
  -H "Authorization: Bearer $RAYWAKE_API_KEY"

Input

Input fields for ltx-2.3-quality/image-to-video
NameTypeDescription
promptrequiredstring
The prompt to guide the video generation.
image_urlrequiredstring (image URL)
The URL of the starting image.
num_framesinteger
The number of frames to generate.

Default: 121

resolutionstring (enum)
The size of the generated video. 'auto' derives the size from the input image aspect ratio.

Default: square_hd

One of: square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9

frames_per_secondnumber (enum)
Frames per second of the generated video.

Default: 24

One of: 24

num_inference_stepsinteger
Number of inference steps. Defaults to 15 and can be increased up to 30.

Default: 15

guidance_scalenumber
Classifier-free guidance scale. The default is tuned for fast, high-quality generation.

Default: 1

generate_audioboolean
Whether to include audio in the returned video. When disabled, the final MP4 is returned without an audio track.

Default: true

image_strengthnumber
Conditioning strength on the start image. 1.0 = exact first-frame match, lower = more freedom for the model.

Default: 0.7

negative_promptstring
The negative prompt to steer generation away from.

Default: 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

seedinteger
Random seed for reproducibility. If None, a random seed is chosen.
enable_prompt_expansionboolean
Whether to enable prompt expansion.

Default: true

video_qualitystring (enum)
The quality preset of the generated video.

Default: high

One of: high

video_write_modestring (enum)
The write mode of the generated video.

Default: balanced

One of: fast, balanced, small

sync_modeboolean
If True, the media is returned as a data URI inline in the response. Useful for short-lived requests and tests.

Default: false

Output

A succeeded job lists its results under outputs, stored on our side. See Jobs for every field.

Job excerpt
"outputs": [
  { "type": "video", "url": "https://…", "mime_type": "video/mp4", "thumbnail_url": "https://…" }
]

Pricing

  • 1 megapixel$0.01/ megapixel

The exact charge for your input comes from a quote. How charges settle