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

# 비디오 생성 작업 생성

> Seedance 2.0 POST /v1/video/generations

## 소개

Seedance 2.0 비동기 비디오 생성 작업을 제출합니다. 폴링용 `task_id`를 반환합니다. `content`와 `prompt` 중 최소 하나를 제공해야 하며, `content` 사용을 권장합니다.

## 인증

<ParamField header="Authorization" type="string" required>
  Bearer Token, 예: `Bearer sk-xxxxxxxxxx`
</ParamField>

<ParamField header="Content-Type" type="string">
  `application/json`
</ParamField>

## 요청 본문

<ParamField body="model" type="string" required>
  `seedance-2-0` 또는 `seedance-2-0-fast`
</ParamField>

<ParamField body="content" type="array">
  멀티모달 배열(아래 참조); `content`와 `prompt` 중 최소 하나 필수
</ParamField>

<ParamField body="prompt" type="string">
  텍스트 프롬프트; `content`의 간소화 대안
</ParamField>

<ParamField body="duration" type="integer" default="5">
  `-1`(자동) 또는 `4`\~`15`초
</ParamField>

<ParamField body="resolution" type="string" default="720p">
  `480p`, `720p`; 표준 버전은 `1080p`도 지원(fast: `1080p` 미지원)
</ParamField>

<ParamField body="ratio" type="string" default="16:9">
  `16:9`, `9:16`, `1:1`, `4:3`, `3:4`, `21:9`, `adaptive`(첫 프레임 이미지에 권장; **참조 이미지/비디오 모드에서는 사용 불가**)
</ParamField>

<ParamField body="generate_audio" type="boolean" default="true">
  오디오 자동 생성; `reference_audio` 사용 시 `false`로 설정
</ParamField>

<ParamField body="watermark" type="boolean" default="false">
  워터마크 추가 여부
</ParamField>

<ParamField body="seed" type="integer" default="-1">
  랜덤 시드; `-1`은 랜덤; 고정 양의 정수로 재현 가능
</ParamField>

## content 배열

| type        | role              | 설명                        | 제한    |
| ----------- | ----------------- | ------------------------- | ----- |
| `text`      | —                 | 텍스트 프롬프트                  | 1개    |
| `image_url` | (생략)              | 기본값은 첫 프레임                | 1개    |
| `image_url` | `first_frame`     | 첫 프레임                     | 1개    |
| `image_url` | `last_frame`      | 마지막 프레임(`first_frame` 필요) | 1개    |
| `image_url` | `reference_image` | 참조 이미지                    | 최대 9개 |
| `video_url` | `reference_video` | 참조 비디오                    | 최대 3개 |
| `audio_url` | `reference_audio` | 참조 오디오(이미지/비디오 필요)        | 최대 3개 |

**규칙:** `first_frame`과 `reference_image`는 상호 배타적; `last_frame`은 `first_frame`이 필요합니다.

<Warning>
  **`asset://`는 `asset_type`과 일치해야 합니다:** `Image` → `image_url`; `Video` → `video_url`; `Audio` → `audio_url`. 오디오를 `image_url`에 넣으면 `InvalidParameter`가 반환됩니다.
</Warning>

| 자산 `asset_type` | `type`      | 필드              | `role`                                           |
| --------------- | ----------- | --------------- | ------------------------------------------------ |
| `Image`         | `image_url` | `image_url.url` | `reference_image` / `first_frame` / `last_frame` |
| `Video`         | `video_url` | `video_url.url` | `reference_video`                                |
| `Audio`         | `audio_url` | `audio_url.url` | `reference_audio`                                |

## content에 직접 URL 전달 시 제한

`content`에 http(s) URL을 직접 전달할 때(`asset://` 아님) 리소스는 아래 제한을 충족해야 합니다. `asset://` 참조도 동일한 수치 제한을 공유합니다. 자산 라이브러리 이미지는 더 많은 형식을 허용합니다—[자산 생성](/ko/api-reference/endpoint/seedance-2.0/create-asset) 참조.

| 유형  | 주요 제한                                                                           |
| --- | ------------------------------------------------------------------------------- |
| 이미지 | JPEG / PNG / WebP, ≤ 30MB, 300\~6000px; `reference_image` 최대 9개; 첫/마지막 프레임 각 1개 |
| 비디오 | MP4 / MOV, ≤ 50MB, 클립당 2\~15초, `reference_video` 최대 3개, 총 ≤ 15초                 |
| 오디오 | WAV / MP3, ≤ 15MB, 클립당 2\~15초, 최대 3개; 이미지 또는 비디오 입력 필요                          |

## 예제

**텍스트-투-비디오:**

```bash theme={null}
curl -X POST "https://api.gravitex.ai/v1/video/generations" \
  -H "Authorization: Bearer sk-xxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-2-0",
    "content": [
      {"type": "text", "text": "Golden hour drone shot over mountains and clouds"}
    ],
    "duration": 5,
    "resolution": "720p",
    "ratio": "16:9",
    "generate_audio": true
  }'
```

**간소화 `prompt`(텍스트-투-비디오):**

```bash theme={null}
curl -X POST "https://api.gravitex.ai/v1/video/generations" \
  -H "Authorization: Bearer sk-xxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-2-0",
    "prompt": "Golden hour drone shot over mountains",
    "duration": 5,
    "resolution": "720p",
    "ratio": "16:9"
  }'
```

**이미지-투-비디오(첫 프레임):**

```bash theme={null}
curl -X POST "https://api.gravitex.ai/v1/video/generations" \
  -H "Authorization: Bearer sk-xxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-2-0",
    "content": [
      {"type": "text", "text": "Camera slowly pushes in, petals falling"},
      {"type": "image_url", "image_url": {"url": "https://example.com/garden.jpg"}}
    ],
    "ratio": "adaptive"
  }'
```

**이미지-투-비디오(첫 프레임 및 마지막 프레임):**

```bash theme={null}
curl -X POST "https://api.gravitex.ai/v1/video/generations" \
  -H "Authorization: Bearer sk-xxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-2-0",
    "content": [
      {"type": "text", "text": "Time-lapse from sunrise to sunset"},
      {"type": "image_url", "image_url": {"url": "https://example.com/sunrise.jpg"}, "role": "first_frame"},
      {"type": "image_url", "image_url": {"url": "https://example.com/sunset.jpg"}, "role": "last_frame"}
    ],
    "duration": 10,
    "ratio": "adaptive"
  }'
```

**자산 라이브러리 + 멀티모달:**

```bash theme={null}
curl -X POST "https://api.gravitex.ai/v1/video/generations" \
  -H "Authorization: Bearer sk-xxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-2-0",
    "content": [
      {"type": "text", "text": "Asset 1 sings with asset 2"},
      {"type": "image_url", "image_url": {"url": "asset://asset-xxx-image"}, "role": "reference_image"},
      {"type": "audio_url", "audio_url": {"url": "asset://asset-xxx-audio"}, "role": "reference_audio"}
    ],
    "duration": 5,
    "generate_audio": false
  }'
```

> `active` 상태의 자산만 사용할 수 있습니다. 참조된 모든 자산은 동일한 자산 그룹에 속해야 합니다.

## 응답

```json theme={null}
{
  "id": "ut-abc123def456",
  "task_id": "ut-abc123def456",
  "object": "video",
  "model": "seedance-2-0",
  "status": "queued",
  "progress": 0,
  "created_at": 1712563200
}
```

다음 단계: [비디오 생성 작업 조회](/ko/api-reference/endpoint/seedance-2.0/get-video-generation)
