# Seedance 2.5 · 30s — /videos/generations

Seedance 2.5 · 30s 영상 생성(비동기): duration은 30초 중 하나(720P는 30초만 가능), 해상도 720P, 화면 비율 16:9 / 9:16 / 1:1 / 4:3 / 3:4. 이미지-투-비디오는 image를 넣으세요(참조 최대 9장). 작업 ID를 돌려주고(HTTP 202) GET /v1/videos/jobs/{id}를 status=succeeded가 될 때까지 폴링하면 결과가 data[0].url에 담깁니다. 건당 과금: $1.50(기본값 720P). 같은 등급 안에서는 가장 짧은 클립과 가장 긴 클립의 값이 같습니다. 실패 시 전액 환불합니다.

**엔드포인트:** `POST https://nezhagate.com/v1/videos/generations`

## 인증
```
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
```

## 요청 본문
| 파라미터 | 타입 | 필수 | 설명 |
| --- | --- | --- | --- |
| `model` | string | 예 | 모델 ID. 여기서는 seedance-2.5-30s입니다. |
| `prompt` | string | 예 | 영상의 내용, 카메라, 움직임을 설명하는 텍스트 프롬프트. 최대 5000 바이트(UTF-8. 한글 한 글자는 3바이트). |
| `duration` | integer | 아니오 | 길이는 30초 중 하나만 가능합니다(기본값 30). seconds로도 쓸 수 있습니다. 720P는 30초만 가능. 건당 과금이므로 길이가 가격을 바꾸지 않습니다. |
| `resolution` | string | 아니오 | 해상도: $1.50(기본값 720P). 가격은 길이가 아니라 해상도에 따라 달라집니다. |
| `size` | string | 아니오 | 화면 비율: 16:9 / 9:16 / 1:1 / 4:3 / 3:4(기본값 16:9). aspect_ratio로도 쓸 수 있습니다. 이 모델은 21:9를 지원하지 않습니다. |
| `image` | string | 아니오 | 이미지-투-비디오: 참조 이미지를 넣으세요(공개 URL, data: URI, base64). 텍스트-투-비디오라면 생략하세요. |
| `images` | array | 아니오 | 참조 이미지 여러 장. 최대 9장입니다. 상한을 넘으면 잘라내지 않고 거절합니다. reference_images로도 쓸 수 있습니다. |

## 요청 예시
```bash
# 1) submit -> 202 {"id":"img_...","status":"queued"}
curl https://nezhagate.com/v1/videos/generations -H 'Authorization: Bearer YOUR_API_KEY' -H 'Content-Type: application/json' -d '{"model": "seedance-2.5-30s", "prompt": "a paper crane unfolding over a misty lake", "duration": 30, "resolution": "720P", "size": "16:9"}'
# image-to-video: also pass  "image": "https://example.com/ref.png"
# 2) poll every ~5s until status=succeeded, then read data[0].url
curl https://nezhagate.com/v1/videos/jobs/img_3f9a...c2 -H 'Authorization: Bearer YOUR_API_KEY'
```

## 응답
```json
{
  "id": "img_3f9a...c2",
  "object": "video.generation.job",
  "status": "queued",
  "model": "seedance-2.5-30s"
}
```