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

# Reference to Video

> Venice API에서 Kling O3 및 Grok Imagine R2V 모델을 사용해 캐릭터 요소, 장면 레퍼런스, 멀티 샷 제어로 일관성 있는 AI 비디오를 생성하세요.

Reference to Video를 사용하면 캐릭터, 객체, 장면의 외형을 고정해 AI가 생성하는 비디오의 시각적 일관성을 유지할 수 있습니다. 모델이 prompt를 올바르게 해석해 주길 바라는 대신, 모델에게 피사체가 어떻게 생겼는지 정확히 알려주는 시각적 앵커, 즉 레퍼런스 이미지를 제공합니다.

이 기능은 [Venice Video Studio](https://venice.ai/video)의 **Kling O3** 및 **Grok Imagine R2V** 모델에서 사용 가능합니다. 각 모델 패밀리는 레퍼런스 이미지에 서로 다른 접근 방식을 사용합니다 — 아래 모델별 섹션을 참고하세요.

## Reference to Video를 언제 사용하나요

다음이 필요할 때 Reference to Video를 사용하세요:

* **캐릭터 일관성** — 여러 샷에 걸쳐 같은 사람이나 캐릭터
* **제품 정확성** — 원본과 동일하게 보여야 하는 실제 제품
* **장면 연속성** — 여러 생성에 걸친 특정 환경이나 배경
* **멀티 캐릭터 장면** — 섞이지 않고 상호작용하는 여러 명의 구분된 캐릭터

일관성이 중요하지 않은 단순한 text-to-video나 image-to-video에서는 레퍼런스 없이도 표준 모델이 잘 동작합니다.

## 사용 가능한 모델

| Model                     | Approach          | Best for                      |
| ------------------------- | ----------------- | ----------------------------- |
| **Kling O3 Pro R2V**      | Elements + 장면 이미지 | 정밀한 정체성 제어가 필요한 복잡한 멀티 캐릭터 장면 |
| **Kling O3 Standard R2V** | Elements + 장면 이미지 | element 기반 장면을 빠르게 반복         |
| **Grok Imagine R2V**      | 평면 레퍼런스 이미지       | 최대 7장의 이미지로 빠른 레퍼런스 기반 생성     |

**Kling O3**는 Elements(정면 + 레퍼런스 이미지가 있는 캐릭터 정체성 앵커)와 Scene Images를 사용하는 구조화된 접근을 채택합니다. **Grok Imagine R2V**는 더 단순한 접근으로, 레퍼런스 이미지를 직접 업로드하고 prompt에서 `@Image1`, `@Image2` 등으로 참조합니다.

***

## Kling O3 Reference to Video

### 핵심 개념

Kling O3 Reference to Video는 함께 동작하는 세 가지 시각적 input을 사용합니다:

| Input                      | Required          | Purpose         | How to reference in prompt |
| -------------------------- | ----------------- | --------------- | -------------------------- |
| **Elements**               | 최소 하나의 시각 input\* | 캐릭터나 객체의 정체성 고정 | `@Element1`, `@Element2` 등 |
| **Scene Reference Images** | 최소 하나의 시각 input\* | 환경, 스타일, 분위기 설정 | `@Image1`, `@Image2` 등     |
| **Start Frame**            | 최소 하나의 시각 input\* | 비디오의 첫 프레임 제어   | N/A (업로드로 설정)              |
| **End Frame**              | 아니오               | 비디오의 마지막 프레임 제어 | N/A (업로드로 설정)              |

\*start frame, elements, scene reference images 중 적어도 하나는 필요합니다.

### Elements

Element는 비디오 전반에 걸쳐 시각적으로 안정적으로 유지하고 싶은 캐릭터나 객체입니다. 각 element는 다음으로 구성됩니다:

* **정면 이미지(Frontal Image)** (element당 필수) — 피사체의 선명한 정면 사진. 주요 정체성 앵커입니다. 캐릭터나 제품의 "여권 사진"이라고 생각하세요.
* **레퍼런스 이미지(Reference Images)** (1–3장, 선택) — 같은 피사체의 추가 각도(측면, 45도, 후면). 모델이 피사체를 3D 공간에서 이해하는 데 도움이 됩니다. 제공하지 않으면 정면 이미지가 자동으로 레퍼런스로 사용됩니다.

생성당 최대 **7개의 element**를 추가할 수 있습니다(전체 합계로 제한). prompt에서 `@Element1`, `@Element2` 등으로 참조하세요.

### Scene Reference Images

Scene 레퍼런스는 액션이 일어나는 "무대"를 정의합니다. 다음에 영향을 줍니다:

* 조명과 색상 팔레트
* 건축과 환경 디테일
* 전반적인 시각 스타일과 분위기

최대 **4개의 scene 이미지**를 추가할 수 있습니다. prompt에서 `@Image1`, `@Image2` 등으로 참조하세요.

### 제한 사항

모든 input 유형 전체의 이미지 수에 제한이 있습니다:

| Limit                                                      | Value                                            |
| ---------------------------------------------------------- | ------------------------------------------------ |
| **최소 요구 사항**                                               | 최소 1개의 시각 input(start frame, element, scene 이미지) |
| **전체 합계**(first frame + last frame + elements + scene 이미지) | 최대 **7**                                         |
| Elements(start/end frame 없음)                               | 최대 7                                             |
| Elements(start 또는 end frame 있음)                            | 최대 3                                             |
| Scene 레퍼런스 이미지                                             | 최대 4                                             |
| Element당 레퍼런스 이미지                                          | 1–3                                              |

**예시 시나리오:**

* 7 elements + 0 scene 이미지 = 7 ✓ (프레임 없음)
* 5 elements + 2 scene 이미지 = 7 ✓ (프레임 없음)
* First frame (1) + 3 elements + 3 scene 이미지 = 7 ✓
* First frame (1) + last frame (1) + 3 elements + 2 scene 이미지 = 7 ✓
* First frame (1) + 4 elements = ✗ (프레임이 있으면 최대 3 elements)
* First frame (1) + last frame (1) + 4 elements = ✗ (프레임이 있으면 최대 3 elements)

<Note>
  각 element는 **정면 이미지**가 필요합니다. element에 레퍼런스 이미지를 제공하지 않으면 정면 이미지가 자동으로 레퍼런스로 사용됩니다.
</Note>

### 멀티 샷 모드

멀티 샷 모드를 사용하면 단일 생성을 여러 장면으로 나눠 각 장면마다 자체 prompt와 길이를 지정할 수 있습니다. Elements와 scene 레퍼런스는 모든 샷에 걸쳐 유지되어 일관성을 보장합니다. 모든 샷의 총 길이는 **15초**를 초과할 수 없습니다.

***

### 단계별 가이드 (Video Studio)

#### 1. Video Studio 열기 및 모델 선택

[venice.ai/video](https://venice.ai/video)로 이동하세요. 왼쪽의 Model Browser에서 **Kling O3 Reference to Video** 모델 중 하나를 선택하세요:

* **Kling O3 Pro R2V** — 더 높은 품질, 더 긴 생성 시간(\~6분)
* **Kling O3 Standard R2V** — 더 빠르고 반복에 비용 효율적

#### 2. 시각적 input 추가(최소 하나 필요)

비디오를 생성하려면 **최소 하나의 시각 input**을 제공해야 합니다: start frame, element, scene 레퍼런스 이미지 중 하나. Input 패널에서 **Elements** 섹션을 보세요. **Add Element**를 클릭해 시각적으로 일관성을 유지하고 싶은 캐릭터나 객체에 대한 element를 생성하세요.

각 element에 대해:

1. **Frontal** 타일을 클릭해 캐릭터나 객체의 선명한 정면 이미지를 업로드
2. 선택적으로 **Reference Images** 아래 **Add**를 클릭해 추가 각도(1–3개)를 업로드

추가 캐릭터나 객체에 대해 반복하세요(총 최대 7개 elements, 또는 start/end frame을 사용한다면 3개).

<Warning>
  first frame, last frame, elements, scene 이미지의 전체 합계는 **7**을 초과할 수 없습니다. 자세한 내용은 [제한 사항](#limitations)을 참고하세요.
</Warning>

<Tip>
  **좋은 레퍼런스 이미지:** 깨끗한 배경의 잘 조명된 사진을 사용하세요. 가장 강한 정체성 고정을 위해 정면, 측면, 45도 각도 뷰를 제공하세요. 모든 레퍼런스 이미지가 같은 시각 스타일을 공유하도록 하세요(사진 사실주의와 애니메이션을 섞지 마세요).
</Tip>

#### 3. Scene 레퍼런스 이미지 추가(선택)

Elements 섹션 아래에 **Scene Reference Images**가 있습니다. 원하는 환경을 정의하는 이미지를 업로드하세요 — 특정 장소, 조명 설정, 또는 아트 스타일.

이들은 자동으로 `@Image1`, `@Image2` 등으로 태깅됩니다.

#### 4. Start Frame 업로드(선택)

비디오의 정확한 첫 프레임을 제어하고 싶다면 **Image** input 유형으로 전환해 start frame을 업로드하세요. 선택적으로 end frame도 설정할 수 있습니다.

#### 5. Prompt 작성

prompt 필드에 `@` 태그를 사용해 elements와 scene 이미지를 참조하면서 원하는 액션을 설명하세요:

```
@Element1 walks through the streets of @Image1, looking up at the buildings.
The camera slowly tracks from behind, revealing the city skyline.
```

**멀티 캐릭터 장면**의 경우:

```
@Element1 and @Element2 enter the cafe in @Image1 from opposite sides.
@Element1 waves and walks toward @Element2, who is sitting at a corner table.
```

#### 6. 설정 구성

**Video Settings**를 열어 다음을 조정하세요:

| Setting        | Options         | Default |
| -------------- | --------------- | ------- |
| Duration       | 3s – 15s        | 5s      |
| Aspect Ratio   | 16:9, 9:16, 1:1 | 16:9    |
| Generate Audio | On/Off          | Off     |

<Note>
  오디오 생성은 비디오에 동기화된 네이티브 효과음, 대사, 환경음을 추가합니다. 비용을 약 25% 증가시킵니다.
</Note>

#### 7. 생성

**Generate Video**를 클릭하세요. Kling O3는 모델 등급과 길이에 따라 보통 4–6분이 걸립니다. 여러 생성 작업을 큐에 넣고 Video Gallery에서 결과를 둘러볼 수 있습니다.

***

### 멀티 샷 스토리보드

내러티브 시퀀스의 경우, 단일 생성 내에서 별도의 장면을 정의하기 위해 멀티 샷 모드를 사용하세요.

1. prompt 영역에서 **Add Shot**을 클릭해 추가 샷 생성
2. 각 샷에 별도의 prompt 작성
3. 각 샷의 길이를 설정(각각 3–15초, 합계 ≤ 15초)

Elements와 scene 레퍼런스는 모든 샷에서 자동으로 유지됩니다:

```
Shot 1 (5s): @Element1 stands at the edge of @Image1, looking out at the horizon.
Slow camera push forward.

Shot 2 (5s): Close-up of @Element1's face as they turn toward the camera.
Soft natural lighting, shallow depth of field.

Shot 3 (5s): @Element1 walks away from camera into the distance.
Wide cinematic shot, golden hour lighting.
```

<Warning>
  멀티 샷 전체 길이는 15초를 초과할 수 없습니다. 예를 들어 3개의 5초 샷 = 최대 15초.
</Warning>

***

### Prompt 작성 팁

#### Prompt 구조화

신뢰성 있는 결과를 위해 다음 패턴을 따르세요:

```
[@Element 태그가 있는 피사체] + [액션] + [@Image 태그가 있는 환경] + [카메라 움직임] + [조명/스타일]
```

**예시:**

```
@Element1 hops happily across the candy ground of @Image1, stops to look at a
giant lollipop, tilts its head curiously. Cinematic tracking shot, soft warm lighting.
```

#### Prompt를 50–150 단어로 유지

너무 짧은 prompt는 디테일이 부족합니다. 너무 긴 prompt는 모순을 만듭니다. 스위트 스팟을 노리세요.

#### 단순한 카메라 언어 사용

모델은 직관적인 카메라 지시에 가장 잘 반응합니다:

| Use                         | Avoid                                           |
| --------------------------- | ----------------------------------------------- |
| `slow camera push forward`  | `dolly zoom with rack focus transition`         |
| `tracking shot from behind` | `complex handheld parallax movement`            |
| `close-up`                  | `extreme macro with tilt-shift bokeh`           |
| `wide cinematic shot`       | `anamorphic ultra-wide establishing crane shot` |

#### 일관된 어휘 사용

한 prompt에서 캐릭터가 "a red jacket"을 입었다고 설명했다면, 다음에는 "crimson coat"로 바꾸지 마세요. 모델은 다른 단어를 다른 의도로 취급합니다.

#### 카메라 지시를 앞에 배치

더 신뢰성 있는 결과를 위해 카메라 방향을 prompt 시작 근처에 두세요:

```
Cinematic tracking shot of @Element1 walking through @Image1, leaves
blowing in the wind, golden afternoon light.
```

***

### Kling O3 가격

Kling O3 Reference to Video 모델은 길이 기반 가격을 사용합니다:

| Model                 | Per second (no audio) | Per second (with audio) |
| --------------------- | --------------------- | ----------------------- |
| Kling O3 Pro R2V      | \$0.112               | \$0.140                 |
| Kling O3 Standard R2V | \$0.112               | \$0.140                 |

**예시:** 오디오 포함 10초 비디오 = 10 × $0.14 = **$1.40\*\*

생성 전 정확한 가격은 [Video Quote API](https://docs.venice.ai/api-reference/endpoint/video/quote)를 사용하세요.

***

### Kling O3 API 사용

Kling O3 Reference to Video는 Venice API로도 사용할 수 있습니다. 전체 세부 내용은 [Video Queue API](https://docs.venice.ai/api-reference/endpoint/video/queue)를 참고하세요.

#### Python

```python theme={"system"}
import requests

response = requests.post(
    "https://api.venice.ai/api/v1/video/queue",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    json={
        "model": "kling-o3-pro-reference-to-video",
        "prompt": "@Element1 walks through @Image1, camera tracking from behind",
        "duration": "8",
        "aspect_ratio": "16:9",
        "audio": True,
        "elements": [
            {
                "frontal_image_url": "https://example.com/character-front.jpg",
                "reference_image_urls": [
                    "https://example.com/character-side.jpg",
                    "https://example.com/character-angle.jpg"
                ]
            }
        ],
        "image_urls": [
            "https://example.com/scene-background.jpg"
        ]
    }
)

queue_id = response.json()["id"]
```

#### Node.js

```javascript theme={"system"}
const response = await fetch("https://api.venice.ai/api/v1/video/queue", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    model: "kling-o3-pro-reference-to-video",
    prompt: "@Element1 walks through @Image1, camera tracking from behind",
    duration: "8",
    aspect_ratio: "16:9",
    audio: true,
    elements: [
      {
        frontal_image_url: "https://example.com/character-front.jpg",
        reference_image_urls: [
          "https://example.com/character-side.jpg",
          "https://example.com/character-angle.jpg"
        ]
      }
    ],
    image_urls: [
      "https://example.com/scene-background.jpg"
    ]
  })
});

const { id: queueId } = await response.json();
```

#### cURL

```bash theme={"system"}
curl https://api.venice.ai/api/v1/video/queue \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "kling-o3-pro-reference-to-video",
    "prompt": "@Element1 walks through @Image1, camera tracking from behind",
    "duration": "8",
    "aspect_ratio": "16:9",
    "audio": true,
    "elements": [
      {
        "frontal_image_url": "https://example.com/character-front.jpg",
        "reference_image_urls": [
          "https://example.com/character-side.jpg",
          "https://example.com/character-angle.jpg"
        ]
      }
    ],
    "image_urls": [
      "https://example.com/scene-background.jpg"
    ]
  }'
```

#### Element 스키마

`elements` 배열의 각 element는 다음을 받습니다:

| Field                  | Type      | Required | Description                                |
| ---------------------- | --------- | -------- | ------------------------------------------ |
| `frontal_image_url`    | string    | **예**    | 선명한 정면 이미지 URL                             |
| `reference_image_urls` | string\[] | 아니오      | 추가 각도 URL(1–3개). 생략하면 정면 이미지가 레퍼런스로 사용됩니다. |

<Note>
  API는 비디오 기반 element를 위한 `video_url`도 지원하지만, 현재 Video Studio UI에서는 사용할 수 없습니다.
</Note>

***

### Kling O3 문제 해결

| Problem                                 | Likely cause                | Fix                                                          |
| --------------------------------------- | --------------------------- | ------------------------------------------------------------ |
| Generate 버튼이 비활성화                       | 시각적 input이 없음               | 최소 하나의 시각 input 추가: start frame, element, 또는 scene 레퍼런스 이미지  |
| "Number of images exceeds the limit" 에러 | 결합된 input이 너무 많음            | first frame + last frame + elements + scene 이미지 합계가 ≤ 7이어야 함 |
| 샷 사이에 캐릭터 얼굴이 변함                        | 다르거나 누락된 정면 이미지             | 같은 정면 이미지를 일관되게 사용, 설명을 동일하게 유지                              |
| 카메라 움직임이 무작위로 느껴짐                       | 여러 개 또는 상충하는 카메라 지시         | 단일 카메라 지시 사용, prompt 앞쪽에 배치                                  |
| 생성 사이에 스타일이 바뀜                          | 일관성 없는 scene 레퍼런스 또는 혼합 스타일 | 같은 scene 이미지 재사용, 스타일 키워드를 일관되게 유지                           |
| 멀티 캐릭터 장면에서 element가 섞임                 | 모호한 공간 지시                   | 각 element의 위치를 명시: "foreground left", "entering from right"  |
| 배경이 왜곡되어 보임                             | 어수선하거나 복잡한 scene 레퍼런스 이미지   | 깨끗하고 고품질의 scene 레퍼런스 이미지 사용                                  |
| 모션이 부자연스러움                              | 하나의 prompt에 너무 많은 액션        | 액션 단순화, 더 짧은 길이 사용, 샷당 하나의 액션                                |

<Tip>
  더 긴 길이로 가기 전에 3–5초 클립으로 테스트하세요. 짧은 클립은 일관성을 더 잘 유지하고 더 빠른 반복을 가능하게 합니다.
</Tip>

***

## Grok Imagine Reference to Video

Grok Imagine R2V는 Kling O3보다 더 단순한 접근을 사용합니다. 정면/레퍼런스 이미지로 분리된 구조화된 Elements 대신, **평면 레퍼런스 이미지**를 업로드해 prompt에서 `@Image1`, `@Image2` 등으로 직접 참조합니다. 모델은 해당 피사체들을 생성된 비디오에 통합합니다.

### 동작 방식

1. **1–7개의 레퍼런스 이미지** 업로드 — 비디오에 원하는 캐릭터, 객체, 장면의 사진
2. 비디오를 설명하는 prompt를 작성하고, `@Image1`, `@Image2` 등으로 특정 이미지를 참조
3. 모델이 그 레퍼런스들을 통합한 비디오를 생성

prompt에 `@Image` 태그를 포함하지 않으면 업로드된 모든 이미지가 자동으로 참조됩니다.

### 설정

| Setting      | Options                             | Default |
| ------------ | ----------------------------------- | ------- |
| Aspect Ratio | 16:9, 4:3, 3:2, 1:1, 2:3, 3:4, 9:16 | 16:9    |
| Resolution   | 480p, 720p                          | 480p    |
| Duration     | 5s, 8s, 10s                         | 8s      |

<Note>
  Grok Imagine R2V는 오디오 생성, 멀티 샷 모드, Elements를 지원하지 않습니다. 그러한 기능에는 Kling O3 R2V를 사용하세요.
</Note>

### 단계별 가이드 (Video Studio)

#### 1. 모델 선택

[venice.ai/video](https://venice.ai/video)로 이동하세요. Model Browser에서 **Grok Imagine R2V**를 선택하세요.

#### 2. 레퍼런스 이미지 업로드

input 툴바에서 **References**(또는 + 메뉴 사용)를 클릭해 레퍼런스 이미지 패널을 여세요. 비디오에 원하는 캐릭터, 객체, 장면의 1–7개 이미지를 업로드하세요.

각 이미지는 업로드한 순서(왼쪽에서 오른쪽)대로 자동으로 `@Image1`, `@Image2` 등으로 태깅됩니다.

#### 3. Prompt 작성

원하는 비디오를 설명하세요. `@Image` 태그를 사용해 특정 이미지를 참조하세요:

```
@Image1 and @Image2 walking together through a sunlit park,
camera slowly tracking alongside them, warm afternoon light.
```

prompt 필드에서 `@`를 입력하면 사용 가능한 이미지 레퍼런스의 자동완성 메뉴를 볼 수 있습니다.

<Tip>
  `@Image` 태그를 완전히 생략하면 백엔드가 자동으로 모든 업로드된 이미지에 대한 참조를 prepend합니다. 어떤 이미지를 어디에 쓸지 명시하지 않고 모든 이미지를 사용하고 싶을 때 유용합니다.
</Tip>

#### 4. 설정 구성 및 생성

**Video Settings**를 열어 종횡비, 해상도, 길이를 조정하세요. **Generate Video**를 클릭하세요.

### Grok Imagine R2V 가격

Grok Imagine R2V는 길이 및 해상도 기반 가격을 사용합니다:

| Resolution | Per second |
| ---------- | ---------- |
| 480p       | \~\$0.063  |
| 720p       | \~\$0.088  |

**예시:** 480p의 8초 비디오 = 8 × $0.063 = **약 $0.50\*\*

<Note>
  Grok Imagine은 비디오가 거부되더라도 생성된 비디오에 대해 콘텐츠 모더레이션 수수료를 부과합니다. 이는 생성 전에 표시되는 크레딧 비용에 반영됩니다.
</Note>

### Grok Imagine R2V API 사용

#### Python

```python theme={"system"}
import requests

response = requests.post(
    "https://api.venice.ai/api/v1/video/queue",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    json={
        "model": "grok-imagine-reference-to-video",
        "prompt": "@Image1 and @Image2 walking through a park, cinematic tracking shot",
        "duration": "8",
        "aspect_ratio": "16:9",
        "referenceImageUrls": [
            "https://example.com/character-a.jpg",
            "https://example.com/character-b.jpg"
        ]
    }
)

queue_id = response.json()["id"]
```

#### Node.js

```javascript theme={"system"}
const response = await fetch("https://api.venice.ai/api/v1/video/queue", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    model: "grok-imagine-reference-to-video",
    prompt: "@Image1 and @Image2 walking through a park, cinematic tracking shot",
    duration: "8",
    aspect_ratio: "16:9",
    referenceImageUrls: [
      "https://example.com/character-a.jpg",
      "https://example.com/character-b.jpg"
    ]
  })
});

const { id: queueId } = await response.json();
```

#### cURL

```bash theme={"system"}
curl https://api.venice.ai/api/v1/video/queue \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "grok-imagine-reference-to-video",
    "prompt": "@Image1 and @Image2 walking through a park, cinematic tracking shot",
    "duration": "8",
    "aspect_ratio": "16:9",
    "referenceImageUrls": [
      "https://example.com/character-a.jpg",
      "https://example.com/character-b.jpg"
    ]
  }'
```

#### API 파라미터

| Field                | Type      | Required | Description                                |
| -------------------- | --------- | -------- | ------------------------------------------ |
| `model`              | string    | **예**    | `grok-imagine-reference-to-video`여야 함      |
| `prompt`             | string    | **예**    | 선택적 `@Image1`, `@Image2` 참조가 있는 텍스트 prompt |
| `referenceImageUrls` | string\[] | **예**    | 1–7개의 이미지 URL 또는 data URL                  |
| `duration`           | string    | 아니오      | `"5"`, `"8"`(기본), 또는 `"10"`                |
| `aspect_ratio`       | string    | 아니오      | 예: `"16:9"`(기본), `"9:16"`, `"1:1"`         |
| `resolution`         | string    | 아니오      | `"480p"`(기본) 또는 `"720p"`                   |

<Note>
  Grok Imagine R2V는 `elements`, `image_urls`, `imageUrl` 필드를 사용하지 않습니다. 모든 레퍼런스 이미지는 `referenceImageUrls`를 통해 전달됩니다.
</Note>

### Grok Imagine R2V 문제 해결

| Problem                                       | Likely cause                   | Fix                                                          |
| --------------------------------------------- | ------------------------------ | ------------------------------------------------------------ |
| Generate 버튼이 비활성화                             | 레퍼런스 이미지가 업로드되지 않음             | 최소 1개의 레퍼런스 이미지 업로드                                          |
| "At least one reference image is required" 에러 | `referenceImageUrls`가 비어있거나 누락 | `referenceImageUrls`에 최소 하나의 이미지 URL 제공                      |
| `@Image` 태그와 잘못된 이미지가 연결됨                     | 이미지 순서가 태그와 맞지 않음              | `@Image1`은 업로드 순서(왼쪽에서 오른쪽)에서 첫 번째 이미지에 해당합니다. 필요하면 업로드 재정렬. |
| 비디오에 피사체가 나타나지 않음                             | 명시적 태그 없이 레퍼런스가 너무 많음          | prompt에서 사용할 이미지를 명시하기 위해 `@Image` 태그 사용                     |
| 출력 품질이 낮음                                     | 480p 해상도 사용 중                  | 더 높은 품질을 위해 720p 시도(비용 증가)                                   |
| 비디오가 너무 짧음                                    | 기본 길이가 8초                      | 더 긴 비디오를 위해 길이를 `"10"`으로 설정                                  |
