NezhaGateNezhaGate
← 모델 가이드

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 키로 호출할 수 있습니다.

모델 IDseedance-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

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

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 full

Node.js

Node.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일간 호스팅합니다).

JSON
{
  "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에는 첫 프레임 모드가 없습니다. 모든 이미지는 인물, 사물, 장소 또는 스타일의 참조로 쓰이므로 참조 이미지가 클립의 첫 장면이 된다는 보장은 없습니다. 프롬프트에서 각 참조 소재를 지칭하고, 그중 무엇을 유지할지 적어 주세요.

요청이 실패하는 조건

이 모든 경우에 원인을 알 수 있는 오류가 반환되며, 제출 후 실패한 작업은 전액 환불됩니다.

렌더링에 걸리는 시간

5.8 분렌더링 시간 중앙값, 최근 7일 실제 고객 작업 기준
9.8 분작업의 90%가 이 시간 안에 완료
86.5%같은 기간 성공률

집계 대상: 실제 고객 요청. 제외 대상: 저희 내부 테스트, 클라이언트 오류(4xx)로 거절된 요청, 모델이 생성을 거부한 콘텐츠. 실패한 호출에는 과금하지 않습니다. 10분마다 갱신됩니다.

클립이 길고 해상도가 높을수록, 그리고 혼잡한 시간대일수록 더 오래 걸립니다. 작업 ID를 보관해 두고 폴링하세요. 제출할 때마다 새로운 유료 작업이 되므로 다시 제출하지 마세요. 제한 시간 안에 끝나지 않은 렌더링은 failed로 종료되고 error에 원인이 적히며, 전액 환불됩니다.

자주 묻는 질문

Seedance 2.5 API 가격은 얼마인가요?
NezhaGate에서는 480P 초당 $0.10, 720P 초당 $0.158이며, 4초부터 30초까지 원하는 길이를 선택할 수 있습니다. 720P 5초 클립은 $0.79, 30초 클립은 $4.74이고, 30초 고정 모델 seedance-2.5-30s는 건당 $1.50입니다.
Seedance 2.5 영상은 최대 몇 초까지 만들 수 있나요?
한 번 생성할 때 4초에서 30초 사이의 정수 초로 지정할 수 있습니다. 요청에 duration(또는 seconds)을 설정하면 정확히 그 초 수만큼 과금됩니다.
Seedance 2.5는 이미지-투-비디오를 지원하나요?
네, 참조 이미지로 지원합니다. 이미지를 최대 30장까지 보내고 프롬프트에서 @Image1, @Image2 등으로 지칭하세요. Seedance는 모든 이미지를 인물, 사물, 장면 또는 스타일의 참조로 다루며 첫 프레임 모드가 없으므로, 이미지가 영상의 첫 프레임이 된다는 보장은 없습니다.
참조 영상이나 오디오를 쓸 수 있나요?
네. 같은 요청에 참조 이미지와 함께 참조 영상 최대 10개(합계 30초 이내)와 참조 오디오 최대 10개를 넣을 수 있으며, 프롬프트에서 @Video1, @Audio1로 지칭합니다. NezhaGate에서는 참조 영상에 과금하지 않고 생성한 초 수에만 과금합니다.
Seedance 2.5 렌더링은 얼마나 걸리나요?
보통 몇 분이 걸리며, 백엔드가 혼잡하면 더 오래 걸립니다. 작업을 제출한 뒤 작업 ID를 보관해 두고 폴링하세요. 제출할 때마다 새로운 유료 작업이 되므로 다시 제출하지 마세요. 작업이 실패하거나 시간이 초과되면 전액 환불됩니다.
1080P도 지원하나요?
NezhaGate에서는 아직 지원하지 않습니다. 현재 480P와 720P를 제공하며 1080P는 출시 예정입니다.
NezhaGate에서 사용해 보기

같은 OpenAI 호환 Key로 NezhaGate의 다른 채팅·이미지·영상 모델도 모두 호출할 수 있습니다. 사용한 만큼 과금하며 실패한 작업은 전액 환불됩니다.

API 키 받기 플레이그라운드에서 사용해 보기 업체별 가격 비교

다른 가이드: Seedance 30초 영상 API: 가격, 샘플, 코드