luma/agent/ray/3.2/image-to-video
Agent Ray 3.2 by Luma - animate still images into dynamic videos with AI. Transform photos into cinematic clips with natural motion, camera movement, and optional audio generation.
Example output — click Run to generate your own
Send your first request
OpenAI-compatible endpoint with unified authentication and usage tracking.
https://api.sandbase.ai/v1/runluma/agent/ray/3.2/image-to-videoInput Schema
11 parameters · 2 required · 9 optional
| Parameter | Type | Required | Description |
|---|---|---|---|
image | string | Required | URL 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 |
prompt | string | Required | Text prompt describing the motion/scene to generate. · Min length: 1 · Max length: 6000 |
hdr | boolean | Optional | Generate an HDR-encoded MP4. Requires HDR access on the account and a resolution of 720p or 1080p; not supported with loop. · Default: false |
loop | boolean | Optional | Generate a seamless loop. Only valid for standard-dynamic-range generations without an end frame or keyframes. · Default: false |
duration | integer | Optional | Duration 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_image | string | Optional | Optional 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. |
keyframes | string[] | Optional | Multi-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_export | boolean | Optional | Also export an EXR file alongside the MP4. Requires hdr=true and HDR access. · Default: false |
resolution | string | Optional | Resolution of the generated video. Higher resolutions cost more. · Options: 540p, 720p, 1080p · Default: "540p" 540p720p1080p |
aspect_ratio | string | Optional | The 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_indexes | integer[] | Optional | Output-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. |
Output Schema
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier for the generation task |
status | string | Task status: pending, running, completed, failed, timeout |
model | string | Model used for the generation |
outputs | array | Array of output items |
outputs[].url | string | URL of the generated artifact |
outputs[].content_type | string | MIME type (e.g. image/png, video/mp4) |
error | object | null | Error details if failed, null on success |
error.type | string | Machine-readable error type code |
error.message | string | Human-readable error description |
Async Workflow
This model uses asynchronous execution. Submit a request and poll for the result.
- Submit — POST to /v1/run, receive an
id - Poll — GET /v1/run/{id} until status is
completed,failed, ortimeout - Retrieve — Read
outputsfrom the completed response
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"API README
PRICED DRAFT — MANUAL REVIEW REQUIRED exact_model_mode: luma/agent/ray/v3.2/image-to-video original_unit: For 5s video your request will cost $0.15 for 540p, $0.30 for 720p and $1.20 for 1080p. 10s is not available for image-to-video (start-frame requirement). HDR (5s) costs $0.60 at 720p and $2.40 at 1080p; HDR + EXR (5s) costs $0.90 at 720p and $3.60 at 1080p (540p not available in HDR). For $1 you can run this model approximately 6 times (540p/5s). method: complete 5-second resolution/HDR/EXR tiers result_base_price: 0.15 result_price_formula: (params.resolution ?? "540p") == "1080p" ? ((params.hdr ?? false) ? ((params.exr_export ?? false) ? 3.60 : 2.40) : 1.20) : (params.resolution ?? "540p") == "720p" ? ((params.hdr ?? false) ? ((params.exr_export ?? false) ? 0.90 : 0.60) : 0.30) : 0.15 review_status: pending; model remains disabled checked_at: 2026-08-16

