Dreamina Seedance 2.0 Mini
Listenpreise der Anbieter, ohne Plattform-Aufschlag, nutzungsbasierte Abrechnung. Dies sind offizielle Listenpreise. Angemeldete Kunden sehen auf /console/pricing die effektiven Preise inklusive Workspace-Rabatten.
Dreamina Seedance 2.0 Mini in 30 Sekunden nutzen
Asynchrone Job-API: Task anlegen und per Polling abfragen, oder die Anfrage mit Prefer: wait offen halten. 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-mini-260615",
"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-mini-260615",
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-mini-260615",
"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-mini-260615",
"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-mini-260615",
"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).Über Dreamina Seedance 2.0 Mini
Dreamina Seedance 2.0 Mini ist das kleinste Mitglied von ByteDances Seedance-2.0-Serie auf BytePlus ModelArk, im offiziellen Tutorial als bestes Preis-Leistungs-Verhältnis der Familie positioniert und die günstigste der drei 2.0-Stufen.
- Wie seine Geschwister unterstützt es Text-to-Video und First-Frame- oder First-und-Last-Frame-Image-to-Video mit optionalem synchronem Ton und produziert .mp4-Clips in 480p oder 720p bei 24 fps, 4-15 Sekunden lang, in sechs Seitenverhältnissen.
- Es behält die für die Serie typische audiovisuelle Synchronisation bei und drückt zugleich die Kosten pro Token unter die Fast-Stufe — die natürliche Wahl für Entwürfe in großem Volumen, Vorschauen und Social-Formate.
- Synthorai stellt es über die asynchrone /v1/videos Job-API bereit: Task anlegen, die Status-URL per Polling abfragen oder den Aufruf mit Prefer: wait offen halten.
Spezifikationen & Limits
| Modalitäten | text + image → video |
| Funktionen | vision |
| Bemerkenswert | Best-cost-performance tier of the Dreamina Seedance 2.0 series and the cheapest 2.0 model; same capability set as the flagship (t2v, first/last-frame i2v, generate_audio, multimodal reference, video editing/extension) with output capped at 480p/720p; 24 fps, 4-15 s, six aspect ratios, .mp4; version date 260615 encoded in the model id. |
FAQ
Lässt sich die Dreamina Seedance 2.0 Mini API kostenlos testen?
Ja, neue Konten erhalten 10 Test-Calls und bis zu $1 kostenloses Guthaben, keine Kreditkarte erforderlich. Das reicht, um Dreamina Seedance 2.0 Mini mit Ihrem realen Workload auszuprobieren, bevor Sie eine Zahlungsmethode hinterlegen.
Worin ist Dreamina Seedance 2.0 Mini am besten?
Bestes Preis-Leistungs-Verhältnis der 2.0-Serie, außerdem behält die audiovisuelle Synchronisation bei und natürliche Wahl für Entwürfe in großem Volumen. Das vollständige Bild finden Sie im About-Abschnitt, direkt aus den offiziellen Release Notes des Anbieters.
Was kostet Dreamina Seedance 2.0 Mini?
Dreamina Seedance 2.0 Mini kostet auf Synthorai $3.5 pro Million Video-Tokens (Video-Tokens ≈ Breite × Höhe × 24fps × Sekunden ÷ 1024). Abgerechnet werden nur erfolgreiche Generierungen: nutzungsbasierte Abrechnung, ohne Plattform-Aufschlag, ohne Abo.
Wie generiere ich Videos mit der Dreamina Seedance 2.0 Mini API?
Senden Sie einen POST an /v1/videos auf Synthorai mit model="dreamina-seedance-2-0-mini-260615", um einen asynchronen Job anzulegen, und fragen Sie den Task dann per Polling ab — oder halten Sie die Anfrage mit dem Header Prefer: wait offen — bis die Video-URL bereitsteht. Kein Vendor-SDK nötig.
Wie erhalte ich Zugang zu Dreamina Seedance 2.0 Mini?
Richten Sie Ihr vorhandenes OpenAI SDK auf base_url="https://synthorai.io/v1", setzen Sie model="dreamina-seedance-2-0-mini-260615", fertig. Ein API-Key deckt jedes Modell auf dem Gateway ab.