Prezzi delle API Seedance, misurati: la formula dei token video, risolta
Indice
Seedance fattura i video a token, e la formula che corrisponde davvero al contatore è encoded_width × encoded_height × (24 × seconds + 1) / 1024. Due elementi di questa formula non compaiono in nessuna documentazione che siamo riusciti a trovare: il frame +1 e il fatto che le dimensioni codificate non sono quelle nominali (il 720p viene fatturato come 1248×704, non 1280×720). Abbiamo eseguito 27 generazioni su cinque modelli Seedance e su ogni livello di risoluzione, e ogni conteggio di token fatturati torna con quella formula fino al singolo token. Questo articolo mappa la famiglia, mostra l’API a due richieste e poi fornisce la formula risolta, la scala di prezzo al secondo che ne deriva e i due punti in cui il listino inganna.
TL;DR
- Token video Seedance = larghezza codificata × altezza × (24 × secondi + 1) / 1024; il frame +1 e le dimensioni codificate sono misurati, non documentati.
- Il 720p viene fatturato come 1248×704 e il 1080p come 1920×1088; il rapporto d’aspetto non cambia nulla.
- Lo stesso clip di 4 secondi ha fatturato token identici su ogni livello da 1.5-pro in su; le tariffe vanno da $1.0 a $7.0 per milione.
- La tariffa da $4.0/M del 4k è inferiore ai $7.7/M del 1080p, ma costa $0.78 al secondo contro $0.38, 2,1 volte in più.
generate_audiolascia invariati i token e raddoppia la tariffa su 1.5-pro.
Tutto quanto segue è stato misurato il 22-07-2026 tramite l’endpoint /v1/videos del gateway Synthorai, dove la famiglia Seedance è disponibile ai prezzi di listino ByteDance; i record grezzi per task supportano ogni numero.
Quale modello Seedance fa cosa?
La scelta del livello cambia la tariffa, mai il contatore: scegli in base alle funzionalità, poi lascia che le sezioni successive ne definiscano il prezzo. Lo stesso prompt di 4 secondi a 480p ha fatturato token identici su Seedance 2.0, 2.0-fast, 2.0-mini e 1.5-pro (40.594 ciascuno; 1.0-pro-fast ha fatturato 39.285 sulla sua griglia di pixel leggermente più piccola). Salendo di livello paghi per le funzionalità, e la famiglia le distribuisce in modo disomogeneo:
| Risoluzioni | Durata | Audio | Input immagine | seed / camera_fixed | Tariffa ($/M token) | |
|---|---|---|---|---|---|---|
| 2.0 | 480p-4k | 4-15s (+auto) | ✓ nativo | primo + ultimo frame | ✗ | $7.0 (1080p $7.7 · 4k $4.0) |
| 2.0-fast | 480p-720p | 4-15s (+auto) | ✓ | primo + ultimo frame | ✗ | $5.6 |
| 2.0-mini | 480p-720p | 4-15s (+auto) | ✓ | primo + ultimo frame | ✗ | $3.5 |
| 1.5-pro | 480p-1080p | 4-12s (+auto) | commutabile ($1.2 / $2.4) | primo + ultimo frame | ✓ | $1.2-2.4 |
| 1.0-pro-fast | 480p-1080p | 2-12s | ✗ | solo primo frame | ✓ | $1.0 |
Tre particolarità da conoscere prima di scegliere. La riproducibilità va nella direzione sbagliata: seed e camera_fixed esistono solo sui modelli 1.x, quindi i livelli più economici sono quelli controllabili mentre il flagship non lo è. I campi delle funzionalità sono bloccati rigidamente per modello: inviare generate_audio a un modello 1.0 restituisce un 400 con nome (extension_not_supported), quindi costruisci le richieste a partire dalla lista di funzionalità di ogni modello, non da una forma condivisa. E solo 1.0-pro-fast scende a clip di 2 secondi, motivo per cui le misurazioni della formula qui sotto si appoggiano a lui; tutto ciò che è più recente parte da 4 secondi. Oltre alla tabella, i modelli 2.0 accettano anche input da file di riferimento a monte (fino a 9 immagini, 3 clip video e 3 file audio) dove una piattaforma lo espone.
Come si chiama l’API di Seedance?
La generazione video è un’API di job asincroni: una POST crea il task e risponde in circa due secondi, poi fai polling sulla URL del task finché non è completato. Ecco l’intero flusso in 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
Se preferisci bloccare invece di fare polling, invia un header Prefer: wait=60 nella create: la risposta resta in attesa finché il clip non è pronto o la finestra non scade, poi ricade sull’oggetto di polling. La generazione vera e propria, nei nostri test, ha richiesto da 20 secondi a poco più di due minuti per i clip a 480p e 720p. Il campo usage.total_tokens sul task completato è il contatore di fatturazione, e il resto di questo post riguarda cosa lo determina.
Cos’è esattamente un video token?
Un video token è una fetta fissa di pixel di output nel tempo: il conteggio fatturato è W × H × frames / 1024, dove il numero di frame è 24 × seconds + 1 e W×H sono le dimensioni reali dell’encoder, non l’etichetta del tier di risoluzione. Abbiamo ricavato entrambi i termini dal contatore stesso. I conteggi di token fatturati su tre durate per ogni risoluzione stanno su una retta con residuo zero: la pendenza della retta dà i token al secondo, e la sua intercetta, a ogni risoluzione, corrisponde esattamente ai token di un singolo frame (405 a 480p, 858 a 720p, 2.040 a 1080p). Risolvendo le pendenze per W×H si ottengono le griglie reali di encoding:
| Tier nominale | Dimensioni codificate (misurate) | Token al secondo | Un frame in più |
|---|---|---|---|
| 480p | 864×480 (serie 1.0) / 864×496 (serie 1.5/2.0) | 9.720 / 10.044 | 405 / 418 |
| 720p | 1248×704 (non 1280×720) | 20.592 | 858 |
| 1080p | 1920×1088 (non 1920×1080) | 48.960 | 2.040 |
| 4k | 3840×2160 (nominale = codificato) | 194.400 | 8.100 |
Una verifica incrociata indipendente: l’esempio pratico di ByteDance ampiamente diffuso per la 2.0, un clip di 15 secondi a circa 308.880 token, è esattamente 15 volte la nostra frequenza misurata a 720p. Quindi la griglia 720p regge anche oltre la serie 1.0 su cui l’abbiamo calibrata (e i loro conti di marketing tralasciano il frame +1).
Due conseguenze pratiche. L’aspect ratio non sposta la fattura: 16:9 e 9:16 hanno fatturato token identici in tutte e nove le coppie di test, quindi l’output verticale non è una scelta di costo. E l’approssimazione molto citata W × H × 24 × duration / 1024 sbaglia per difetto di un frame e usa le dimensioni sbagliate: è per questo che le stime di terze parti si discostano di qualche punto percentuale dalle fatture reali.
Quanto costa davvero Seedance al secondo?
Moltiplicando i token misurati per il prezzo di listino di ogni tier, l’intero catalogo si riduce a una sola scala:
| Modello @ risoluzione | $/secondo (token misurati × prezzo di listino) |
|---|---|
| seedance-1.0-pro-fast @ 480p | $0.0097 |
| seedance-1.5-pro @ 480p, senza audio | $0.0121 |
| seedance-1.0-pro-fast @ 720p | $0.0206 |
| seedance-1.5-pro @ 480p, con audio | $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 |
Per un confronto con i prezzi di listino di luglio 2026 di chi fattura al secondo (secondo l’aggregazione dei tracker pubblici di prezzi): Kling costa circa $0.07/s, Sora 2 circa $0.10/s e Veo 3.1 circa $0.40/s. Seedance 2.0 a 480p si posiziona allo stesso prezzo di Kling con audio multi-traccia nativo incluso, mentre il tier 1.0-fast genera 480p guardabili a circa un settimo del prezzo di Kling. Una clip di 15 secondi a 720p su 2.0 costa circa $2.17; la stessa clip su 1.0-pro-fast costa $0.31.
Il 4k costa meno? Il listino dice di sì, la fattura dice di no
Il 4k ha il prezzo per token più basso di Seedance 2.0, $4.0 per milione contro i $7.7 del 1080p, e resta comunque la cosa più costosa del menu. Il motivo è nella formula: il 4k emette circa quattro volte i token al secondo del 1080p (194.400 contro 48.960), quindi il prezzo più basso porta comunque a 2,1x il costo al secondo, $0.778/s contro $0.377/s. La nostra clip di riferimento a 4k di 4 secondi ha fatturato 785.700 token, $3.14 per quattro secondi di video. Qualsiasi listino per token va letto insieme ai token al secondo di quella risoluzione; nel video fatturato a token, il prezzo sul cartellino e quello in fattura possono puntare in direzioni opposte.
Cosa cambia con generate_audio?
Il prezzo, non i token. Su 1.5-pro la stessa clip di 5 secondi ha fatturato 50.638 token con audio attivo e 50.638 con audio disattivato; il prezzo di listino raddoppia da $1.2/M in versione silenziosa a $2.4/M con audio, quindi l’output con colonna sonora costa esattamente 2x, in modo pulito, senza sovrapprezzi nascosti sui token. Sulla serie 2.0 l’audio è incluso nel prezzo unico del modello, quindi non c’è alcun calcolo da fare sul toggle. Se la tua pipeline aggiunge comunque una propria base musicale, 1.5-pro silenzioso a $0.0121/s è l’affare silenzioso del catalogo.
Come funziona la fatturazione dei video async?
La fatturazione è legata al ciclo di vita del task visto sopra: l’addebito arriva una sola volta, quando il task riporta per la prima volta lo stato completed, indipendentemente da quante volte fai polling. La cancellazione è onesta rispetto alla fisica: un task in coda si cancella in modo pulito e non fattura nulla, ma una volta che il task è in esecuzione l’upstream rifiuta la cancellazione (409) e devi aspettare il risultato. Le generazioni fallite non vengono fatturate.
Tre note operative da 27 task eseguiti. Primo, le risposte video riportano l’utilizzo dei token ma nessun campo cost, a differenza di usage.cost della chat; calcola il budget come token × prezzo del tuo tier. Secondo, l’output arriva come URL firmato con una durata di 24 ore; spostalo subito nel tuo storage. Terzo, regola il ritmo delle create: la piattaforma consente 6 task video per workspace al minuto, e poiché ogni task in attesa riserva il costo peggiore sul tuo saldo, un burst di create durante un rallentamento dell’upstream può rimbalzare su una risposta temporanea di quota insufficiente anche quando la spesa finale è nei limiti.
FAQ
L’API di Seedance 2.0 è davvero disponibile?
Sì. Il racconto sull’accesso di inizio 2026 (credenziali cinesi, liste d’attesa, rollout a fasi) è ormai superato: l’intera famiglia, 2.0 compresa, è attiva sull’endpoint /v1/videos del gateway Synthorai ai prezzi di listino di ByteDance (pagine dei modelli: Seedance 2.0, 1.5-pro, 1.0-pro-fast), e diverse altre piattaforme la offrono. Se una pagina ti dice che Seedance 2.0 è disponibile solo tramite quota esperienza, è antecedente al rollout dell’API.
Perché i prezzi di Seedance variano così tanto tra i provider?
Perché la maggior parte dei rivenditori converte la fatturazione a token in prezzi fissi al secondo o a clip, con il proprio margine e i propri arrotondamenti, e la conversione nasconde il calcolo dei token dipendente da risoluzione e durata. La formula in questo post è la verità che sta sotto ogni preventivo: calcola W × H × (24s + 1) / 1024 con le dimensioni codificate e moltiplica per la tariffa ufficiale, e puoi ricostruire con precisione il ricarico di qualsiasi provider.
L’aspect ratio o un formato verticale costano di più?
No. 16:9 e 9:16 hanno fatturato token identici a ogni risoluzione e durata testate. Risoluzione e durata sono le uniche leve che muovono il contatore, e la durata è esattamente lineare.
E Seedance 2.5?
Annunciato, ma non ancora servito sulle API che monitoriamo. La formula dei token e la struttura tier-contro-tariffa sono le parti che probabilmente si conserveranno; quando arriverà rieseguiremo gli stessi test.
Misurato il 2026-07-22/23: 27 generazioni completate su cinque modelli Seedance tramite /v1/videos, conteggi dei token dai record di utilizzo per task, tariffe dal listino ByteDance e matrice delle capacità dal catalogo live /v1/videos/models. Le cifre al secondo dei concorrenti sono prezzi di listino, non misurazioni. Le formule combaciano esattamente su ogni punto misurato; le dimensioni codificate sono ricavate dal contatore, quindi riverificale se ByteDance cambia encoder. Per il resto della serie sulle modalità: generazione immagini, speech-to-text, sessioni vocali e token testuali.