Zum Hauptinhalt springen
Dieser Artikel beschreibt eine Integrationsanleitung für die Sora Videos Generation API, die es ermöglicht, offizielle Sora-Videos durch Eingabe benutzerdefinierter Parameter zu generieren.

Antragsprozess

Um die API zu nutzen, müssen Sie zunächst auf die entsprechende Seite der Sora Videos Generation API gehen und den entsprechenden Dienst beantragen. Nach dem Betreten 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 werden Sie automatisch zur aktuellen Seite zurückgeleitet. Bei der ersten Antragstellung gibt es ein kostenloses Kontingent, mit dem Sie die API kostenlos nutzen können.

Grundlegende Nutzung

Zunächst sollten Sie die grundlegende Nutzung verstehen, bei der Sie das Eingabewort prompt, ein Array von Referenzbild-Links image_urls sowie das Modell model eingeben, um das verarbeitete Ergebnis zu erhalten. Die spezifischen Inhalte sind wie folgt:

Hier sehen wir, dass wir die Request-Header festgelegt haben, einschließlich:
  • accept: In welchem Format Sie die Antwort erhalten möchten, hier eingetragen als application/json, also im JSON-Format.
  • authorization: Der Schlüssel zur Nutzung der API, den Sie nach der Beantragung direkt auswählen können.
Zusätzlich haben wir den Request-Body festgelegt, einschließlich:
  • model: Das Modell zur Generierung des Videos, hauptsächlich sora-2, sora-2-pro. Derzeit können sora-2 und sora-2-pro die Parameter size und duration für das Video selbst wählen, wobei sora-2-pro Videos mit einer Dauer von 25 Sekunden unterstützt, während sora-2 nur Videos mit 10 oder 15 Sekunden unterstützt.
  • size: Die Klarheit der Videoerzeugungsaufgabe, entweder small oder large.
  • image_urls: Die zu ladenden Referenzbild-Links oder ein Array von Base64-codierten Bildern.
  • duration: Die Dauer der Videoerzeugungsaufgabe, entweder 10s, 15s oder 25s, wobei derzeit nur sora-2-pro 25s unterstützt.
  • character_start/character_end: Die Start- und Endposition des Charakters im Bild (0-1), um die Position des Hauptmotivs zu steuern.
  • orientation: Die Ausrichtung des Bildes, unterstützt landscape, portrait, square.
  • prompt: Das Eingabewort.
  • callback_url: Die URL, an die das Ergebnis zurückgegeben werden soll.
Nach der Auswahl können Sie sehen, dass auf der rechten Seite auch der entsprechende Code generiert wurde, wie im Bild gezeigt:

Klicken Sie auf die Schaltfläche „Try“, um einen Test durchzuführen. Wie im obigen Bild gezeigt, haben wir folgendes Ergebnis erhalten:
{
  "success": true,
  "task_id": "6bf7fb83-5814-4e3e-a4ad-bfa0c26c0b33",
  "trace_id": "96166698-4b66-478d-a26b-77a7269c9e01",
  "data": [
    {
      "id": "sora-2:task_01k7770rgsevxsmtpbn7xnm5gh",
      "video_url": "https://filesystem.site/gptimage/vg-assets/assets%2Ftask_01k7770rgsevxsmtpbn7xnm5gh%2Ftask_01k7770rgsevxsmtpbn7xnm5gh_genid_0bf958d3-cae7-4298-b7b6-99ae439a1ea6_25_10_10_14_06_975715%2Fvideos%2F00000%2Fsrc.mp4?st=2025-10-10T12%3A30%3A38Z&se=2025-10-16T13%3A30%3A38Z&sks=b&skt=2025-10-10T12%3A30%3A38Z&ske=2025-10-16T13%3A30%3A38Z&sktid=a48cca56-e6da-484e-a814-9c849652bcb3&skoid=8ebb0df1-a278-4e2e-9c20-f2d373479b3a&skv=2019-02-02&sv=2018-11-09&sr=b&sp=r&spr=https%2Chttp&sig=jigY6Z5qp8%2BTXYobaW0EAJ4%2Fbx6G7t6V1P0iyDeUq48%3D&az=oaivgprodscus",
      "state": "succeeded"
    }
  ]
}
Die Rückgabe enthält mehrere Felder, die wie folgt beschrieben werden:
  • success: Der Status der Videoerzeugungsaufgabe.
  • task_id: Die ID der Videoerzeugungsaufgabe.
  • trace_id: Die Verfolgungs-ID der Videoerzeugung.
  • data: Die Ergebnisliste der Videoerzeugungsaufgabe.
    • id: Die Video-ID der Videoerzeugungsaufgabe.
    • video_url: Der Link zum Video der Videoerzeugungsaufgabe.
    • state: Der Status der Videoerzeugungsaufgabe.
Wir haben die gewünschten Videoinformationen erhalten und müssen nur die Video-URL aus dem data-Ergebnis abrufen, um das generierte Sora-Video zu erhalten. Wenn Sie den entsprechenden Integrationscode generieren möchten, können Sie ihn direkt kopieren, zum Beispiel der CURL-Code wie folgt:
curl -X POST 'https://api.acedata.cloud/sora/videos' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "size": "large",
  "duration": 15,
  "orientation": "landscape",
  "prompt": "cat running on the river",
  "model": "sora-2"
}'

Bild-zu-Video-Aufgabe

Wenn Sie eine Bild-zu-Video-Aufgabe durchführen möchten, muss der Parameter image_urls die Referenzbild-Links enthalten, um die folgenden Inhalte anzugeben:
  • image_urls: Das Array von Referenzbild-Links, das für diese Bild-zu-Video-Aufgabe verwendet wird.
Ein Beispiel für die Eingabe ist wie folgt:

Nach dem Ausfüllen wird automatisch der folgende Code generiert:

Der entsprechende Code:
import requests

url = "https://api.acedata.cloud/sora/videos"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "size": "large",
    "duration": 15,
    "orientation": "landscape",
    "prompt": "cat running on the river",
    "model": "sora-2",
    "image_urls": ["https://cdn.acedata.cloud/11wfp4.png"]
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
Klicken Sie auf Ausführen, und Sie werden sofort ein Ergebnis erhalten, wie folgt:
{
  "success": true,
  "task_id": "dd392ff0-dcb7-4c7a-afd0-9bd4f65c803a",
  "trace_id": "04fd151c-e942-4c1c-a6ab-9a1b1fe54172",
  "data": [
    {
      "id": "sora-2:task_01k777af4hfmg9g7yfvwsc6zws",
      "video_url": "https://filesystem.site/gptimage/vg-assets/assets%2Ftask_01k777af4hfmg9g7yfvwsc6zws%2Ftask_01k777af4hfmg9g7yfvwsc6zws_genid_92bae0c5-1703-4a5f-9d9f-c9ed2f9e7176_25_10_10_14_12_924695%2Fvideos%2F00000%2Fsrc.mp4?st=2025-10-10T12%3A37%3A32Z&se=2025-10-16T13%3A37%3A32Z&sks=b&skt=2025-10-10T12%3A37%3A32Z&ske=2025-10-16T13%3A37%3A32Z&sktid=a48cca56-e6da-484e-a814-9c849652bcb3&skoid=aa5ddad1-c91a-4f0a-9aca-e20682cc8969&skv=2019-02-02&sv=2018-11-09&sr=b&sp=r&spr=https%2Chttp&sig=5j4dibeaSsDmEka5c%2B9CKHZhRPdqfClQ0tIh03TWXsM%3D&az=oaivgprodscus",
      "state": "succeeded"
    }
  ]
}
Es ist zu sehen, dass das generierte Ergebnis ein Video aus Bildern ist, das Ergebnis ähnelt dem oben genannten.

Charakter-Generierung Videoaufgabe

Wenn Sie eine Charakter-Generierung Videoaufgabe wünschen, muss zunächst der Parameter character_url mit dem Video-Link übergeben werden, der zur Erstellung des Charakters benötigt wird. Beachten Sie, dass im Video auf keinen Fall echte Menschen erscheinen dürfen, da dies sonst fehlschlägt. Sie können den folgenden Inhalt angeben:
  • character_url: Der Video-Link, der zur Erstellung des Charakters benötigt wird. Beachten Sie, dass im Video auf keinen Fall echte Menschen erscheinen dürfen, da dies sonst fehlschlägt.
Ein Beispiel für die Eingabe sieht wie folgt aus:

Nachdem die Eingabe abgeschlossen ist, wird automatisch der folgende Code generiert:

Der entsprechende Code:
import requests

url = "https://api.acedata.cloud/sora/videos"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "size": "small",
    "duration": 10,
    "orientation": "landscape",
    "prompt": "cat running on the river",
    "character_url": "https://cdn.acedata.cloud/pdidf5.mp4",
    "model": "sora-2",
    "character_end": 3,
    "character_start": 1
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
Wenn Sie auf Ausführen klicken, können Sie sofort ein Ergebnis erhalten, wie folgt:
{
  "success": true,
  "task_id": "d9bf5461-29b5-47fd-be90-1fe9197df259",
  "trace_id": "b7992643-9207-40d6-956b-7577728acc67",
  "data": [
    {
      "id": "sora-2:task_01k8ykrztefavaypw6xanw305b",
      "video_url": "https://filesystem.site/cdn/20251101/bee4eeeb4c4660b46dac4548a1ffbc.mp4",
      "state": "succeeded"
    }
  ]
}
Es ist zu sehen, dass das generierte Ergebnis ein Charakter-Generierung Video ist, das Ergebnis ähnelt dem oben genannten.

Asynchrone Rückmeldung

Da die Sora Videos Generation API relativ lange benötigt, etwa 1-2 Minuten, wird die HTTP-Anfrage bei langer Nichtantwort weiterhin verbunden bleiben, was zu einem zusätzlichen Systemressourcenverbrauch führt. Daher bietet diese API auch Unterstützung für asynchrone Rückmeldungen. Der gesamte Prozess ist: Wenn der Client die Anfrage stellt, gibt er zusätzlich ein Feld callback_url an. Nachdem der Client die API-Anfrage gestellt hat, gibt die API sofort ein Ergebnis zurück, das ein Feld task_id enthält, das die aktuelle Aufgaben-ID darstellt. Wenn die Aufgabe abgeschlossen ist, wird das Ergebnis des generierten Videos in Form von POST JSON an die vom Client angegebene callback_url gesendet, wobei auch das Feld task_id enthalten ist, sodass die Aufgabenergebnisse über die ID verknüpft werden können. Lassen Sie uns anhand eines Beispiels verstehen, wie dies konkret funktioniert. Zunächst ist der Webhook-Rückruf ein Dienst, der HTTP-Anfragen empfangen kann. Entwickler sollten die URL ihres eigenen eingerichteten HTTP-Servers ersetzen. Hier zur Veranschaulichung verwenden wir eine öffentliche Webhook-Beispielwebsite https://webhook.site/, auf der Sie eine Webhook-URL erhalten können, wie im Bild gezeigt: Kopieren Sie diese URL, um sie als Webhook zu verwenden. Das Beispiel hier lautet https://webhook.site/eb238c4f-da3b-47a5-a922-a93aa5405daa. Als nächstes können wir das Feld callback_url auf die oben genannte Webhook-URL setzen und die entsprechenden Parameter eingeben, wie im Bild gezeigt:

Wenn Sie auf Ausführen klicken, können Sie sofort ein Ergebnis erhalten, wie folgt:
{
  "task_id": "b8976e18-32dc-4718-9ed8-1ea090fcb6ea"
}
Nach kurzer Wartezeit können wir unter https://webhook.site/eb238c4f-da3b-47a5-a922-a93aa5405daa das Ergebnis des generierten Songs beobachten, wie im Bild gezeigt: Der Inhalt lautet wie folgt:
```json
{
    "success": true,
    "task_id": "b8976e18-32dc-4718-9ed8-1ea090fcb6ea",
    "trace_id": "fb751e1e-4705-49ea-9fd4-5024b7865ea2",
    "data": [
        {
            "id": "sora-2:task_01k777hjrbfrgs2060q5zvf2a5",
            "video_url": "https://filesystem.site/gptimage/vg-assets/assets%2Ftask_01k777hjrbfrgs2060q5zvf2a5%2Ftask_01k777hjrbfrgs2060q5zvf2a5_genid_b8e2e5d1-a579-49ca-a21c-cb3869685cce_25_10_10_14_15_147334%2Fvideos%2F00000%2Fsrc.mp4?st=2025-10-10T12%3A38%3A49Z&se=2025-10-16T13%3A38%3A49Z&sks=b&skt=2025-10-10T12%3A38%3A49Z&ske=2025-10-16T13%3A38%3A49Z&sktid=a48cca56-e6da-484e-a814-9c849652bcb3&skoid=aa5ddad1-c91a-4f0a-9aca-e20682cc8969&skv=2019-02-02&sv=2018-11-09&sr=b&sp=r&spr=https%2Chttp&sig=p4aMqXqkP%2FI1IhOVGCB9JL8vUUvfNBBF12ESpKhKXOk%3D&az=oaivgprodscus",
            "state": "succeeded"
        }
    ]
}
Es kann gesehen werden, dass im Ergebnis ein task_id-Feld vorhanden ist, und die anderen Felder sind ähnlich wie im obigen Text, durch dieses Feld kann die Zuordnung der Aufgaben erfolgen.

Fehlerbehandlung

Beim Aufruf der API, wenn ein Fehler auftritt, gibt die API den entsprechenden Fehlercode und die Informationen zurück. Zum Beispiel:
  • 400 token_mismatched: Ungültige Anfrage, möglicherweise aufgrund fehlender oder ungültiger Parameter.
  • 400 api_not_implemented: Ungültige Anfrage, möglicherweise aufgrund fehlender oder ungültiger Parameter.
  • 401 invalid_token: Unbefugt, ungültiger oder fehlender Autorisierungstoken.
  • 429 too_many_requests: Zu viele Anfragen, Sie haben das Rate-Limit überschritten.
  • 500 api_error: Interner Serverfehler, etwas ist auf dem Server schiefgelaufen.

Fehlerantwort Beispiel

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "Abruf fehlgeschlagen"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

Fazit

Durch dieses Dokument haben Sie gelernt, wie Sie die Sora Videos Generation API verwenden können, um Videos durch Eingabe von Stichwörtern und Referenzbildern zu generieren. Wir hoffen, dass dieses Dokument Ihnen hilft, die API besser zu integrieren und zu nutzen. Bei Fragen wenden Sie sich bitte jederzeit an unser technisches Support-Team.