Seedance 2.5 API: 가격, 파라미터, 코드
Seedance 2.5는 ByteDance의 영상 모델로, 텍스트 프롬프트만으로 또는 참조 이미지 최대 30장, 영상 10개, 오디오 10개를 바탕으로 네이티브 오디오를 갖춘 최대 30초 영상을 한 번에 생성합니다. NezhaGate에서는 OpenAI 스타일의 비동기 API로 제공되며, 480P 초당 $0.10, 720P 초당 $0.158이고, 실패한 작업에는 비용이 들지 않습니다.
업데이트: 2026-10-03
Seedance 2.5 한눈에 보기
ByteDance는 2026년 7월 31일 Seedance 2.5를 공개했습니다(ByteDance Seed). 가장 큰 특징은 길이입니다. Seedance 2.0이 15초까지인 데 비해, 네이티브 오디오를 포함한 영상을 원테이크로 최대 30초까지 생성합니다. NezhaGate에서는 다른 모든 모델과 같은 API 키로 호출할 수 있습니다.
| 모델 ID | seedance-2.5 |
|---|---|
| 엔드포인트 | POST https://nezhagate.com/v1/videos/generations로 제출한 뒤 GET /v1/videos/jobs/{id}로 조회 |
| 길이 | 4초에서 30초 사이의 정수 초 (duration) |
| 해상도 | 480P, 720P(기본값); 1080P 출시 예정 |
| 화면 비율 | 16:9(기본값), 9:16, 1:1, 4:3, 3:4 (size) |
| 참조 소재 | 한 요청에 이미지 최대 30장, 영상 10개(합계 30초), 오디오 10개 |
| 오디오 | 네이티브 사운드트랙, 기본으로 켜짐 (audio: false로 끌 수 있음) |
| 프롬프트 | 최대 11,000자, 중국어와 영어를 같은 기준으로 셈 |
| 결과물 | data[0].url의 mp4 링크, 저희가 호스팅하며 60일간 보관 |
가격
생성한 영상의 초 단위로 과금합니다. 참조 이미지, 영상, 오디오에는 과금하지 않습니다. 실패하거나 시간이 초과된 작업은 전액 환불됩니다.
| 해상도 | 초당 | 5초 | 10초 | 15초 | 30초 |
|---|---|---|---|---|---|
| 480P | $0.10 | $0.50 | $1.00 | $1.50 | $3.00 |
| 720P | $0.158 | $0.79 | $1.58 | $2.37 | $4.74 |
ByteDance 공식 BytePlus 가격은 16:9 영상 기준 480p 초당 $0.103, 720p 초당 $0.231입니다. 720P 기준으로 공식가 대비 31% 절약됩니다. 30초 고정 720P 클립은 seedance-2.5-30s에서 $1.50입니다. 모든 업체의 가격을 나란히 보려면 Seedance API 가격 비교를 참고하세요.
작업 제출하고 영상 받기
영상 생성은 비동기 방식입니다. 제출 요청은 즉시 HTTP 202와 작업 ID를 반환하며, 이후 status가 succeeded가 될 때까지 폴링한 다음 data[0].url을 읽으면 됩니다. 콘솔에서 키를 만들어 API_KEY로 설정하세요.
curl
# 1) 제출: {"id": "img_...", "status": "queued"} 반환
curl https://nezhagate.com/v1/videos/generations \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2.5",
"prompt": "A lighthouse keeper climbs the spiral stairs at dusk; the lamp flares on and sweeps across a stormy sea. Slow push-in, warm light, film grain.",
"duration": 10,
"resolution": "720P",
"size": "16:9"
}'
# 2) "status"가 "succeeded"가 될 때까지 15초마다 폴링한 뒤 data[0].url 읽기
curl https://nezhagate.com/v1/videos/jobs/JOB_ID -H "Authorization: Bearer $API_KEY"Python
import os
import time
import requests
BASE = "https://nezhagate.com/v1"
HEADERS = {"Authorization": "Bearer " + os.environ["API_KEY"]}
job = requests.post(f"{BASE}/videos/generations", headers=HEADERS, json={
"model": "seedance-2.5",
"prompt": "A lighthouse keeper climbs the spiral stairs at dusk; the lamp flares on "
"and sweeps across a stormy sea. Slow push-in, warm light, film grain.",
"duration": 10,
"resolution": "720P",
"size": "16:9",
}).json()
print("job", job["id"])
while True:
time.sleep(15)
r = requests.get(f"{BASE}/videos/jobs/{job['id']}", headers=HEADERS).json()
if r["status"] == "succeeded":
print(r["data"][0]["url"])
break
if r["status"] == "failed":
raise SystemExit(r["error"]["message"]) # refunded in fullNode.js
const BASE = "https://nezhagate.com/v1";
const headers = { Authorization: `Bearer ${process.env.API_KEY}`, "Content-Type": "application/json" };
const job = await (await fetch(`${BASE}/videos/generations`, {
method: "POST",
headers,
body: JSON.stringify({
model: "seedance-2.5",
prompt: "A lighthouse keeper climbs the spiral stairs at dusk; the lamp flares on and sweeps across a stormy sea.",
duration: 10,
resolution: "720P",
size: "16:9",
}),
})).json();
while (true) {
await new Promise((ok) => setTimeout(ok, 15000));
const r = await (await fetch(`${BASE}/videos/jobs/${job.id}`, { headers })).json();
if (r.status === "succeeded") { console.log(r.data[0].url); break; }
if (r.status === "failed") throw new Error(r.error.message);
}참조 이미지, 영상, 오디오
같은 요청에 참조 소재를 넣고 프롬프트에서 순서대로 지칭합니다. images는 @Image1, @Image2, video_references는 @Video1, audio_reference는 @Audio1입니다. 각 항목은 공개 URL 또는 base64 data URI로 보낼 수 있습니다(저희가 7일간 호스팅합니다).
{
"model": "seedance-2.5",
"prompt": "The dancer from @Image1 performs the moves of @Video1 on the rooftop from @Image2, cut to the beat of @Audio1.",
"images": ["https://example.com/dancer.png", "https://example.com/rooftop.png"],
"video_references": ["https://example.com/moves.mp4"],
"audio_reference": ["https://example.com/beat.mp3"],
"duration": 12,
"resolution": "720P",
"size": "9:16"
}Seedance에는 첫 프레임 모드가 없습니다. 모든 이미지는 인물, 사물, 장소 또는 스타일의 참조로 쓰이므로 참조 이미지가 클립의 첫 장면이 된다는 보장은 없습니다. 프롬프트에서 각 참조 소재를 지칭하고, 그중 무엇을 유지할지 적어 주세요.
요청이 실패하는 조건
- 이미지 30장, 영상 10개, 오디오 10개를 넘거나 참조 영상 합계가 30초를 넘는 경우: 잘라 내지 않고 제출 단계에서 거절합니다.
- 11,000자를 넘는 프롬프트.
- 4초에서 30초 범위를 벗어난 길이, 또는 위 다섯 가지 외의 화면 비율(21:9는 지원하지 않음).
- 콘텐츠 심사에서 거부되는 내용. 실제 인물 사진은 거부될 수 있으며, 직접 생성한 인물은 사실적인 인물을 포함해 참조로 쓸 수 있습니다.
이 모든 경우에 원인을 알 수 있는 오류가 반환되며, 제출 후 실패한 작업은 전액 환불됩니다.
렌더링에 걸리는 시간
집계 대상: 실제 고객 요청. 제외 대상: 저희 내부 테스트, 클라이언트 오류(4xx)로 거절된 요청, 모델이 생성을 거부한 콘텐츠. 실패한 호출에는 과금하지 않습니다. 10분마다 갱신됩니다.
클립이 길고 해상도가 높을수록, 그리고 혼잡한 시간대일수록 더 오래 걸립니다. 작업 ID를 보관해 두고 폴링하세요. 제출할 때마다 새로운 유료 작업이 되므로 다시 제출하지 마세요. 제한 시간 안에 끝나지 않은 렌더링은 failed로 종료되고 error에 원인이 적히며, 전액 환불됩니다.
자주 묻는 질문
Seedance 2.5 API 가격은 얼마인가요?
Seedance 2.5 영상은 최대 몇 초까지 만들 수 있나요?
Seedance 2.5는 이미지-투-비디오를 지원하나요?
참조 영상이나 오디오를 쓸 수 있나요?
Seedance 2.5 렌더링은 얼마나 걸리나요?
1080P도 지원하나요?
같은 OpenAI 호환 Key로 NezhaGate의 다른 채팅·이미지·영상 모델도 모두 호출할 수 있습니다. 사용한 만큼 과금하며 실패한 작업은 전액 환불됩니다.
API 키 받기 플레이그라운드에서 사용해 보기 업체별 가격 비교다른 가이드: Seedance 30초 영상 API: 가격, 샘플, 코드