Seedance API 가격 실측: 비디오 token 계산식 완전 분석
목차
Seedance는 비디오를 token 단위로 과금한다. 실제 과금량과 정확히 일치하는 계산식은 encoded_width × encoded_height × (24 × seconds + 1) / 1024다. 이 중 두 가지는 확인 가능한 문서 어디에도 나와 있지 않다. 프레임 수에 +1이 붙고, 인코딩 해상도가 명목 해상도와 다르다. 예를 들어 720p는 1280×720이 아니라 1248×704로 과금된다. Seedance 모델 5종의 모든 해상도 tier에서 총 27회 생성한 결과, 청구된 token 수가 모두 이 계산식과 token 단위까지 정확히 일치했다. 이 글에서는 모델별 기능과 두 번의 요청으로 구성된 API 사용법을 먼저 살펴본다. 이어서 검증한 계산식과 여기서 도출되는 초당 가격표, 요금표만 보면 오해하기 쉬운 두 가지를 설명한다.
TL;DR
- Seedance 비디오 token = 인코딩 너비 × 높이 × (24 × 초 + 1) / 1024다.
+1프레임과 실제 인코딩 해상도는 문서가 아닌 실측으로 확인했다. - 720p는 1248×704, 1080p는 1920×1088로 과금된다. 화면 비율은 과금량에 영향을 주지 않는다.
- 4초짜리 동일한 클립은 1.5-pro 이상 모든 tier에서 같은 token이 청구됐다. 요율은 100만 token당 $1.0부터 $7.0까지다.
- 4k 요율은 $4.0/M로 1080p의 $7.7/M보다 낮지만, 초당 비용은 $0.78로 $0.38인 1080p보다 2.1배 높다.
generate_audio는 token 수를 바꾸지 않으며, 1.5-pro에서는 요율을 2배로 높인다.
아래의 모든 수치는 2026-07-22에 Synthorai gateway의 /v1/videos endpoint에서 측정했다. 이 endpoint는 Seedance 전체 모델을 ByteDance 정가로 제공한다. 모든 수치는 task별 원본 기록으로 검증했다.
Seedance 모델별로 무엇을 할 수 있나?
Tier에 따라 요율은 달라지지만 token 계산 방식은 같다. 필요한 기능에 맞춰 모델을 고른 뒤, 비용은 다음 섹션의 계산법으로 산출하면 된다. 동일한 4초 480p prompt를 Seedance 2.0, 2.0-fast, 2.0-mini, 1.5-pro에서 생성했을 때 모두 40,594 token이 청구됐다. 1.0-pro-fast만 pixel grid가 조금 작아 39,285 token이었다. 상위 tier에서 비용을 더 내는 이유는 기능 차이다. 다만 기능이 모든 모델에 고르게 배치된 것은 아니다.
| 해상도 | 길이 | 오디오 | 이미지 입력 | seed / camera_fixed | 요율 ($/M tokens) | |
|---|---|---|---|---|---|---|
| 2.0 | 480p-4k | 4-15s (+자동) | ✓ 네이티브 | 첫 프레임 + 마지막 프레임 | ✗ | $7.0 (1080p $7.7 · 4k $4.0) |
| 2.0-fast | 480p-720p | 4-15s (+자동) | ✓ | 첫 프레임 + 마지막 프레임 | ✗ | $5.6 |
| 2.0-mini | 480p-720p | 4-15s (+자동) | ✓ | 첫 프레임 + 마지막 프레임 | ✗ | $3.5 |
| 1.5-pro | 480p-1080p | 4-12s (+자동) | 선택 ($1.2 / $2.4) | 첫 프레임 + 마지막 프레임 | ✓ | $1.2-2.4 |
| 1.0-pro-fast | 480p-1080p | 2-12s | ✗ | 첫 프레임만 | ✓ | $1.0 |
모델을 선택하기 전에 알아둘 특징이 세 가지 있다. 재현성 지원은 예상과 반대다. seed와 camera_fixed는 1.x 모델에만 있다. 가장 저렴한 tier는 제어할 수 있지만 flagship 모델은 그렇지 않다. 모델별 기능 필드는 엄격하게 제한된다. 1.0 모델에 generate_audio를 보내면 명시적인 400 오류(extension_not_supported)가 반환된다. 모든 모델에 같은 request 형식을 쓰지 말고, 각 모델의 기능 목록에 맞춰 request를 구성해야 한다. 2초짜리 클립을 만들 수 있는 모델도 1.0-pro-fast뿐이다. 아래 계산식 측정에 이 모델을 주로 사용한 이유다. 이후 모델은 모두 최소 4초부터 시작한다. 표에 나온 기능 외에도 2.0 모델은 platform에서 지원하는 경우 upstream에 reference file을 입력할 수 있다. 최대 이미지 9개, 비디오 클립 3개, 오디오 파일 3개를 지원한다.
Seedance API는 어떻게 호출하나?
비디오 생성은 async job API다. POST 요청 한 번으로 task를 생성하면 약 2초 안에 응답이 온다. 이후 완료될 때까지 task URL을 polling한다. Python으로 구현한 전체 흐름은 다음과 같다.
import os, time, requests
BASE = "https://synthorai.io/v1"
auth = {"Authorization": f"Bearer {os.environ['SYNTHORAI_API_KEY']}"}
task = requests.post(f"{BASE}/videos", headers=auth, json={
"model": "seedance-1-5-pro-251215",
"prompt": "A paper boat drifting across a rain puddle, cinematic",
"resolution": "720p", "ratio": "16:9",
"duration": 5, "generate_audio": True,
}).json() # returns in ~2s: {"id": "vid_...", "status": "queued", ...}
while task["status"] not in ("completed", "failed", "cancelled"):
time.sleep(8)
task = requests.get(f"{BASE}/videos/{task['id']}", headers=auth).json()
print(task["data"][0]["url"]) # signed MP4, valid 24h
print(task["usage"]["total_tokens"]) # the billing meter this post is about
Polling 대신 요청을 대기시키려면 생성 요청에 Prefer: wait=60 header를 추가하면 된다. 클립 생성이 끝나거나 대기 시간이 만료될 때까지 응답이 유지된다. 시간이 만료되면 일반 polling object를 반환한다. 측정 과정에서 480p와 720p 클립 생성에는 20초에서 2분 남짓 걸렸다. 완료된 task의 usage.total_tokens가 과금 기준이다. 아래에서는 이 값이 무엇에 따라 달라지는지 분석한다.
비디오 token은 정확히 무엇인가?
비디오 token은 시간에 따른 출력 pixel을 일정한 크기로 나눈 단위다. 청구량은 W × H × frames / 1024로 계산된다. 프레임 수는 24 × seconds + 1이고, W×H는 해상도 tier에 표시된 값이 아니라 encoder가 실제로 사용하는 해상도다. 두 값 모두 실제 과금량을 바탕으로 역산했다. 각 해상도에서 세 가지 길이로 측정한 token 수는 잔차 없이 직선에 정확히 들어맞았다. 직선의 기울기로 초당 token 수를 구할 수 있다. 모든 해상도에서 절편은 정확히 한 프레임의 token 수였다. 480p는 405, 720p는 858, 1080p는 2,040이다. 기울기에서 W×H를 역산하면 실제 인코딩 grid가 나온다.
| 명목 tier | 인코딩 해상도(실측) | 초당 token | 추가 프레임 1개 |
|---|---|---|---|
| 480p | 864×480 (1.0 series) / 864×496 (1.5/2.0 series) | 9,720 / 10,044 | 405 / 418 |
| 720p | 1248×704 (1280×720 아님) | 20,592 | 858 |
| 1080p | 1920×1088 (1920×1080 아님) | 48,960 | 2,040 |
| 4k | 3840×2160 (명목 = 인코딩) | 194,400 | 8,100 |
별도의 교차 검증 결과도 일치한다. 널리 공유된 ByteDance의 2.0 계산 예시에서는 15초 클립에 약 308,880 token을 제시한다. 이는 실측한 720p 초당 token 수의 정확히 15배다. 따라서 1.0 series로 도출한 720p grid가 이후 모델에도 그대로 적용된다. 단, ByteDance의 마케팅용 계산에서는 +1 프레임을 제외했다.
실무적으로 알아둘 결과가 두 가지 있다. 화면 비율은 비용에 영향을 주지 않는다. 9쌍, 총 18회 측정에서 16:9와 9:16의 token 수가 모두 동일했다. 세로 비디오라고 비용이 더 들지 않는다. 널리 인용되는 근사식 W × H × 24 × duration / 1024는 한 프레임을 빼고 잘못된 해상도를 사용한다. 그래서 제3자 견적과 실제 invoice 사이에 몇 퍼센트씩 차이가 난다.
Seedance의 실제 초당 비용은 얼마인가?
실측한 초당 token 수에 각 tier의 정가를 곱하면 전체 catalog를 하나의 가격표로 정리할 수 있다.
| 모델 @ 해상도 | $/초 (실측 token × 정가 요율) |
|---|---|
| seedance-1.0-pro-fast @ 480p | $0.0097 |
| seedance-1.5-pro @ 480p, 오디오 없음 | $0.0121 |
| seedance-1.0-pro-fast @ 720p | $0.0206 |
| seedance-1.5-pro @ 480p, 오디오 포함 | $0.0241 |
| seedance-2.0-mini @ 480p | $0.0352 |
| seedance-1.0-pro-fast @ 1080p | $0.0490 |
| seedance-2.0-fast @ 480p | $0.0563 |
| seedance-2.0 @ 480p | $0.0703 |
| seedance-2.0 @ 4k | $0.778 |
초당 과금하는 다른 모델의 2026년 7월 정가와 비교하면 다음과 같다. 공개 가격 추적 사이트에서 집계한 기준으로 Kling은 약 $0.07/s, Sora 2는 약 $0.10/s, Veo 3.1은 약 $0.40/s다. Seedance 2.0 480p는 Kling과 비슷한 가격에 native multi-track audio까지 포함한다. 1.0-fast tier는 Kling 요율의 약 7분의 1로 충분히 볼 만한 480p 비디오를 생성한다. 15초 720p 클립은 2.0에서 약 $2.17, 1.0-pro-fast에서 $0.31이다.
4k가 더 저렴한가? 요금표만 보면 그렇지만 실제 비용은 아니다
Seedance 2.0에서 4k의 token당 요율은 100만 token당 $4.0으로 가장 낮다. 1080p의 $7.7보다도 낮지만, 실제 비용은 전체 선택지 중 가장 높다. 계산식 때문이다. 4k는 초당 약 194,400 token으로, 48,960 token인 1080p보다 약 4배 많은 token을 생성한다. 따라서 요율이 낮아도 초당 비용은 $0.778/s로 $0.377/s인 1080p보다 2.1배 높다. 실측한 4초 4k 기준점에서는 785,700 token, 즉 4초 비디오에 $3.14가 청구됐다. token 기반 비디오 요금표를 볼 때는 해당 해상도의 초당 token 수를 함께 확인해야 한다. 표시된 token 단가와 실제 청구액의 추세가 반대일 수 있다.
generate_audio는 무엇을 바꾸나?
token 수가 아니라 요율을 바꾼다. 1.5-pro에서 동일한 5초 클립을 생성했을 때, 오디오를 켜거나 꺼도 모두 50,638 token이 청구됐다. 정가 요율은 무음일 때 $1.2/M, 오디오 포함 시 $2.4/M로 2배가 된다. 숨은 token 할증 없이 오디오가 포함된 출력의 비용이 정확히 2배다. 2.0 series에서는 오디오가 단일 모델 요율에 포함되므로 별도로 계산할 필요가 없다. 자체적으로 배경 음악을 추가하는 pipeline이라면 1.5-pro 무음 옵션이 $0.0121/s로 catalog에서 가장 경제적이다.
async 비디오 과금은 어떻게 동작하나?
과금은 앞서 본 task lifecycle에 연결된다. task가 처음으로 완료 상태를 보고할 때 한 번만 청구된다. polling 횟수는 비용에 영향을 주지 않는다. 취소 가능 여부는 실제 처리 상태를 따른다. 대기 중인 task는 정상적으로 취소되며 과금되지 않는다. 실행이 시작된 task는 upstream에서 삭제 요청을 거부하고 409를 반환하므로 결과가 나올 때까지 기다려야 한다. 생성에 실패한 task는 과금되지 않는다.
27개 task를 실행하면서 확인한 운영상 주의점은 세 가지다. 첫째, chat의 usage.cost와 달리 비디오 응답에는 token 사용량만 있고 비용 필드는 없다. 예산은 token 수 × 해당 tier의 요율로 계산해야 한다. 둘째, 출력은 유효 기간이 24시간인 signed URL로 전달된다. 즉시 자체 storage로 옮기는 것이 좋다. 셋째, 생성 요청 속도를 조절해야 한다. platform은 workspace당 분당 6개의 비디오 task를 허용한다. 대기 중인 각 task는 잔액에서 최악의 경우에 해당하는 비용을 임시로 확보한다. upstream이 느려진 상황에서 생성 요청을 한꺼번에 보내면 최종 비용이 잔액 범위 안이더라도 일시적으로 quota 부족 응답을 받을 수 있다.
FAQ
Seedance 2.0 API를 실제로 사용할 수 있나?
사용할 수 있다. 2026년 초에 알려진 중국 계정, waitlist, 단계적 rollout 관련 정보는 이제 오래된 내용이다. 2.0을 포함한 전체 모델을 Synthorai gateway의 /v1/videos endpoint에서 ByteDance 정가로 사용할 수 있다. 모델 페이지는 Seedance 2.0, 1.5-pro, 1.0-pro-fast이며, 다른 여러 platform에서도 제공한다. Seedance 2.0을 체험용 quota로만 쓸 수 있다고 안내하는 페이지는 API rollout 이전 정보다.
provider마다 Seedance 가격이 크게 다른 이유는 무엇인가?
대부분의 reseller가 token 기반 과금을 자체 margin과 반올림을 적용한 초당 또는 클립당 고정 가격으로 바꾸기 때문이다. 이 변환 과정에서 해상도와 길이에 따라 달라지는 token 계산이 드러나지 않는다. 이 글의 계산식은 모든 견적의 기반이 되는 실제 원가 계산법이다. 인코딩 해상도로 W × H × (24s + 1) / 1024를 계산한 뒤 공식 요율을 곱하면 provider의 markup을 정확히 산출할 수 있다.
화면 비율이나 세로 형식에 추가 비용이 드나?
아니다. 테스트한 모든 해상도와 길이에서 16:9와 9:16의 token 수가 동일했다. 과금량을 바꾸는 요소는 해상도와 길이뿐이며, 길이에 정확히 비례한다.
Seedance 2.5는 어떤가?
발표는 됐지만 현재 추적 중인 API에서는 아직 제공되지 않는다. token 계산식과 tier별 요율 구조는 그대로 이어질 가능성이 높다. API에 추가되면 동일한 방식으로 다시 측정할 예정이다.
2026-07-22/23 실측: /v1/videos를 통해 Seedance 모델 5종에서 완료된 생성 27건을 측정했다. token 수는 task별 usage 기록, 요율은 ByteDance 정가, 기능 matrix는 실제 /v1/videos/models catalog를 기준으로 했다. 경쟁 모델의 초당 가격은 실측값이 아닌 정가다. 측정한 모든 지점에서 계산식이 정확히 일치했다. 인코딩 해상도는 과금량을 역산해 구한 값이므로 ByteDance가 encoder를 변경하면 다시 검증해야 한다. 다른 modality 분석은 이미지 생성, 음성 텍스트 변환, 음성 세션, 텍스트 token을 참고하면 된다.