Contenido actualizado: 2026-06-23
Explicación de tarifas de Seedance 2.0
Este documento solo explica la lógica real de liquidación en el código actual de Crazyrouter, no es una explicación genérica de la página de precios oficial. Modelos aplicables:doubao-seedance-2-0doubao-seedance-2-0-fast
https://api.crazyrouter.com; para configuraciones básicas, consulta API Endpoint.
Primero, el resumen
Seedance 2.0ySeedance 2.0 Fasten el código local se liquidan segúnper_output_token, no según segundos.- Al enviar una tarea, la pre-deducción de estas tareas es por defecto 0.
- Después de completar la tarea, el sistema efectuará la deducción final según la respuesta del upstream:
TotalTokensoCompletionTokens. durationse registra como característica de la tarea, pero no participa en la fórmula de liquidación final de Seedance 2.0.- Por lo tanto, en el código no existe una fórmula global fija de “tantos tokens = tantos segundos”.
- Si hace falta responder “aproximadamente cuánto cuesta un segundo”, solo se puede usar
tokens de salida reales / segundos realescomo referencia después de completar la tarea, no como regla fija de tarifas.
Reglas de tarifas en el código local
1. Qué regla de tarifas aplica
Las reglas de tarifas de la serie Seedance 2.0 dependen de “si hay entrada de video o no”:
Aquí
video0 / video1 no son segundos, sino:
video0: la solicitud no contiene entrada de referencia de videovideo1: la solicitud contiene entrada de referencia de video
model/video_billing_seedance.gorelay/video_billing_runtime.go
2. Por qué usualmente no se deduce al enviar tareas
En tiempo de ejecución, el modo de tarifas de plataforma que aplica en Seedance 2.0 esper_output_token. En este tipo de tareas al enviar:
BasePricese registraRatiose establece como0- Por eso en la etapa de envío, el resultado de
quota = int(ratio * QuotaPerUnit)es0
relay/video_billing_runtime.gorelay/relay_task.go
- Envío de tarea exitoso
- No se deduce al principio, o la pre-deducción es 0
- Después de completar la tarea, se deduce según tokens reales
Fórmula de deducción final
Después de completar la tarea, el sistema sigue primerosettlePerOutputTokenTaskBilling.
Para la serie Seedance, la prioridad para obtener tokens en el código es:
taskResult.TotalTokens- Si no está disponible arriba, se obtiene
taskResult.CompletionTokens
controller/task_video.go
controller/task_video.gocommon/constants.go
Qué papel juegan los segundos en el código
1. duration se identifica y registra
El código analiza los segundos desde estas posiciones:
req.Durationreq.Secondsmetadata.durationSecondsmetadata.duration_secondsmetadata.durationmetadata.seconds
relay/video_billing_runtime.go
2. Pero Seedance 2.0 no liquida por segundos
Aunqueduration queda en el perfil de la tarea y en los logs, los modos relevantes de Seedance 2.0 / 2.0 Fast son per_output_token, por lo tanto:
match.BilledSecondsno participa en la liquidación- La deducción final solo considera los tokens reportados por el upstream
per_second.
Cómo comparar tokens y segundos
Método de liquidación
No se pueden convertir directamente. Es decir, en el código actual no existe una regla de este tipo:- El precio de venta de Seedance 2.0 no está configurado como
per_second - El código tampoco mapea
durationa una franja fija de tokens - Solo considera el uso real de tokens después de completar la tarea
Método de observación
Si solo quieres analizar “cuántos tokens consume en promedio por segundo esta tarea”, puedes calcular un valor observado al finalizar la tarea:Caso real: video simple 4 segundos en 720p
A continuación se muestra el resultado de una llamada real a Seedance 2.0, para demostrar cómo deducir “el precio promedio por segundo para esta tarea” según lausage real.
Caso 1: Generación de video desde texto más simple
Características de la solicitud:- Modelo:
doubao-seedance-2-0 - Entrada: solo texto, sin imagen ni referencia de video
- Resolución:
720p - Duración:
4s - ID de tarea:
cgt-20260617212928-5s755 - Respuesta real del upstream:
completion_tokens = 87300,total_tokens = 87300
4s 720p video generado desde texto tiene un precio observado aproximado de:
Caso 2: Generación de video de referencia basado en un video anterior
Características de la solicitud:- Modelo:
doubao-seedance-2-0 - Entrada: texto + el video generado en la tarea anterior como
reference_video - Resolución:
720p - Duración:
4s - ID de tarea:
cgt-20260617214300-rsnsx - Respuesta real del upstream:
completion_tokens = 173700,total_tokens = 173700
4s 720p video generado por referencia tiene un precio observado aproximado de:
Cómo explicar este valor comprobado al cliente
Puede explicarse de esta manera:usage.total_tokens o usage.completion_tokens de tareas reales.
Dos ejemplos listos para aplicar
Ejemplo 1: doubao-seedance-2-0-fast, con entrada de video
Suponga:
- Aplica
doubao-seedance-2-0-fast:video1 - El upstream retorna
TotalTokens = 1,200,000 quantityMultiplier = 1groupRatio = 1discount = 1
duration = 12, solo puedes obtener un valor observado:
100,000 tokens/s solo es válido para esta tarea.
Ejemplo 2: doubao-seedance-2-0, sin entrada de video
Suponga:
- Aplica
doubao-seedance-2-0:video0 - El upstream retorna
CompletionTokens = 800,000 quantityMultiplier = 1groupRatio = 1discount = 1
duration = 8 al solicitar, solo sirve para observación:
Qué campos son importantes revisar
Si necesitas analizar el costo de una tarea de Seedance 2.0, prioriza estos datos:- Si la solicitud contiene entrada de video
billing_keyaplicado- El valor de
TotalTokens/CompletionTokensretornado por el upstream al completar la tarea groupRatiopara dicha tarea- El descuento del modelo
discount - El valor final
task.Quota
billing_modebilling_keybilling_total_pricebilling_output_tokensbilling_billed_tokensbilling_token_kindbilling_settled
relay/relay_task.gomodel/task.gocontroller/task_video.go
Resumen en una frase
Para Seedance 2.0:Número de segundoses característica de solicitudtokenes el criterio de liquidaciónquotaes la cuota interna calculada tras liquidartoken
Si más adelante la plataforma añade SKU de venta por segundos para Seedance 2.0, entonces aparecerá el mapeo estable de “segundos a precio”. Pero hasta el 2026-06-06, el código local no lo implementa.