Sora 2 Pro ist die Stufe mit höherer Wiedergabetreue von OpenAIs Sora 2, präsentiert als sein fortschrittlichstes Videogenerierungsmodell mit synchronisiertem Audio.
- Eingabe
- Text Bild
- Ausgabe
- Video
- Preis
- $0.3-$0.5/s
Benchmarks
Sora 2 Pro: 6 veröffentlicht, aber kein Benchmark, den genug andere Modelle teilen.
Herstellerangaben: ByteDance
Preis im Vergleich
Preisposition unter 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. Es sind Grundpreise; Rabatte für Batch, Region und Cache-Schreibvorgänge stehen auf der Preisseite.
Spezifikationen & Limits
Video
| Auflösung | 720p / 1024p Eine feste Auswahl, kein Bereich. |
|---|---|
| Cliplänge | 4-12 s Ein durchgehender Bereich, keine feste Auswahl. |
| Bildrate | 24 fps |
| Seitenverhältnisse | 16:9 · 9:16 |
| Video-Eingaben | Text-to-Video · Image-to-Video (einzelnes Referenzbild) |
| Natives Audio | Ja, erzeugt Ton |
| Format | .mp4 |
Modell
| Modalitäten | Text + Bild → Video |
|---|
Die hochwertigere Stufe von OpenAIs Sora 2, die pro Generierung mehr Rechenleistung für schärfere Details und stärkere Prompt-Treue einsetzt, mit denselben Fähigkeiten für Text-to-Video und Image-to-Video mit synchronisiertem Audio. Synthorai stellt es über die asynchrone /v1/videos-Job-API mit 720p, 24 fps, 4-12 s, 16:9 oder 9:16 bereit und rechnet pro Output-Sekunde zu einem Premium-Satz ab.
Ein Prompt, gemessen über das Gateway
Sora 2 Pro
Vom Modell zurückgegeben 1280×720 Dauer 4s Latenz 130 s
Ein Prompt, ein Request pro Modell, keine Retries und kein Cherry-Picking - das erste Ergebnis, das jedes Modell zurückgegeben hat. Weder Größe noch Dauer wurden festgelegt: Jedes Modell verwendete seinen eigenen Standardwert, da ein auf alle zugeschnittener Request keinem gerecht werden würde. Die Dateien hier wurden für das Web neu kodiert, beurteilen Sie also Komposition und Prompt-Treue, nicht die Komprimierung.
Sora 2 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": "sora-2-pro",
"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: "sora-2-pro",
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": "sora-2-pro",
"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": "sora-2-pro",
"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": "sora-2-pro",
"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 Sora 2 Pro
- Es wendet pro Generierung mehr Rechenleistung für schärfere Details und stärkere Prompt-Treue auf und behält dabei dieselben Fähigkeiten für synchronisiertes Audio, Text-to-Video und Image-to-Video.
- OpenAIs Empfehlung ist beim Abwägen deutlich: Pro braucht länger zum Rendern und kostet mehr im Betrieb, erzeugt aber ausgefeiltere, stabilere Ergebnisse, und es ist die Stufe der Wahl, wenn man Ausgaben in Produktionsqualität statt explorativer Entwürfe braucht.
- Upstream bietet es außerdem eine Ausgabegröße oberhalb des gemeinsamen 720p-Paars - 1792x1024 im Quer- und 1024x1792 im Hochformat - zu einem höheren Sekundenpreis.
- Alles Übrige entspricht der Standardstufe: Referenzbilder müssen der Zielgröße entsprechen und als JPEG, PNG oder WebP ankommen, Erweiterungs- und Bearbeitungsabläufe stehen zum Fortsetzen oder Anpassen eines fertigen Clips bereit, wiederverwendbare Charaktere halten ein Motiv konsistent, mit einer Grenze von zwei pro Video, und es gelten dieselben Inhaltsregeln, wobei reale Personen, Gesichter in Eingabebildern sowie urheberrechtlich geschützte Charaktere oder Musik allesamt verweigert werden.
- Synthorai stellt es über die asynchrone /v1/videos Job-API bereit, in 720p oder 1024p, 24 fps, 4 bis 12 Sekunden, in 16:9 oder 9:16, und rechnet pro Ausgabesekunde zu einem Aufpreis gegenüber dem Standard-Sora-2 ab.
FAQ
Lässt sich die Sora 2 Pro API kostenlos testen?
Ja, neue Konten erhalten 10 Test-Calls und bis zu $1 kostenloses Guthaben, keine Kreditkarte erforderlich. Das reicht, um Sora 2 Pro mit Ihrem realen Workload auszuprobieren, bevor Sie eine Zahlungsmethode hinterlegen.
Worin ist Sora 2 Pro am besten?
Höherwertige Sora-2-Stufe, mehr Rechenleistung pro Clip; schärfere Details und Prompt-Treue; synchronisierte Audio, 720p oder 1024p, 4-12 Sekunden. Das vollständige Bild finden Sie im Über-Abschnitt, direkt aus den offiziellen Release Notes des Anbieters.
Was kostet Sora 2 Pro?
Sora 2 Pro kostet auf Synthorai $0.3-$0.5 pro Sekunde generiertem Video. Abgerechnet werden nur erfolgreiche Generierungen: nutzungsbasierte Abrechnung, ohne Plattform-Aufschlag, ohne Abo.
Wie generiere ich Videos mit der Sora 2 Pro API?
Senden Sie einen POST an /v1/videos auf Synthorai mit model="sora-2-pro", 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 Sora 2 Pro?
Richten Sie Ihr vorhandenes OpenAI SDK auf base_url="https://synthorai.io/v1", setzen Sie model="sora-2-pro", fertig. Ein API-Key deckt jedes Modell auf dem Gateway ab.
Verwandte Modelle
Vergleichen
Jeder Wert auf dieser Seite ist aus der Dokumentation des Anbieters übernommen, oben verlinkt, und trägt das Datum der Prüfung. Preise werden über den gesamten Katalog verglichen; Spezifikationswerte, die Anbieter unterschiedlich definieren, werden mit benanntem Unterschied gezeigt statt grafisch verglichen. Nichts hier wird von uns gemessen, und nichts wird bewertet.