Model API
Luma Ray 3.2
Luma Ray 3.2 animates a source image into cinematic motion guided by a text prompt, preserving the starting frame's look while controlling resolution, duration, and seamless looping.
Model id
luma/agent/ray/v3.2/image-to-videoThis model has other modes with their own ids: luma/agent/ray/v3.2/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": "luma/agent/ray/v3.2/image-to-video",
"input": {
"prompt": "A red ceramic cup on a wooden table, soft morning light"
}
}'
# 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": "luma/agent/ray/v3.2/image-to-video", "quote_id": "QUOTE_ID", "input": {"prompt":"A red ceramic cup on a wooden table, soft morning light"}}'
# 3. Poll until the status is terminal
curl -s https://api.raywake.com/v1/jobs/JOB_ID \
-H "Authorization: Bearer $RAYWAKE_API_KEY"Input
| Name | Type | Description |
|---|---|---|
promptrequired | string | Text prompt describing the motion/scene to generate. |
image_url | string (image URL) | 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. |
end_image_url | string (image URL) | 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. |
aspect_ratio | string (enum) | Aspect ratio of the generated video. |
resolution | string (enum) | Resolution of the generated video. Higher resolutions cost more. |
duration | string (enum) | 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. |
loop | boolean | Generate a seamless loop. Only valid for standard-dynamic-range generations without an end frame or keyframes. |
hdr | boolean | Generate an HDR-encoded MP4. Requires HDR access on the account and a resolution of 720p or 1080p; not supported with loop. |
exr_export | boolean | Also export an EXR file alongside the MP4. Requires hdr=true and HDR access. |
Some fields of this model are not available through Raywake: keyframe_indexes.
Output
A succeeded job lists its results under outputs, stored on our side. See Jobs for every field.
"outputs": [
{ "type": "video", "url": "https://…", "mime_type": "video/mp4", "thumbnail_url": "https://…" }
]Pricing
- 540p$0.05/ second
- 720p$0.10/ second
- 1080p$0.39/ second
The exact charge for your input comes from a quote. How charges settle