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

# Luma

> Luma Dream Machine API를 사용한 비디오 생성

> 업데이트: 2026-06-06

# Luma

Luma Dream Machine은 고품질 비디오 생성 기능을 제공합니다. 공식 문서: [docs.lumalabs.ai](https://docs.lumalabs.ai/docs/video-generation)

## 비디오 생성

```
POST /luma/generations
```

### 요청 파라미터

| 파라미터            | 타입      | 필수  | 설명                           |
| --------------- | ------- | --- | ---------------------------- |
| `user_prompt`   | string  | 예   | 비디오 설명 프롬프트                  |
| `model_name`    | string  | 아니오 | 모델명: `ray-v1`, `ray-v2`      |
| `duration`      | string  | 아니오 | 비디오 길이(초)                    |
| `resolution`    | string  | 아니오 | 해상도: `540p`, `720p`, `1080p` |
| `expand_prompt` | boolean | 아니오 | 프롬프트 자동 확장 여부                |
| `image_url`     | string  | 아니오 | 첫 프레임 참조 이미지 URL             |
| `image_end_url` | string  | 아니오 | 마지막 프레임 참조 이미지 URL           |

### 요청 예시

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST https://api.crazyrouter.com/luma/generations \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer YOUR_API_KEY" \
    -d '{
      "user_prompt": "A drone shot flying over a tropical island with crystal clear water",
      "model_name": "ray-v2",
      "duration": "5",
      "resolution": "720p",
      "expand_prompt": true
    }'
  ```

  ```python Python theme={null}
  import requests

  response = requests.post(
      "https://api.crazyrouter.com/luma/generations",
      headers={
          "Content-Type": "application/json",
          "Authorization": "Bearer YOUR_API_KEY"
      },
      json={
          "user_prompt": "A drone shot flying over a tropical island",
          "model_name": "ray-v2",
          "duration": "5",
          "resolution": "720p"
      }
  )

  print(response.json())
  ```
</CodeGroup>

### 응답 예시

```json theme={null}
{
  "id": "luma_gen_abc123",
  "state": "queued",
  "created_at": "2024-03-01T12:00:00Z"
}
```

***

## 이미지-비디오 생성

`image_url`을 첫 프레임으로 전달합니다.

```json theme={null}
{
  "user_prompt": "The person in the image starts walking forward",
  "model_name": "ray-v2",
  "image_url": "https://example.com/portrait.jpg"
}
```

첫/마지막 프레임 모드:

```json theme={null}
{
  "user_prompt": "Smooth transition between two scenes",
  "model_name": "ray-v2",
  "image_url": "https://example.com/start.jpg",
  "image_end_url": "https://example.com/end.jpg"
}
```

***

## 작업 조회

```
GET /luma/generations/{task_id}
```

```bash cURL theme={null}
curl https://api.crazyrouter.com/luma/generations/luma_gen_abc123 \
  -H "Authorization: Bearer YOUR_API_KEY"
```

### 응답 예시

```json theme={null}
{
  "id": "luma_gen_abc123",
  "state": "completed",
  "created_at": "2024-03-01T12:00:00Z",
  "video": {
    "url": "https://storage.cdn-luma.com/...",
    "download_url": "https://storage.cdn-luma.com/..."
  }
}
```

***

## 비디오 연장

```
POST /luma/generations/{task_id}/extend
```

완료된 비디오를 연장합니다.

```bash cURL theme={null}
curl -X POST https://api.crazyrouter.com/luma/generations/luma_gen_abc123/extend \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "user_prompt": "Continue the drone shot, camera pans to reveal a beach resort"
  }'
```

### 작업 상태

| 상태          | 설명   |
| ----------- | ---- |
| `queued`    | 대기 중 |
| `dreaming`  | 생성 중 |
| `completed` | 완료됨  |
| `failed`    | 실패   |
