Luma Ray 3.2 — Edit
Overview
luma-ray-3-2-edit uses Luma’s ray-3.2 model to re-render an existing video under a new text prompt — video-to-video editing via the Luma Agents API. The output keeps the source video’s aspect ratio and follows its duration. How much the edit preserves the source is set under edit conditioning (edit_auto_controls or edit_strength).
Reference the source video two ways:
- By generation id (recommended):
source_generation_id, the id of a prior completed video generation owned by the same API key. Create one with Luma Ray 3.2 — Generate. - Inline (advanced): base64
source_dataplussource_media_type. The source must be 30 seconds or shorter. Direct source-URL ingestion is not yet supported.
Authentication
Submit
Request Parameters
| Parameter | Type | Required | Description | Default |
|---|---|---|---|---|
model | string | Yes | Must be luma-ray-3-2-edit | - |
prompt | string | Yes | How to transform the source video, 1–6000 characters | - |
source_generation_id | string | Yes* | Id of a prior completed video owned by the same API key, 30s or shorter. *Required unless source_data is provided instead | "" |
resolution | enum | No | Output resolution: 540p, 720p, 1080p | 720p |
edit_auto_controls | boolean | No | Model derives the full conditioning schedule from the source (recommended). Mutually exclusive with edit_strength | - |
edit_strength | enum | No | Manual preservation preset: adhere_1..3, flex_1..3, reimagine_1..3. Mutually exclusive with edit_auto_controls | - |
pose_strength | enum | No | Pose conditioning: None / precise / coarse. None = not applied | None |
depth_blur | float | No | Depth conditioning, 0-1. Higher allows more geometric freedom. Unset = not applied | - |
normals_augmentation | float | No | Surface-normals conditioning, 0-1. Higher reinterprets geometry more. Unset = not applied | - |
trajectory_sparsity | float | No | Motion-trajectory conditioning, 0-1. Higher uses fewer motion anchors. Unset = not applied | - |
face_enabled | boolean | No | Enable face-identity conditioning | false |
hdr | boolean | No | HDR-encoded MP4. Requires HDR access and 720p/1080p | false |
exr_export | boolean | No | Export an EXR file alongside the MP4. Requires hdr: true | false |
start_frame_url | image URL | No | Optional single guide frame (JPEG/PNG/WebP) | - |
source_data | string | No | Inline base64 source video (advanced), alternative to source_generation_id, 30s or shorter | "" |
source_media_type | string | No | MIME type for source_data, e.g. video/mp4 | "" |
Status
Video generation is asynchronous. The submit returnsstatus: processing with a request_id; poll until terminal:
status is queued → processing → success or failed.
Response
generation_id to chain a follow-up edit, extend, or reframe.
Constraints
aspect_ratiois derived from the source and silently ignored if set.540pis not available withhdr: true;hdrrequires 720p/1080p and HDR access;exr_exportrequireshdr: true.edit_auto_controlsis mutually exclusive withedit_strengthand the per-signal controls (pose/depth/normals/trajectory/face) — don’t combine.- Source video must be 30 seconds or shorter. Direct source-URL ingestion is not yet supported.
Pricing
Billed at the edit-tier per 5-second block. The output duration follows the source video and is billed in 5-second blocks, rounded up.| Quality | 540p | 720p | 1080p |
|---|---|---|---|
| SDR | $0.72 | $1.08 | $2.16 |
| HDR | — | $2.16 | $4.32 |
| HDR + EXR | — | $3.78 | $7.56 |