> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gmicloud.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# luma-ray-3-2-edit

> API usage guide for luma-ray-3-2-edit.

{/* source_model_id: luma-ray-3-2-edit */}

{/* source_updated_at: 1781739030 */}

**Model ID**

```bash theme={null}
luma-ray-3-2-edit
```

**Calling method:** async

# 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_data` plus `source_media_type`. The source must be 30 seconds or shorter. Direct source-URL ingestion is not yet supported.

## Authentication

```
Authorization: Bearer YOUR_API_KEY
```

## Submit

```bash theme={null}
curl -X POST "https://console.gmicloud.ai/api/v1/ie/requestqueue/apikey/requests" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "luma-ray-3-2-edit",
    "payload": {
      "prompt": "Transform the scene into moonlit 35mm film footage",
      "source_generation_id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
      "resolution": "720p",
      "edit_auto_controls": true
    }
  }'
```

## 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 returns `status: processing` with a `request_id`; poll until terminal:

```
GET /api/v1/ie/requestqueue/apikey/requests/{request_id}
```

`status` is `queued` → `processing` → `success` or `failed`.

## Response

```json theme={null}
{
  "request_id": "cd5b59d5-1b3f-4fd5-9899-15ecea1f28ba",
  "model": "luma-ray-3-2-edit",
  "status": "success",
  "outcome": {
    "video_url": "https://storage.googleapis.com/.../output.mp4",
    "generation_id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
    "thumbnail_image_url": "https://storage.googleapis.com/.../thumbnail.jpg"
  }
}
```

Use `generation_id` to chain a follow-up edit, extend, or reframe.

## Constraints

* `aspect_ratio` is derived from the source and silently ignored if set.
* `540p` is not available with `hdr: true`; `hdr` requires 720p/1080p and HDR access; `exr_export` requires `hdr: true`.
* `edit_auto_controls` is mutually exclusive with `edit_strength` and 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 |
