Model API
Luma Ray 3.2
Luma Ray 3.2 re-renders an existing video into new cinematic motion guided by a text prompt, preserving the source's look and movement while controlling resolution, duration, and HDR.
Model id
luma/agent/ray/v3.2/video-to-videoThis model has other modes with their own ids: luma/agent/ray/v3.2/text-to-video, luma/agent/ray/v3.2/image-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/video-to-video",
"input": {
"prompt": "A red ceramic cup on a wooden table, soft morning light",
"video_url": "https://example.com/input.mp4"
}
}'
# 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/video-to-video", "quote_id": "QUOTE_ID", "input": {"prompt":"A red ceramic cup on a wooden table, soft morning light","video_url":"https://example.com/input.mp4"}}'
# 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 how to edit the source video. |
video_urlrequired | string (URL) | URL of the source video to edit. |
user | string | Optional opaque identifier for the end user making the request. |
start_image_url | string (image URL) | Optional URL of an image to use as the edited video's first frame — e.g. a restyled version of the source's opening frame to steer the look of the edit. Leave unset to let the model derive the first frame from the source video. |
resolution | string (enum) | Resolution of the edited video. |
duration | string (enum) | Duration of the edited video. |
edit_strength | string (enum) | How closely the edit preserves the source video. 'adhere_*' stays closest to the source, 'flex_*' is balanced, and 'reimagine_*' diverges most. Leave unset to use Luma's default. Cannot be combined with auto_controls. |
auto_controls | boolean | Let the model derive the edit conditioning schedule from the source video. Cannot be combined with edit_strength. |
hdr | boolean | Generate an HDR-encoded MP4. Requires HDR access on the account and a resolution of 720p or 1080p. |
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.2282/ second
- 720p$0.3423/ second
- 1080p$0.6846/ second
The exact charge for your input comes from a quote. How charges settle