---
title: Video 1.0
description: 프롬프트, 프레임, 레퍼런스, 라우팅 프리셋으로 Sume Video 1.0에서 비디오를 생성하는 방법을 살펴보세요.
---

Video 1.0은 Sume의 **최적 비디오 모델 라우터**입니다. 프롬프트(와 선택적
프레임·레퍼런스)만 보내면 Sume가 작업에 맞는 비디오 모델을 고릅니다. 조향은
`routing_preset`(`cost`, `speed`, `quality`, `grok`, `kling`)만 사용하세요 —
프로바이더 모델 id는 보내지 않습니다. Job receipt의 모델은 항상
`sume/video-1.0`입니다.

기본 실행 URL입니다.

```text
POST /v1/video-1.0/generate
```

model-run 별칭입니다(본문은 같습니다).

```text
POST /v1/models/sume/video-1.0/runs
```

공개 모델 id는 `sume/video-1.0`입니다.

## 언제 사용하나요

| 목표 | 방법 |
|---|---|
| 텍스트 → 비디오 | `prompt`만 사용합니다 |
| 이미지 → 비디오 | `prompt` + `image_url`(첫 프레임) |
| 시작 + 끝 프레임 | `image_url` + `end_image_url` |
| 레퍼런스 기반 | `reference_image_urls`와/또는 `reference_video_urls`(이미지나 비디오 레퍼런스가 하나 이상 있을 때 선택적으로 `reference_audio_urls`) |

공개 HTTPS 미디어 URL만 사용하세요.

## 요청 필드

| 필드 | 필수 | 설명 |
|---|---|---|
| `prompt` | 예 | 비어 있지 않은 문자열입니다. |
| `image_url` | 아니요 | 첫 프레임 이미지 URL입니다. DEPRECATED된 `first_frame_url`보다 이 필드를 사용하세요. |
| `end_image_url` | 아니요 | 끝 프레임 이미지 URL입니다. `image_url`(또는 DEPRECATED된 `first_frame_url`)이 필요합니다. DEPRECATED된 `last_frame_url`보다 이 필드를 사용하세요. |
| `reference_image_urls` | 아니요 | 이미지 URL 1~9개입니다. |
| `reference_video_urls` | 아니요 | 비디오 URL 1~3개입니다. |
| `reference_audio_urls` | 아니요 | 오디오 URL 1~3개입니다. 레퍼런스 이미지나 비디오가 하나 이상 있어야 합니다. |
| `resolution` | 아니요 | `480p`, `720p`, `1080p`입니다. `1080p`는 고해상도 레인을 사용하며 15초로 제한됩니다. `4k`는 예약돼 있으며 v1에서는 거부됩니다. |
| `duration` | 아니요 | 정수 초입니다. 기본/`quality` 레인의 480p·720p에서는 4~30, `cost`·`speed`·`grok`·`kling` 및 모든 `1080p` 요청에서는 4~15입니다. `duration_seconds`보다 이 필드를 사용하세요. 둘 다 설정하면 값이 같아야 합니다. |
| `duration_seconds` | 아니요 | `duration`의 별칭입니다. |
| `bitrate_mode` | 아니요 | `standard`, `high`입니다. |
| `aspect_ratio` | 아니요 | `auto`, `adaptive`, `21:9`, `16:9`, `4:3`, `1:1`, `3:4`, `9:16`입니다. |
| `generate_audio` | 아니요 | 불리언입니다. |
| `routing_preset` | 아니요 | Sume가 소유한 라우팅 힌트입니다: `cost`, `speed`, `quality`, `grok`, `kling`. 생략하면 `quality`와 동일하게 동작하고, `cost`와 `speed`는 같은 fast 레인을 씁니다. 프로바이더 모델 id가 아닙니다. |
| `metadata` | 아니요 | Job에 저장되는 호출자 메타데이터입니다. 프로바이더로 전달되지 않습니다. |
| `mode` | 아니요 | `async`, `sync`, `subscribe`, `webhook`입니다. |
| `webhook_url` | 아니요 | 웹훅 모드를 위한 공개 HTTPS 콜백입니다. |
| `wait_timeout_seconds` | 아니요 | `sync` / `subscribe`에서 0~30입니다. |

Video 1.0은 본문의 `model` 필드를 받지 **않습니다**. Sume 라우팅 힌트가
필요하면 `routing_preset`만 사용하세요.

## 비디오 Job 만들기

<!-- api-call-example:video-generate -->

이미지에서 비디오를 만드는 예제입니다.

```bash
curl -X POST https://api.sume.com/v1/video-1.0/generate \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: video-i2v-001" \
  -d '{
    "prompt": "Gentle camera drift; keep the product locked in frame",
    "image_url": "https://example.com/first-frame.png",
    "resolution": "1080p",
    "duration": 6,
    "aspect_ratio": "16:9",
    "routing_preset": "speed"
  }'
```

## 폴링하고 결과 가져오기

```bash
curl https://api.sume.com/v1/jobs/job_123/status \
  -H "Authorization: Bearer $SUME_API_KEY"

curl https://api.sume.com/v1/jobs/job_123/events \
  -H "Authorization: Bearer $SUME_API_KEY"

curl https://api.sume.com/v1/jobs/job_123/result \
  -H "Authorization: Bearer $SUME_API_KEY"
```

제출 봉투의 `next_action`을 따르세요(`poll_status` 다음 `fetch_result`). 전체
라이프사이클은 [Job과 결과](/workflows/jobs-and-results)에 있습니다.

## 산출물

완료된 Video 1.0 Job은 Sume가 호스팅하는 비디오(때로는 이미지) 산출물을
반환합니다.

```json
{
  "id": "job_...",
  "status": "completed",
  "result": {
    "artifacts": [
      {
        "id": "artifact_...",
        "type": "video",
        "url": "https://media.sume.com/artifacts/...",
        "content_type": "video/mp4"
      }
    ]
  }
}
```

산출물 URL은 불투명한 값으로 다루세요. 워크스페이스, Job, 프로바이더 식별자를
얻으려고 경로를 파싱하지 마세요.

## 다음

- 스틸과 첫 프레임은 [Image 1.0](/models/image)
- 재사용 가능한 아바타로 만드는 토킹헤드 스크립트는
  [아바타 비디오](/models/avatar-videos)
- 큐와 동시 실행 동작은 [생성 접수](/workflows/generation-admission)
