API reference · Luma

luma/agent/ray/3.2/image-to-video

Integrate this model through SandBase's unified API, with production-ready schemas and examples.

VIDEOAsyncOpen model
Production endpoint

Send your first request

OpenAI-compatible endpoint with unified authentication and usage tracking.

POSThttps://api.sandbase.ai/v1/run
Model IDluma/agent/ray/3.2/image-to-video
01

Input Schema

11 parameters · 2 required · 9 optional

ParameterTypeRequiredDescription
imagestringRequiredURL of the image used as the first frame of the video. Provide either image_url (optionally with end_image_url) or keyframes — the two anchoring modes are mutually exclusive. · Min length: 1
promptstringRequiredText prompt describing the motion/scene to generate. · Min length: 1 · Max length: 6000
hdrbooleanOptionalGenerate an HDR-encoded MP4. Requires HDR access on the account and a resolution of 720p or 1080p; not supported with loop. · Default: false
loopbooleanOptionalGenerate a seamless loop. Only valid for standard-dynamic-range generations without an end frame or keyframes. · Default: false
durationintegerOptionalDuration of the generated video. 10s requires multi-keyframe input (keyframes / keyframe_indexes); it is not supported with a single image_url / end_image_url anchor. · Options: · Default: "5s"
end_imagestringOptionalOptional URL of an image used as the last frame. When set, the model interpolates between image_url and end_image_url. Cannot be combined with keyframes.
keyframesstring[]OptionalMulti-keyframe image-to-video guide frames: 1-64 image URLs pinned at the positions given by keyframe_indexes. Mutually exclusive with image_url, end_image_url, and loop; unlocks 10s and HDR. Provide keyframes and keyframe_indexes together (same length).
exr_exportbooleanOptionalAlso export an EXR file alongside the MP4. Requires hdr=true and HDR access. · Default: false
resolutionstringOptionalResolution of the generated video. Higher resolutions cost more. · Options: 540p, 720p, 1080p · Default: "540p"
540p720p1080p
aspect_ratiostringOptionalThe aspect ratio of the generated image. · Options: 21:9, 16:9, 3:2, 4:3, 5:4, 1:1, 4:5, 3:4, 2:3, 9:16
21:916:93:24:35:41:14:53:42:39:16
keyframe_indexesinteger[]OptionalOutput-frame positions (duration x 24fps: 5s -> 0-120, 10s -> 0-240) where each keyframes[i] is anchored. Non-negative, unique, and the same length as keyframes.
02

Output Schema

FieldTypeDescription
idstringUnique identifier for the generation task
statusstringTask status: pending, running, completed, failed, timeout
modelstringModel used for the generation
outputsarrayArray of output items
outputs[].urlstringURL of the generated artifact
outputs[].content_typestringMIME type (e.g. image/png, video/mp4)
errorobject | nullError details if failed, null on success
error.typestringMachine-readable error type code
error.messagestringHuman-readable error description

Async Workflow

This model uses asynchronous execution. Submit a request and poll for the result.

  1. Submit — POST to /v1/run, receive an id
  2. Poll — GET /v1/run/{id} until status is completed, failed, or timeout
  3. Retrieve — Read outputs from the completed response
03

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": "luma/agent/ray/3.2/image-to-video",
  "hdr": false,
  "loop": false,
  "image": "https://storage.googleapis.com/falserverless/gallery/example_inputs_liuyifei.png",
  "prompt": "Low-angle shot of a majestic tiger prowling through a snowy landscape, leaving paw prints on the white blanket.",
  "duration": "5s",
  "exr_export": false,
  "resolution": "540p"
}'

# Step 2: Poll result (replace <id>)
curl https://api.sandbase.ai/v1/run/<id> \
  -H "Authorization: Bearer YOUR_API_KEY"