- Version 1 (klassischer Modus): Unterstützt Parameter wie
duration(10/15/25 Sekunden),orientation(Querformat/Hochformat),size(small/large Auflösung), Referenzbilderimage_urls, Charakter-###character_urlusw. - Version 2 (Partner-Modus): Unterstützt
seconds(4/8/12 Sekunden), pixelgenaue Auflösungsize(z.B. 1280x720), Referenzbildinput_referenceusw.
Antragsprozess
Um die API zu nutzen, müssen Sie zunächst den entsprechenden Dienst auf der Sora Videos Generation API Seite beantragen. Nach dem Aufruf der Seite klicken Sie auf die Schaltfläche „Acquire“, wie im Bild gezeigt:
Wenn Sie noch nicht angemeldet oder registriert sind, werden Sie automatisch zur Anmeldeseite weitergeleitet, um sich zu registrieren und anzumelden. Nach der Anmeldung kehren Sie automatisch zur aktuellen Seite zurück.
Bei der ersten Beantragung erhalten Sie ein kostenloses Kontingent, mit dem Sie die API kostenlos nutzen können.
Grundlegende Nutzung (Version 1)
Zuerst lernen wir die grundlegende Nutzung von Version 1 kennen: Sie geben den Promptprompt, ein Array von Referenzbild-URLs image_urls und das Modell model ein, um das Ergebnis zu erhalten. Die Details sind wie folgt:

accept: Das gewünschte Antwortformat, hierapplication/jsonfür JSON-Format.authorization: Der API-Schlüssel, der nach Beantragung direkt ausgewählt werden kann.
model: Das Modell zur Videoerzeugung, unterstütztsora-2(Standardmodus) undsora-2-pro(HD-Modus).sora-2-prounterstützt Videos mitdurationvon 25 Sekunden,sora-2nur 10 oder 15 Sekunden.size: Videoauflösung,smallfür Standardauflösung,largefür HD-Auflösung (nur Version 1).duration: Videolänge, unterstützt 10, 15, 25 Sekunden, wobei 25 Sekunden nur vonsora-2-prounterstützt werden (nur Version 1).orientation: Bildformat, unterstütztlandscape(Querformat),portrait(Hochformat) (nur Version 1).image_urls: Array von Referenzbild-URLs für Bild-zu-Video (nur Version 1).character_url: Charakter-### URL, im Video dürfen keine realen Personen erscheinen (nur Version 1).character_start/character_end: Start- und Endzeitpunkt des Charakters in Sekunden, Differenz 1-3 Sekunden (nur Version 1).prompt: Prompt (Pflichtfeld).callback_url: URL für asynchrone Rückrufe.version: API-Version,"1.0"(Standard) oder"2.0".

success: Status der Videoerzeugungsaufgabe.task_id: ID der Videoerzeugungsaufgabe.trace_id: Tracking-ID der Videoerzeugung.data: Ergebnisliste der Videoerzeugungsaufgabe.id: Video-ID der Aufgabe.video_url: Video-URL der Aufgabe.state: Status der Aufgabe.
data abrufen.
Wenn Sie den entsprechenden Integrationscode generieren möchten, können Sie diesen direkt kopieren, zum Beispiel CURL-Code:
Bild-zu-Video-Aufgabe (Version 1)
Für eine Bild-zu-Video-Aufgabe muss der Parameterimage_urls mit Referenzbild-URLs übergeben werden, um folgende Inhalte zu spezifizieren:
image_urls: Array von Referenzbild-URLs für die Bild-zu-Video-Aufgabe. Bitte keine echten Personenbilder mit Gesichtern übermitteln, da dies zum Fehlschlag der Aufgabe führen kann.


Charakter-Video-Erzeugungsaufgabe (Version 1)
Für eine Charakter-Video-Erzeugungsaufgabe muss der Parametercharacter_url mit der Video-URL des zu erstellenden Charakters übergeben werden. Das Video darf keine realen Personen enthalten, sonst schlägt die Aufgabe fehl. Folgende Inhalte können so spezifiziert werden:
character_url: Video-URL für die Charaktererstellung, das Video darf keine realen Personen enthalten, sonst schlägt die Aufgabe fehl.


Version 2.0 Modus
Neben dem oben beschriebenen Version 1.0 Modus unterstützt die API auch den Version 2.0 Modus, der durch Setzen des Parametersversion auf "2.0" aktiviert wird. Version 2.0 unterstützt kürzere Videolängen und pixelgenaue Auflösungskontrolle.
Parameterbeschreibung Version 2.0
| Parameter | Typ | Pflichtfeld | Beschreibung |
|---|---|---|---|
version | string | Ja | Muss auf "2.0" gesetzt werden |
prompt | string | Ja | Prompt zur Videoerzeugung |
model | string | Nein | sora-2 (Standard) oder sora-2-pro |
duration | integer | Nein | Videolänge: 4 (Standard), 8, 12 Sekunden |
size | string | Nein | Auflösung: 720x1280 (Standard), 1280x720, 1024x1792, 1792x1024 |
image_urls | array | Nein | Array von Referenzbild-URLs, nur das erste Bild wird verwendet, Bildgröße muss mit size übereinstimmen |
callback_url | string | Nein | URL für asynchrone Rückrufe |
Grundlegendes Beispiel
Verwendung von Referenzbildern (Version 2.0)
Im Version 2.0 Modus können Sie über den Parameterimage_urls Referenzbilder zur Steuerung der Videoerzeugung übergeben (nur das erste Bild wird verwendet):
Hinweis: Die Größe des Referenzbildes sollte mit dem Parametersizeübereinstimmen, z.B. beisize=1280x720sollte das Bild 1280×720 Pixel groß sein.
Parametervergleich Version 1.0 und Version 2.0
| Parameter | Version 1.0 | Version 2.0 |
|---|---|---|
version | 1.0 (Standard) | 2.0 |
prompt | ✅ | ✅ |
model | ✅ sora-2 / sora-2-pro | ✅ sora-2 / sora-2-pro |
duration | ✅ 10/15/25 Sekunden | ✅ 4/8/12 Sekunden |
orientation | ✅ landscape/portrait | ❌ |
size | ✅ small/large | ✅ 720x1280/1280x720/1024x1792/1792x1024 |
image_urls | ✅ mehrere Referenzbilder | ✅ nur das erste Bild |
character_url | ✅ | ❌ |
callback_url | ✅ | ✅ |
Asynchrone Rückrufe
Da die Generierung von Videos mit der Sora Videos Generation API relativ lange dauert (ca. 1-2 Minuten), hält die HTTP-Anfrage bei langer Wartezeit die Verbindung offen, was zu zusätzlichem Ressourcenverbrauch führen kann. Daher unterstützt die API auch asynchrone Rückrufe. Der Ablauf ist folgender: Der Client gibt beim API-Aufruf zusätzlich das Feldcallback_url an. Die API antwortet sofort mit einem Ergebnis, das die task_id enthält, welche die aktuelle Aufgabe identifiziert. Nach Abschluss der Aufgabe sendet die API das Ergebnis per POST-JSON an die angegebene callback_url, inklusive der task_id, sodass die Aufgabe eindeutig zugeordnet werden kann.
Im Folgenden ein Beispiel zur Veranschaulichung.
Zunächst ist der Webhook ein Dienst, der HTTP-Anfragen empfangen kann. Entwickler sollten die URL ihres eigenen HTTP-Servers angeben. Zur Demonstration verwenden wir die öffentliche Webhook-Beispielseite https://webhook.site/, die nach Aufruf eine Webhook-URL bereitstellt, wie im Bild gezeigt:
Kopieren Sie diese URL, z.B. https://webhook.site/eb238c4f-da3b-47a5-a922-a93aa5405daa, und verwenden Sie sie als Webhook.
Dann setzen wir das Feld callback_url auf diese Webhook-URL und füllen die übrigen Parameter aus, wie im Bild gezeigt:

https://webhook.site/eb238c4f-da3b-47a5-a922-a93aa5405daa das Ergebnis der Videoerzeugung sehen, wie im Bild gezeigt:
Der Inhalt lautet:
task_id enthält. Die anderen Felder sind wie oben beschrieben. Über dieses Feld kann die Aufgabe eindeutig zugeordnet werden.
Fehlerbehandlung
Wenn bei der API-Nutzung Fehler auftreten, gibt die API entsprechende Fehlercodes und Informationen zurück, z.B.:400 token_mismatched: Ungültige Anfrage, möglicherweise fehlende oder ungültige Parameter.400 api_not_implemented: Ungültige Anfrage, möglicherweise fehlende oder ungültige Parameter.401 invalid_token: Nicht autorisiert, ungültiger oder fehlender Authentifizierungstoken.429 too_many_requests: Zu viele Anfragen, Sie haben das Limit überschritten.500 api_error: Interner Serverfehler, ein Fehler auf dem Server ist aufgetreten.

