Skip to content

Luma Ray 3.2 Video to Video

POST/v1/run

Agent 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.

stringmodelrequired

Model identifier. Set to luma/agent/ray/3.2/video-to-video.

Default: luma/agent/ray/3.2/video-to-video

stringpromptrequired

Text prompt describing how to edit the source video.

stringimagerequired

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.

Optional<string>video

URL of the source video to edit.

Optional<string>resolution

Resolution of the edited video. Higher resolutions cost more.

Allowed values: 540p, 720p, 1080p

Default: 540p

Optional<integer>duration

Duration of the edited video.

Default: 5s

Optional<string>edit_strength

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

Optional<array<string>>keyframes

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).

Optional<boolean>hdr

Generate an HDR-encoded MP4. Requires HDR access on the account and a resolution of 720p or 1080p.

Default: false

Optional<array<integer>>keyframe_indexes

Source-video frame positions where each keyframes[i] is anchored. Non-negative, unique, and the same length as keyframes.

Optional<boolean>exr_export

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

Default: false

Optional<string>controls

Per-signal conditioning controls (pose, depth, normals, trajectory, face) for finer control than edit_strength. Cannot be combined with auto_controls.

Optional<boolean>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.

stringidrequired

Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.

stringstatusrequired

Current public run status.

Allowed values: pending, running, completed, failed, timeout

Optional<string>model

Public SandBase model name used for this run.

Optional<array<object>>outputs

Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.

Optional<object>error

Present only for failed or timeout runs. Contains a public error type and sanitized message.

Optional<string>error.type

Stable public error category.

Optional<string>error.message

Sanitized error message safe to show to clients.

Optional<object>usage

Usage details when available.

Model capabilities

array<string>capability_tagsrequired

Capabilities declared by the model registry.

Default: video-to-video

stringexecution_moderequired

Execution mode declared by the model registry.

Default: async