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

# Luma Labs

> Video and image generation, including image-to-video. An alternative to Higgsfield for a moving hero.

Video and image generation, including image-to-video. An alternative to Higgsfield for a moving hero.

## Connecting

In the dashboard, open **Connectors**, find Luma Labs and press **Connect**. The key you enter is checked against Luma Labs before anything is saved, so a key that is refused never becomes a connection that fails later.

### What you will need

| Field | What it is |
| - | - |
| API Key | Your Luma API key from lumalabs.ai/api |

### Getting the credential

1. Go to [lumalabs.ai/api](https://lumalabs.ai/api) and create an API key
2. Paste it into the connector

## Notes

* **Everything is asynchronous.** Starting a job returns an id and `state: "queued"`. Poll `get_generation`
  until `state` is `completed`; it can also end `failed`.
* Finished assets are copied onto BoostGPT storage, so the link your AI teammate returns keeps working.
* This connector targets the **Dream Machine API** (`api.lumalabs.ai/dream-machine/v1`). Luma's newer Ray 3
  models live on a separate Agents API with its own keys, billing and request format — a different key will
  not work here.

## What your AI teammate can do with it

| Tool | What it does |
| - | - |
| `generate_video` | Start a Ray video generation from a text prompt. Asynchronous: returns a generation id with state 'queued' — poll it with get\_generation until the state is 'completed'. |
| `image_to_video` | Animate a still image with Ray. Pass a publicly reachable image URL as the starting keyframe. Asynchronous — poll with get\_generation. |
| `generate_image` | Generate an image with Photon. Asynchronous like video — returns a generation id to poll with get\_generation. |
| `get_generation` | Poll a generation started by generate\_video, image\_to\_video or generate\_image. States are 'queued', 'dreaming', 'completed' and 'failed'. Once completed the asset is rehosted on a durable URL; while it is still running the state is returned so you can poll again. |
| `list_generations` | List recent generations on this account, newest first. |
| `delete_generation` | Permanently delete a generation and its assets. |

## Useful resources

* [Luma API docs](https://docs.lumalabs.ai)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.