Seedance 1.5 Pro ist ByteDances Videogenerierungsmodell mit audiovisueller Synchronisation auf BytePlus ModelArk, offiziell beschrieben als eigens für native, gemeinsame Audio-Video-Generierung gebaut, und deckt Text-to-Video sowie First-Frame- und First-und-Last-Frame-Image-to-Video ab.
- Eingabe
- Text Bild
- Ausgabe
- Video $2.4/M
Benchmarks
Seedance 1.5 Pro: 12 veröffentlicht, aber kein Benchmark, den genug andere Modelle teilen.
Anbieterangaben: ByteDance
Preis im Vergleich
Der Preis im Feld von 5 vergleichbaren Modellen
Der Balken zeigt, wo der Preis dieses Modells unter allen Modellen derselben Art auf Synthorai liegt. An beiden Enden stehen das günstigste und das teuerste Modell. Angegeben sind Grundpreise; Rabatte für Batch, Region und Cache-Schreibzugriffe stehen auf der Preisseite.
Spezifikationen & Limits
Video
| Auflösung | 480p / 720p / 1080p Eine feste Auswahl, kein Bereich. |
|---|---|
| Cliplänge | 4-12 s Ein durchgehender Bereich, keine feste Auswahl. |
| Bildrate | 24 fps |
| Seitenverhältnisse | 6 (u. a. 16:9, 9:16, 1:1) |
| Video-Eingaben | Text-to-Video · First-Frame- und First-/Last-Frame-Image-to-Video |
| Natives Audio | Ja, erzeugt Ton |
| Format | .mp4 |
Modell
| Modalitäten | Text + Bild → Video |
|---|
- Videogenerierung mit audiovisueller Synchronisation: Text-to-Video sowie First-Frame- und First-und-Last-Frame-Image-to-Video mit 480p/720p/1080p, 24 fps, 4-12 s, sechs Seitenverhältnissen, .mp4
- generate_audio schaltet zwischen Output mit Ton und stummem Output zu getrennten Token-Preisen um
- das einzige Seedance mit Draft-Modus (schnelle 480p-Vorschau mit reduzierten Token)
- das Versionsdatum 251215 ist in der Modell-id kodiert
Ein Prompt, gemessen über das Gateway
Seedance 1.5 Pro
Vom Modell zurückgegeben 1280×720 Dauer 5s Latenz 49 s
Ein Prompt, eine Anfrage pro Modell, keine Wiederholungen und keine Auswahl der besten Ergebnisse: Sie sehen das erste Ergebnis, das jedes Modell geliefert hat. Größe und Dauer haben wir nicht vorgegeben. Jedes Modell hat seinen eigenen Standardwert verwendet, denn eine Anfrage, die auf alle zugeschnitten ist, würde keinem gerecht. Die Dateien wurden für das Web neu kodiert. Beurteilen Sie deshalb Bildaufbau und Prompt-Treue, nicht die Kompression.
Seedance 1.5 Pro 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": "seedance-1-5-pro-251215",
"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: "seedance-1-5-pro-251215",
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": "seedance-1-5-pro-251215",
"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": "seedance-1-5-pro-251215",
"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": "seedance-1-5-pro-251215",
"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 Seedance 1.5 Pro
- BytePlus hebt Lippensynchronisation auf Millisekundenebene für Dialoge mit mehreren Sprechenden in Mandarin und mehreren chinesischen Dialekten sowie in Englisch, Japanisch, Koreanisch, Spanisch und Indonesisch hervor, dazu Umgebungston, Action-Foley, Instrumente und Hintergrundmusik.
- Es gibt .mp4-Clips in 480p, 720p oder 1080p bei 24 fps aus, 4-12 Sekunden lang, in sechs Seitenverhältnissen, und akzeptiert -1 als Dauer, damit das Modell selbst wählt.
- Sein generate_audio-Schalter wählt zwischen Ausgabe mit Ton und ohne, beide werden zu getrennten Token-Preisen abgerechnet, die stumme Generierung zur Hälfte des Audio-Preises, und Audio ist standardmäßig aktiv, sodass Sie ohne ausdrückliches Abwählen den teureren Weg erhalten.
- Es ist außerdem das einzige Seedance-Modell mit Draft-Modus, einer token-reduzierten 480p-Schnellvorschau: Entwürfe gibt es nur in 480p, sie können keinen letzten Frame zurückgeben und bleiben sieben Tage gültig, danach übernimmt das Hochstufen zu einem finalen Render Prompt, Bild, Seed, Seitenverhältnis, Dauer und Audioeinstellung des Entwurfs.
- 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.
FAQ
Lässt sich die Seedance 1.5 Pro API kostenlos testen?
Ja. Neue Konten erhalten 10 Testaufrufe und bis zu $1 Gratisguthaben, ohne Kreditkarte. Das reicht, um Seedance 1.5 Pro mit Ihrem realen Workload auszuprobieren, bevor Sie eine Zahlungsmethode hinterlegen.
Worin ist Seedance 1.5 Pro am besten?
Ton- oder Stumm-Output zu getrennten Preisen; 480p bis 1080p, 4-12 Sekunden; einziges Seedance mit Draft-Modus. Mehr dazu im Über-Abschnitt, der auf den offiziellen Release Notes des Anbieters beruht.
Was kostet Seedance 1.5 Pro?
Seedance 1.5 Pro kostet auf Synthorai $2.4 pro Million Video-Tokens (Video-Tokens ≈ Breite × Höhe × 24fps × Sekunden ÷ 1024). Berechnet werden nur erfolgreiche Generierungen, nutzungsbasiert, ohne Plattformaufschlag und ohne Abo.
Wie generiere ich Videos mit der Seedance 1.5 Pro API?
Senden Sie auf Synthorai einen POST an /v1/videos mit model="seedance-1-5-pro-251215", 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. Ein Anbieter-SDK brauchen Sie nicht.
Wie erhalte ich Zugang zu Seedance 1.5 Pro?
Setzen Sie in Ihrem vorhandenen OpenAI SDK base_url="https://synthorai.io/v1" und model="seedance-1-5-pro-251215", mehr ist nicht nötig. Ein API-Schlüssel gilt für alle Modelle im Gateway.
Verwandte Modelle
Vergleichen
Jeder Wert auf dieser Seite stammt aus der oben verlinkten Dokumentation des Anbieters und trägt das Datum, an dem wir ihn geprüft haben. Preise vergleichen wir über den gesamten Katalog. Spezifikationen, die Anbieter unterschiedlich definieren, zeigen wir mit einem Hinweis auf den Unterschied und nicht als Diagramm. Wir messen hier nichts selbst und vergeben keine Bewertungen.