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

Use this in every request
luma/agent/ray/v3.2/image-to-video

This 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

Input fields for luma/agent/ray/v3.2/image-to-video
NameTypeDescription
promptrequiredstring
Text prompt describing the motion/scene to generate.
image_urlstring (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_urlstring (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_ratiostring (enum)
Aspect ratio of the generated video.

Default: 16:9

One of: 3:4, 4:3, 1:1, 9:16, 16:9, 21:9

resolutionstring (enum)
Resolution of the generated video. Higher resolutions cost more.

Default: 540p

One of: 540p, 720p, 1080p

durationstring (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.

Default: 5s

One of: 5s

loopboolean
Generate a seamless loop. Only valid for standard-dynamic-range generations without an end frame or keyframes.

Default: false

hdrboolean
Generate an HDR-encoded MP4. Requires HDR access on the account and a resolution of 720p or 1080p; not supported with loop.

Default: false

exr_exportboolean
Also export an EXR file alongside the MP4. Requires hdr=true and HDR access.

Default: false

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.

Job excerpt
"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