---
canonical_url: "https://docs.composio.dev/toolkits/luma_labs"
markdown_url: "https://docs.composio.dev/toolkits/luma_labs.md"
product: "platform"
version: null
last_updated: null
---

# Luma Labs

Create and manage AI image and video generations and reusable files through the current Luma Agents API.

- **Category:** media generation
- **Auth:** API_KEY
- **Composio-managed OAuth available?** N/A
- **Tools:** 11
- **Triggers:** 0
- **Slug:** `LUMA_LABS`
- **Version:** 20261014_01
- **Instant:** Supported on the latest version. Support varies by tool.

## Tools

### Delete File

**Slug:** `LUMA_LABS_DELETE_FILE`

Soft-delete a Luma file so new generations cannot reference it. The file's metadata remains retrievable with state=deleted.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file_id` | string | Yes | Luma file ID to soft-delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Edit Image

**Slug:** `LUMA_LABS_EDIT_IMAGE`

Submit a paid, asynchronous Luma image-edit job. Returns immediately; use GET_GENERATION with generation_id to monitor it.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `model` | string ("uni-1" | "uni-1-max") | No | Image model. uni-1-max produces higher-quality output at a higher price. |
| `style` | string ("auto" | "manga") | No | Image style preset. |
| `prompt` | string | Yes | Instructions for editing the source image. |
| `source` | object | Yes | Image to edit. |
| `user_id` | string | No | Opaque, non-PII end-user identifier for usage and abuse attribution. |
| `image_ref` | array | No | Additional reference images for style or content guidance; up to 8. |
| `web_search` | boolean | No | Allow web search for grounding and reference images. |
| `output_format` | string ("png" | "jpeg") | No | Requested image output format. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Edit Video

**Slug:** `LUMA_LABS_EDIT_VIDEO`

Submit a paid, asynchronous Ray 3.2 video-edit job. Returns immediately; use GET_GENERATION with generation_id to monitor it.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `video` | object | No | Ray 3.2 video-edit options. |
| `prompt` | string | Yes | Instructions for editing the source video. |
| `source` | object | Yes | Video to edit; URL/data sources require video/* media_type. |
| `user_id` | string | No | Opaque, non-PII end-user identifier for usage and abuse attribution. |
| `web_search` | boolean | No | Allow web search for grounding and reference images. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Extract Image Layers

**Slug:** `LUMA_LABS_EXTRACT_IMAGE_LAYERS`

Submit a paid, asynchronous Luma image layer-extraction job. Pricing is flat per generation at the selected resolution, regardless of layer count; use GET_GENERATION with generation_id to monitor the job.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `prompt` | string | Yes | Optional instructions for decomposing the source image into layers; pass an empty string for automatic decomposition. |
| `source` | object | Yes | Image to decompose into layers. |
| `user_id` | string | No | Opaque, non-PII end-user identifier for usage and abuse attribution. |
| `layering` | object | No | Layer extraction output options. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Generate Image

**Slug:** `LUMA_LABS_GENERATE_IMAGE`

Submit a paid, asynchronous Luma image generation job. Returns immediately; use GET_GENERATION with generation_id to monitor it. Managed Instant calls must specify model explicitly. Maximum estimated Instant cost: $3.00 per call.

**Instant:** Supported on the latest version.

**Instant pricing:** uni-1: $0.04 per image; uni-1-max: $0.1 per image. Add $0.003 per reference image.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `model` | string ("uni-1" | "uni-1-max") | No | Image model. uni-1-max produces higher-quality output at a higher price. |
| `style` | string ("auto" | "manga") | No | Image style preset. |
| `prompt` | string | Yes | Image generation instructions. |
| `user_id` | string | No | Opaque, non-PII end-user identifier for usage and abuse attribution. |
| `image_ref` | array | No | Reference images for style or content guidance; up to 9. |
| `web_search` | boolean | No | Allow web search for grounding and reference images. |
| `aspect_ratio` | string ("3:1" | "2:1" | "16:9" | "3:2" | "1:1" | "2:3" | "9:16" | "1:2" | "1:3") | No | Requested output aspect ratio. |
| `output_format` | string ("png" | "jpeg") | No | Requested image output format. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Generate Video

**Slug:** `LUMA_LABS_GENERATE_VIDEO`

Submit a paid, asynchronous Ray 3.2 video generation job. Returns immediately; use GET_GENERATION with generation_id to monitor it. Managed Instant calls must specify video.resolution, video.duration, video.hdr, and video.exr_export. Maximum estimated Instant cost: $3.00 per call.

**Instant:** Supported on the latest version.

**Instant pricing:** Ray 3.2 SDR video pricing by resolution: a 5-second video costs $0.06 at 360p, $0.15 at 540p, $0.3 at 720p (default), or $1.2 at 1080p. A 10-second video costs $0.18 at 360p, $0.45 at 540p, $0.9 at 720p, or $3.6 at 1080p. HDR, EXR, and extension use separate rates.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `video` | object | No | Ray 3.2 video generation options. |
| `prompt` | string | Yes | Video generation instructions. |
| `user_id` | string | No | Opaque, non-PII end-user identifier for usage and abuse attribution. |
| `web_search` | boolean | No | Allow web search for grounding and reference images. |
| `aspect_ratio` | string ("9:16" | "3:4" | "1:1" | "4:3" | "16:9" | "21:9") | No | Requested output aspect ratio. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get File

**Slug:** `LUMA_LABS_GET_FILE`

Get a Luma file's metadata and current ingest, moderation, or deletion state. Soft-deleted files remain retrievable with state=deleted.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file_id` | string | Yes | Luma file ID returned by UPLOAD_FILE or LIST_FILES. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Generation

**Slug:** `LUMA_LABS_GET_GENERATION`

Get the current state, failure details, and output URLs for a Luma generation.

**Instant:** Supported on the latest version.

**Instant pricing:** $0 per request

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `generation_id` | string | Yes | Generation ID returned by a Luma image, video, edit, reframe, or layer-extraction tool. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Files

**Slug:** `LUMA_LABS_LIST_FILES`

List files in the connected Luma account, newest first, with optional state and purpose filters. Returns one page and a cursor for continuation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum files to return in this page (1-100). |
| `state` | string ("pending" | "ready" | "failed" | "deleted") | No | Return only files in this ingest or deletion state. |
| `cursor` | string | No | Opaque next_cursor from a previous LIST_FILES response. |
| `purpose` | string ("input" | "reference") | No | Return only files with this purpose. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Reframe Video

**Slug:** `LUMA_LABS_REFRAME_VIDEO`

Submit a paid, asynchronous Ray 3.2 video-reframe job. Returns immediately; use GET_GENERATION with generation_id to monitor it.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `video` | object | No | Ray 3.2 video-reframe options. |
| `prompt` | string | Yes | Instructions for reframing the source video. |
| `source` | object | Yes | Video to reframe; URL/data sources require video/* media_type. |
| `user_id` | string | No | Opaque, non-PII end-user identifier for usage and abuse attribution. |
| `web_search` | boolean | No | Allow web search for grounding and reference images. |
| `aspect_ratio` | string ("9:16" | "3:4" | "1:1" | "4:3" | "16:9" | "21:9") | Yes | Required output aspect ratio. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Upload File

**Slug:** `LUMA_LABS_UPLOAD_FILE`

Directly upload file bytes to Luma and return the file ID, metadata, and current upload/ingest state.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file` | object | Yes | File whose bytes will be uploaded to Luma. |
| `purpose` | string ("input" | "reference") | No | How the file will be used: input for primary source material or reference for style and content guidance. |
| `user_id` | string | No | Optional opaque, non-PII end-user identifier for abuse attribution. |
| `expires_at` | string | No | Optional ISO 8601 time after which Luma may delete the file. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
