Dreamina Seedance 2.0 è il modello di punta di ByteDance per la generazione video su BytePlus ModelArk, presentato nel catalogo ufficiale come il modello video principale, con sincronizzazione audio-video ad alta fedeltà, alta qualità del movimento ed espressività emotiva, e ottimizzato in modo specifico per la pubblicità commerciale, la produzione cinematografica e televisiva e il marketing sui social media.
- Input
- testo immagine
- Output
- video $7/M
Il prezzo nel contesto
Posizione del prezzo tra 5 modelli comparabili
La barra mostra dove si colloca il prezzo di questo modello tra tutti i modelli dello stesso tipo su Synthorai. Alle due estremità sono indicati il più economico e il più caro. Sono tariffe base; gli sconti per batch, regione e scrittura in cache sono nella pagina dei prezzi.
Specifiche e limiti
Video
| Risoluzione | 480p - 4K (10 bit in 4K) Un intervallo continuo, non un insieme fisso. |
|---|---|
| Durata clip | 4-15 s Un intervallo continuo, non un insieme fisso. |
| Frame rate | 24 fps |
| Proporzioni | 6 (tra cui 16:9, 9:16, 1:1) |
| Input video | text-to-video · image-to-video con primo fotogramma e con primo/ultimo fotogramma |
| Audio nativo | Sì, genera audio |
| Formato | .mp4 |
Modello
| Modalità | testo + immagine → video |
|---|
- Flagship della serie Dreamina Seedance 2.0 di ByteDance, il modello di generazione video principale del catalogo, con sincronizzazione audio-video ad alta fedeltà
- text-to-video + image-to-video con primo fotogramma / con primo e ultimo fotogramma
- output da 480p a 4k (codifica a 10 bit in 4k), 24 fps, 4-15 s, sei proporzioni, .mp4
- generate_audio per l'output con audio
- la serie elenca anche riferimento multimodale (immagine/video/audio), editing video ed estensione video
- data di versione 260128 codificata nell'id del modello
Un solo prompt, misurato attraverso il gateway
Dreamina Seedance 2.0
Restituito dal modello 1280×720 Durata 5s latenza 133 s
Un prompt, una richiesta per modello, nessun nuovo tentativo e nessun cherry-picking - il primo risultato restituito da ciascun modello. Né le dimensioni né la durata sono state fissate: ogni modello ha utilizzato il proprio default, perché una richiesta modellata per adattarsi a tutti non renderebbe giustizia a nessuno. I file qui sono stati ricodificati per il web, quindi valutate la composizione e l'aderenza al prompt, non la compressione.
Usa Dreamina Seedance 2.0 in 30 secondi
API di job asincrona: crea un task e interrogalo, oppure tieni aperta la richiesta con Prefer: wait. POST /v1/videos
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",
"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",
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",
"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",
"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",
"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).Informazioni su Dreamina Seedance 2.0
- Genera clip .mp4 di 4-15 secondi a 24 fps, in risoluzioni da 480p fino al 4K (codifica a 10 bit) e sei proporzioni, partendo da prompt testuali, da immagini di primo fotogramma e di primo e ultimo fotogramma, oppure da riferimenti multimodali, con sonoro sincronizzato disponibile tramite l'interruttore generate_audio.
- Dei tre livelli 2.0 solo questo arriva a 1080p e 4K, e solo questo accetta un valore priority per il posizionamento in coda; l'indicazione di BytePlus è di usarlo quando la qualità di generazione conta di più.
- Il riferimento multimodale accetta fino a nove immagini, tre video per un totale di quindici secondi e tre clip audio, e sono supportati l'editing e l'estensione video, con l'estensione concatenabile fino a tre segmenti.
- L'audio generato è mono ed è attivo di default.
- Il materiale di riferimento che contiene volti reali è limitato a un insieme documentato di fonti conformi.
- Synthorai lo serve tramite l'API di job asincrona /v1/videos.
- Crea un task, poi interrogalo (o tieni aperta la richiesta con Prefer: wait) finché l'URL firmato del video non è pronto.
FAQ
L'API di Dreamina Seedance 2.0 si può provare gratis?
Sì: i nuovi account ricevono 10 chiamate di prova e fino a $1 di credito gratuito, senza carta richiesta. Abbastanza per provare Dreamina Seedance 2.0 sul tuo carico di lavoro reale prima di aggiungere un metodo di pagamento.
In cosa eccelle Dreamina Seedance 2.0?
Sincronizzazione audio-video ad alta fedeltà; output da 480p a 4K, 4-15 secondi; input testo, primo fotogramma e primo/ultimo fotogramma. Il quadro completo è nella sezione «Informazioni», tratto dalle note di rilascio ufficiali del vendor.
Quanto costa Dreamina Seedance 2.0?
Su Synthorai, Dreamina Seedance 2.0 costa $7 per milione di token video (token video ≈ larghezza × altezza × 24fps × secondi ÷ 1024). Vengono addebitate solo le generazioni riuscite: pagamento a consumo, senza ricarico della piattaforma, senza abbonamento.
Come genero video con l'API di Dreamina Seedance 2.0?
Invia una POST a /v1/videos su Synthorai con model="dreamina-seedance-2-0-260128" per creare un job asincrono, poi interroga il task (o tieni aperta la richiesta con l'header Prefer: wait) finché l'URL del video non è pronto. Non serve alcun SDK del vendor.
Come ottengo l'accesso a Dreamina Seedance 2.0?
Punta il tuo SDK OpenAI esistente a base_url="https://synthorai.io/v1", imposta model="dreamina-seedance-2-0-260128" e hai finito: una sola chiave API copre tutti i modelli del gateway.
Modelli correlati
Confronta
Ogni valore di questa pagina è trascritto dalla documentazione del fornitore, collegata sopra, e riporta la data in cui è stato verificato. I prezzi sono confrontati sull'intero catalogo; i valori di specifica che i fornitori definiscono in modo diverso sono mostrati indicando la differenza anziché messi a grafico. Nulla qui è misurato da noi e nulla è valutato con un punteggio.