Dreamina Seedance 2.0 vs Dreamina Seedance 2.0 Fast
Quale scegliere e quando
Stessa famiglia, stessi clip da 4-15 s a 24 fps con audio nativo e sei rapporti; il livello fast costa $5.6 per milione di token video contro $7, il 20% in meno, e ferma la risoluzione a 480p/720p dove il modello base copre da 480p a 4K con uscita a 10 bit in 4K. Il modello base accetta anche l'immagine-a-video dal primo fotogramma, oltre a primo/ultimo. Scegli il livello fast per bozze e formati social, il modello base quando l'inquadratura deve superare i 720p.
Prezzi
| Dreamina Seedance 2.0 | Dreamina Seedance 2.0 Fast | Δ | |
|---|---|---|---|
| Per 1M token video | $7 | $5.6 | 1.3× |
Tariffe lette dal catalogo live al momento della build; il listino aggiornato è sulla pagina di ciascun modello.
Dove si collocano: prezzo per 1M di token video tra tutti i modelli di generazione di video con questa unità di fatturazione (5, scala logaritmica)
Funzionalità
| Dreamina Seedance 2.0 | Dreamina Seedance 2.0 Fast | |
|---|---|---|
| Audio nativo | sì | sì |
Specifiche
| Dreamina Seedance 2.0 | Dreamina Seedance 2.0 Fast | |
|---|---|---|
| Modalità di input | testo immagine | testo immagine |
| Modalità di output | video | video |
| Rilascio | 2026-01 | 2026-01 |
| Risoluzione | 480p - 4K (10-bit at 4K) (intervallo) | 480p / 720p (insieme fisso) |
| Durata della clip | 4-15 s (intervallo) | 4-15 s (intervallo) |
| Frame rate | 24 fps | 24 fps |
| Proporzioni | 6 (incl. 16:9, 9:16, 1:1) | 6 (incl. 16:9, 9:16, 1:1) |
| Modalità di input |
|
|
| Formato | .mp4 | .mp4 |
Le specifiche sono riprese dalla documentazione di ciascun provider; se un provider non pubblica un dato, la riga viene omessa e non dedotta. Fonti complete: Dreamina Seedance 2.0 · Dreamina Seedance 2.0 Fast
Un solo prompt, entrambi i modelli, misurati attraverso il gateway
Restituito dal modello 1280×720 Durata 5s latenza 133 s
Restituito dal modello 1280×720 Durata 5s latenza 137 s
Un prompt, una richiesta per modello, nessun nuovo tentativo e nessuna selezione: è il primo risultato restituito da ciascun modello. Non abbiamo fissato né le dimensioni né la durata: ogni modello ha usato il proprio default, perché una richiesta costruita per andare bene a tutti non avrebbe valorizzato nessuno. I file sono stati ricodificati per il web, quindi valuta la composizione e l'aderenza al prompt, non la compressione.
Passa dall'uno all'altro cambiando una sola riga
In ogni scheda qui sotto ci sono entrambi gli id: le due righe evidenziate sono l'unica modifica. Stesso endpoint, stessa chiave, stessa struttura della richiesta.
import time
import requests
BASE = "https://synthorai.io/v1"
HEADERS = {"Authorization": "Bearer sk-syn-..."}
# 1) create the video generation job (POST /v1/videos)
task = requests.post(
f"{BASE}/videos",
headers=HEADERS,
json={
"model": "dreamina-seedance-2-0-260128",
# "model": "dreamina-seedance-2-0-fast-260128", # decommenta questa riga, commenta quella sopra
"prompt": "a watercolor lighthouse at dawn, waves rolling in, camera pulling back",
"resolution": "720p",
"duration": 5,
},
).json()
# 2) poll the job until it reaches a terminal state
while task["status"] in ("queued", "in_progress"):
time.sleep(5)
task = requests.get(f"{BASE}/videos/{task['id']}", headers=HEADERS).json()
# 3) completed → signed video URL (valid ~24h - download and store it promptly)
if task["status"] == "completed":
print(task["data"][0]["url"])
else:
print(task["error"])const HEADERS = {
Authorization: "Bearer sk-syn-...",
"Content-Type": "application/json",
};
interface VideoTask {
id: string;
status: "queued" | "in_progress" | "completed" | "failed" | "cancelled";
data?: Array<{ url: string }>;
error?: { code: string; message: string };
}
// 1) create the video generation job (POST /v1/videos)
const created = await fetch("https://synthorai.io/v1/videos", {
method: "POST",
headers: HEADERS,
body: JSON.stringify({
model: "dreamina-seedance-2-0-260128",
// model: "dreamina-seedance-2-0-fast-260128", // decommenta questa riga, commenta quella sopra
prompt: "a watercolor lighthouse at dawn, waves rolling in, camera pulling back",
resolution: "720p",
duration: 5,
}),
});
let task = (await created.json()) as VideoTask;
// 2) poll the job until it reaches a terminal state
while (task.status === "queued" || task.status === "in_progress") {
await new Promise((r) => setTimeout(r, 5000));
const res = await fetch(`https://synthorai.io/v1/videos/${task.id}`, { headers: HEADERS });
task = (await res.json()) as VideoTask;
}
// 3) completed → signed video URL (valid ~24h — download and store it promptly)
if (task.status === "completed") console.log(task.data?.[0]?.url);
else console.error(task.error);# Create the job; "Prefer: wait" holds the request up to 60s and returns the
# completed task when generation finishes in time (else the queued task).
curl https://synthorai.io/v1/videos \
-H "Authorization: Bearer sk-syn-..." \
-H "Content-Type: application/json" \
-H "Prefer: wait=60" \
-d '{
"model": "dreamina-seedance-2-0-260128",
# "model": "dreamina-seedance-2-0-fast-260128", # decommenta questa riga, commenta quella sopra
"prompt": "a watercolor lighthouse at dawn, waves rolling in, camera pulling back",
"resolution": "720p",
"duration": 5
}'
# Still queued / in_progress? Poll until completed → data[0].url (valid ~24h).
curl https://synthorai.io/v1/videos/vid_9f2e8c1a4b7d \
-H "Authorization: Bearer sk-syn-..."package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
"time"
)
const base = "https://synthorai.io/v1"
type videoTask struct {
ID string `json:"id"`
Status string `json:"status"`
Data []struct {
URL string `json:"url"`
} `json:"data"`
}
func call(method, url string, body []byte) (t videoTask) {
req, _ := http.NewRequest(method, url, bytes.NewReader(body))
req.Header.Set("Authorization", "Bearer sk-syn-...")
req.Header.Set("Content-Type", "application/json")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
json.NewDecoder(resp.Body).Decode(&t)
return t
}
func main() {
// 1) create the video generation job (POST /v1/videos)
payload, _ := json.Marshal(map[string]any{
"model": "dreamina-seedance-2-0-260128",
// "model": "dreamina-seedance-2-0-fast-260128", // decommenta questa riga, commenta quella sopra
"prompt": "a watercolor lighthouse at dawn, waves rolling in, camera pulling back",
"resolution": "720p",
"duration": 5,
})
task := call("POST", base+"/videos", payload)
// 2) poll the job until it reaches a terminal state
for task.Status == "queued" || task.Status == "in_progress" {
time.Sleep(5 * time.Second)
task = call("GET", base+"/videos/"+task.ID, nil)
}
// 3) completed → signed video URL (valid ~24h — download and store promptly)
if task.Status == "completed" {
fmt.Println(task.Data[0].URL)
}
}import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
// JDK built-in HttpClient — no extra dependency needed.
HttpClient http = HttpClient.newHttpClient();
// 1) create the job; "Prefer: wait=60" holds the request up to 60s and
// returns the completed task when generation finishes in time
HttpRequest create = HttpRequest.newBuilder(URI.create("https://synthorai.io/v1/videos"))
.header("Authorization", "Bearer sk-syn-...")
.header("Content-Type", "application/json")
.header("Prefer", "wait=60")
.POST(HttpRequest.BodyPublishers.ofString("""
{"model": "dreamina-seedance-2-0-260128",
// {"model": "dreamina-seedance-2-0-fast-260128", // decommenta questa riga, commenta quella sopra
"prompt": "a watercolor lighthouse at dawn, waves rolling in, camera pulling back",
"resolution": "720p", "duration": 5}"""))
.build();
String task = http.send(create, HttpResponse.BodyHandlers.ofString()).body();
System.out.println(task); // {"id":"vid_…","status":…} — completed → data[0].url
// 2) still queued / in_progress? Poll GET https://synthorai.io/v1/videos/{id} until the
// status turns completed, then download data[0].url (valid ~24h).FAQ
Qual è il più economico, Dreamina Seedance 2.0 o Dreamina Seedance 2.0 Fast?
Dreamina Seedance 2.0 Fast costa meno alla voce Per 1M token video ($5.6 contro $7, 1.3× di differenza). Altre voci potrebbero dire il contrario: la tabella qui sopra riporta il listino completo, e il costo reale dipende dal tuo mix di utilizzo.
Posso fare un A/B test di Dreamina Seedance 2.0 contro Dreamina Seedance 2.0 Fast senza due integrazioni?
Sì. Si chiamano entrambi dallo stesso endpoint compatibile con OpenAI, con una sola chiave API. Per passare dall'uno all'altro basta cambiare la stringa del modello in una riga, quindi puoi mandare una parte del traffico a ciascuno e confrontare direttamente i costi.
Quali durate delle clip e quali risoluzioni supportano?
La tabella delle specifiche qui sopra elenca le risoluzioni e le durate delle clip pubblicate per ciascun modello, e indica se un valore è un insieme fisso di opzioni o un intervallo continuo. Le due cose si somigliano ma incidono in modo diverso sul prezzo, perché con la fatturazione al secondo il costo cresce con la durata.