Luma Ray 3.2 Video to Video
/v1/runAgent Ray 3.2 by Luma - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions.
Request body
Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.
Model identifier. Set to luma/agent/ray/3.2/video-to-video.
Default: luma/agent/ray/3.2/video-to-video
Text prompt describing how to edit the source video.
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.
URL of the source video to edit.
Resolution of the edited video. Higher resolutions cost more.
Allowed values: 540p, 720p, 1080p
Default: 540p
Duration of the edited video.
Default: 5s
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.
Allowed values: adhere_1, adhere_2, adhere_3, flex_1, flex_2, flex_3, reimagine_1, reimagine_2, reimagine_3
Multi-keyframe edit guide frames: up to 64 image URLs pinned at the source-frame positions given by keyframe_indexes. Mutually exclusive with start_image_url. Provide keyframes and keyframe_indexes together (same length).
Generate an HDR-encoded MP4. Requires HDR access on the account and a resolution of 720p or 1080p.
Default: false
Source-video frame positions where each keyframes[i] is anchored. Non-negative, unique, and the same length as keyframes.
Also export an EXR file alongside the MP4. Requires hdr=true and HDR access.
Default: false
Per-signal conditioning controls (pose, depth, normals, trajectory, face) for finer control than edit_strength. Cannot be combined with auto_controls.
Let the model derive the edit conditioning schedule from the source video. Cannot be combined with edit_strength.
Default: false
Response Schema
The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.
Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.
Current public run status.
Allowed values: pending, running, completed, failed, timeout
Public SandBase model name used for this run.
Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.
Present only for failed or timeout runs. Contains a public error type and sanitized message.
Stable public error category.
Sanitized error message safe to show to clients.
Usage details when available.
Model capabilities
Capabilities declared by the model registry.
Default: video-to-video
Execution mode declared by the model registry.
Default: async