업데이트: 2026-06-17
Seedance 2.0 과금 안내
이 문서는 Crazyrouter 현재 코드의 실제 정산 로직만을 설명하며, 공식 가격 페이지에 대한 일반적인 해설이 아닙니다. 적용 모델:doubao-seedance-2-0doubao-seedance-2-0-fast
https://api.crazyrouter.com으로 통일해서 사용하며, 기본 설정은 API Endpoint를 참고하세요.
먼저 결론부터
Seedance 2.0과Seedance 2.0 Fast는 로컬 코드에서 모두per_output_token기준으로 정산되며, 초 단위 정산이 아닙니다.- 작업 제출 시, 이 두 유형 작업의 선차감 금액은 기본적으로 0입니다.
- 작업이 성공하면, 시스템은 업스트림이 반환한
TotalTokens또는CompletionTokens를 기준으로 최종 차감을 수행합니다. duration은 작업 특성으로 기록되지만 Seedance 2.0의 최종 차감 공식에는 참여하지 않습니다.- 따라서 코드에는 “몇 token = 몇 초”라는 고정된 전역 환산 공식이 존재하지 않습니다.
- “초당 대략 얼마인가”에 답하려면, 작업 완료 후
실제 출력 tokens / 실제 초 수로 관측치를 산출할 수밖에 없으며, 이를 고정 과금 규칙으로 취급해서는 안 됩니다.
로컬 코드의 과금 규칙
1. 어떤 과금 규칙에 해당하는가
Seedance 2.0 계열의 과금 규칙은 “비디오 입력 포함 여부”에 따라 결정됩니다.
여기서
video0 / video1은 초 수가 아니라 다음을 의미합니다.
video0: 요청에 비디오 참조 입력이 없음video1: 요청에 비디오 참조 입력이 포함됨
model/video_billing_seedance.gorelay/video_billing_runtime.go
2. 작업 제출 시 왜 대체로 차감되지 않는가
런타임에서 Seedance 2.0이 해당되는 플랫폼 과금 모드는per_output_token입니다. 이런 유형의 작업은 제출 시:
BasePrice가 기록됨Ratio가0으로 설정됨- 따라서 제출 단계의
quota = int(ratio * QuotaPerUnit)결과는0이 됨
relay/video_billing_runtime.gorelay/relay_task.go
- 작업 제출 성공
- 우선 차감하지 않거나, 선차감이 0
- 작업 완료 후 실제 token 기준으로 추가 차감
최종 차감 공식
작업이 성공하면 시스템은 우선적으로settlePerOutputTokenTaskBilling을 실행합니다.
Seedance 계열에 대해, 코드가 token을 가져오는 우선순위는 다음과 같습니다.
taskResult.TotalTokens- 위 값이 없으면
taskResult.CompletionTokens를 사용
controller/task_video.go
controller/task_video.gocommon/constants.go
초 수가 코드에서 담당하는 역할
1. duration은 인식되고 기록됨
코드는 다음 위치에서 초 수를 파싱합니다.
req.Durationreq.Secondsmetadata.durationSecondsmetadata.duration_secondsmetadata.durationmetadata.seconds
relay/video_billing_runtime.go
2. 그러나 Seedance 2.0은 초 단위로 정산하지 않음
duration은 작업 프로파일과 로그에 들어가지만, Seedance 2.0 / 2.0 Fast가 해당되는 모드는 per_output_token이므로:
match.BilledSeconds는 정산에 참여하지 않음- 최종 차감은 업스트림이 반환한 token만 참조
per_second 비디오 모델과 다릅니다.
token과 초 수를 어떻게 대응시킬 것인가
정산 기준
직접 환산할 수 없습니다. 즉, 현재 코드에는 다음과 같은 규칙이 없습니다.- Seedance 2.0의 판매 가격 설정은
per_second가 아님 - 코드는
duration을 고정 token 등급으로 매핑하지도 않음 - 최종적으로는 작업 완료 후 실제 token 사용량만 인정
관측 기준
“이번 작업이 평균적으로 초당 얼마의 token을 소모했는가”를 복기하고 싶다면, 작업 완료 후 다음과 같이 관측값을 만들 수 있습니다.실측 사례: 4초 720p 단순 영상
아래는 Seedance 2.0을 실제로 호출한 결과로, 실제usage로부터 “이번 작업의 평균 초당 비용”을 역산하는 방법을 설명합니다.
사례 1: 가장 단순한 텍스트-투-비디오
요청 특성:- 모델:
doubao-seedance-2-0 - 입력: 텍스트만 있고 이미지나 비디오 참조 없음
- 해상도:
720p - 길이:
4s - 작업 ID:
cgt-20260617212928-5s755 - 업스트림 실제 반환:
completion_tokens = 87300,total_tokens = 87300
4s 720p 텍스트-투-비디오의 관측 단가는 대략 다음과 같습니다.
사례 2: 이전 영상을 기반으로 한 참조 비디오 생성
요청 특성:- 모델:
doubao-seedance-2-0 - 입력: 텍스트 + 이전 작업에서 생성된 비디오를
reference_video로 사용 - 해상도:
720p - 길이:
4s - 작업 ID:
cgt-20260617214300-rsnsx - 업스트림 실제 반환:
completion_tokens = 173700,total_tokens = 173700
4s 720p 참조 비디오 생성의 관측 단가는 대략 다음과 같습니다.
이 실측치를 고객에게 어떻게 설명할 것인가
다음과 같이 설명할 수 있습니다.usage.total_tokens 또는 usage.completion_tokens를 역산해서 사용하는 것이 우선입니다.
바로 적용 가능한 두 가지 예시
예시 1: doubao-seedance-2-0-fast, 비디오 입력 포함
가정:
doubao-seedance-2-0-fast:video1에 해당- 업스트림 반환
TotalTokens = 1,200,000 quantityMultiplier = 1groupRatio = 1discount = 1
duration = 12라면, 다음과 같은 관측값만 얻을 수 있습니다.
100,000 tokens/s는 이번 작업에만 성립합니다.
예시 2: doubao-seedance-2-0, 비디오 입력 미포함
가정:
doubao-seedance-2-0:video0에 해당- 업스트림 반환
CompletionTokens = 800,000 quantityMultiplier = 1groupRatio = 1discount = 1
duration = 8을 입력했다면, 다음과 같이 관측만 할 수 있습니다.
어떤 필드를 확인해야 하는가
Seedance 2.0 비용을 조사해야 한다면, 우선 다음 정보를 확인하세요.- 요청에 비디오 입력이 포함되었는지
- 해당되는
billing_key - 작업 완료 후 업스트림이 반환한
TotalTokens/CompletionTokens - 해당 작업의
groupRatio - 해당 모델 할인
discount - 최종
task.Quota
billing_modebilling_keybilling_total_pricebilling_output_tokensbilling_billed_tokensbilling_token_kindbilling_settled
relay/relay_task.gomodel/task.gocontroller/task_video.go
한 문장으로 이해하기
Seedance 2.0에 대해:초 수는 요청 특성입니다token은 정산 기준입니다quota는token정산 후 환산되는 사이트 내 크레딧입니다
향후 플랫폼이 Seedance 2.0에 초당 판매 SKU를 별도로 추가한다면, 그때는 안정적인 “초 수-가격” 매핑이 생길 수 있습니다. 그러나 2026-06-06 기준으로 로컬 코드는 아직 그렇게 되어 있지 않습니다.