Schnellstart
Der native Bildendpunkt arbeitet standardmäßig synchron. Setzen Sie den booleschen Wertasync auf true, um eine Hintergrundaufgabe zu erstellen. Das Beispiel verwendet qwen-image-2.0.
Wie findet man asynchrone Medienmodelle und ruft ihre Schemas ab?
Die Ermittlung erfolgt in zwei Schritten. Rufen Sie zuerst Text-zu-Bild- oder Text-zu-Video-Modelle mit Unterstützung für die asynchronen APIs aus dem öffentlichen Modellkatalog ab. Verwenden Sie anschließend diemodel_id, um das Anfrageschema der Endpunkte des Modells abzurufen.
Modelle mit Unterstützung für die asynchronen APIs auflisten
Der Modellkatalog verwendet dieselbe Datenquelle wie Playground. Nutzen Sietype=image_generation für Text-zu-Bild-Modelle und type=video für Text-zu-Video-Modelle. Mit schema_checked=true enthält die Liste nur Modelle mit veröffentlichtem und geprüftem Anfrageschema.
type akzeptiert derzeit einen Wert. Fragen Sie daher jeden Modelltyp separat ab.
Die Antwort hat die Form {success, message, data}. Für asynchrone Medienintegrationen sind die folgenden Felder in data relevant.
Anfrageschema eines einzelnen Modells abrufen
Unterstützte Felder, Aufzählungswerte und Wertebereiche können je nach Modell variieren. Rufen Sie vor einer Bild- oder Videoanfrage über den folgenden öffentlichen Endpunkt die verfügbaren Endpunkte und Anfrage-JSON-Schemas des gewählten Modells ab.modality den Wert image oder video. Jeder Eintrag im Array endpoints beschreibt ein verfügbares Aufrufprotokoll.
Ein Modell kann sowohl
/ai/v1-Endpunkte als auch OpenAI-kompatible /v1-Endpunkte zurückgeben. OpenAI-kompatible Endpunkte unterstützen die neuesten Modelle möglicherweise noch nicht. Verwenden Sie daher bevorzugt die /ai/v1-Endpunkte. Wählen Sie für die asynchronen Aufgaben-APIs den Eintrag mit dem path /ai/v1/images/generations oder /ai/v1/videos aus und verwenden Sie dessen request.schema. Verlassen Sie sich nicht auf die Position eines Eintrags im Array endpoints.
Die folgenden Befehle extrahieren das Anfrageschema für die beiden asynchronen Aufgabenendpunkte.
404 model_not_found zurück, wenn das Modell nicht existiert oder keine auffindbaren Endpunkte besitzt. Wenn die Endpunktdaten vorübergehend nicht verfügbar sind, wird 500 endpoints_unavailable zurückgegeben.
Wie erstellt man Bildaufgaben?
Synchrone Bilder
Wenn Sieasync weglassen oder auf false setzen, wartet der Endpunkt auf den Abschluss der Generierung und gibt anschließend das Aufgabenobjekt zurück:
GET /ai/v1/images suchen.
Asynchrone Bilder
Wenn Sieasync auf den booleschen Wert true setzen, gibt der Endpunkt sofort ein Aufgabenobjekt zurück und die Generierung wird im Hintergrund fortgesetzt:
GET /ai/v1/images/{id} ab. Nach dem Abschluss können Sie die content_url jedes output-Eintrags direkt anfordern. Diese URL enthält bereits die result_id des jeweiligen Bildes.
async muss in Bildanfragen ein boolescher Wert sein. webhook_url und
webhook_events_filter können nur zusammen mit async: true verwendet
werden.Standardfelder für Bilder
Objekt einer Medienaufgabe
Die dedizierten Endpunkte für Bilder und Videos geben folgende Struktur zurück:
Einträge in
output für Medien:
Statusbeschreibung
Der Client kann alle 15 Sekunden abfragen, bis der Status
completed, failed oder cancelled lautet. Die 15 Sekunden sind eine Empfehlung für das clientseitige Polling und keine Einschränkung des Serverprotokolls.
Wie fragt man Medienaufgaben ab?
Mediendetails abfragen
Medienliste abfragen
Falls die Erstellungsantwort verloren geht, können Sie die Aufgaben-ID über die entsprechende Medienliste wiederfinden:Wie verwendet man einheitliche Aufgabenendpunkte?
Die einheitlichen Aufgabenendpunkte unterstützen folgende Filter:
Details einer einheitlichen Aufgabe:
output-Eintrag einer Medienaufgabe:
/ai/v1/tasks/{id}/content an. Bei Aufgaben mit mehreren Artefakten müssen Sie /ai/v1/tasks/{id}/content/{result_id} anfordern. Ohne Ergebnis-ID wird 400 result_id_required zurückgegeben.
Die einheitlichen Endpunkte für Aufgabenlisten, Details und Inhalte sind nach
dem Bearer Token isoliert, mit dem die Aufgabe erstellt wurde. Andere API Keys
desselben Kontos können die Aufgabe nicht lesen.
Medienergebnisse herunterladen
Bilder herunterladen
Fordern Sie nach Abschluss der Bildaufgabe dieoutput[].content_url jedes Eintrags im Medienaufgabenobjekt an:
/ai/v1/images/{id}/content/{result_id}. Das Medienaufgabenobjekt veröffentlicht result_id nicht separat. Der Client kann direkt content_url verwenden.
Wenn b64_json nicht leer ist, können Sie dieses Feld direkt Base64-decodieren.
Webhooks verwenden
Asynchrone Bilder und Videos unterstützen Webhooks auf Aufgabenebene:webhook_url darf höchstens 512 Zeichen lang sein und nicht auf den lokalen Rechner, ein privates Netzwerk oder eine andere eingeschränkte Adresse verweisen. Wenn Sie webhook_events_filter weglassen, sendet die Plattform completed, failed und cancelled. Bei expliziter Angabe darf das Array weder leer sein noch Duplikate enthalten und muss zusammen mit webhook_url verwendet werden.
Wenn die Anfrage keine webhook_url enthält, versuchen asynchrone Bilder und Videos, die im Konto konfigurierte Standard-Callback-URL zu verwenden. Eine ungültige Standardadresse des Kontos wird ignoriert und verhindert die Erstellung der Aufgabe nicht.
Callback-Anfrage
results ist nur vorhanden, wenn das Ergebnis archiviert wurde. Für den Download ist weiterhin ein Bearer Token erforderlich.
Wiederholungsversuche und Deduplizierung
Die Plattform stellt mindestens einmal zu. Dasselbe Ereignis kann daher mehrfach eintreffen:- HTTP
2xxkennzeichnet einen erfolgreichen Empfang. - HTTP
5xx, Netzwerkfehler oder Zeitüberschreitungen lösen einen erneuten Versuch aus. - Bei HTTP
3xxund4xxerfolgt kein erneuter Versuch. - Es erfolgen höchstens 6 Zustellversuche mit Abständen von 1, 4, 16, 64 und 256 Sekunden.
event_id speichern und beim erneuten Empfang desselben Ereignisses direkt 2xx zurückgeben.
Fehlerantworten und Fehlercodes
Dieser Abschnitt gilt für/ai/v1/images/* und Bildaufgaben. Videofehler finden Sie in der Video-API.
- Fehler der aktuellen Anfrage: Ein HTTP-Status außerhalb von 2xx bedeutet, dass die aktuelle Anfrage zum Erstellen, Abfragen oder Herunterladen fehlgeschlagen ist. Siehe Fehler bei HTTP-Anfragen.
- Fehler bei der Aufgabenausführung: Die Abfrage liefert HTTP 200, die Aufgabe hat jedoch
status=failed. Die Ursache steht im Felderrorder Aufgabe. Siehe Fehler bei der Aufgabenausführung. - Lesefehler beim Ergebnis einer einzelnen Listenzeile: Die Liste liefert HTTP 200, eine Aufgabe enthält jedoch
output_error. Siehe Lesefehler bei einzelnen Listenergebnissen.
message enthalten die englischen Antwortmeldungen. Die Beschreibungen erläutern deren Bedeutung und die erforderlichen Schritte. Für Fehler bei der Parametervalidierung sind allgemeine Meldungen angegeben; die tatsächliche Antwort kann konkrete Felder und Einschränkungen nennen. Clients sollten den Fehlertyp anhand von code bestimmen und sich nicht auf den Abgleich der vollständigen message verlassen.
HTTP-5xx-Fehler melden
Wenn eine Anfrage HTTP
5xx zurückgibt, melden Sie den Fehler und geben Sie error.tid an.Fehler bei HTTP-Anfragen
Die folgenden HTTP-Statuscodes gelten für direkte Fehler der aktuellen Anfrage. Fehler bei der Ausführung einer bereits erstellten Aufgabe finden Sie weiter unten in der Tabelle zu Fehlern bei der Aufgabenausführung.Anfrageparameter und Medieneingaben
- Mediengröße: Bildaufgaben, die die Grenze überschreiten, geben
image_too_largezurück. Die genaue Grenze steht in der Fehlermeldung oder inerror.details.max_bytes. - Gesamte Anfragegröße:
request_too_largebedeutet, dass der HTTP-Anfragetext 32 MiB überschreitet, einschließlich Text, Parametern und der Kodierung eingebetteter Medien. Wird nur eine URL übermittelt, zählt die URL selbst zum Anfragetext; die referenzierte Datei muss weiterhin die Mediengrenzen des Modells einhalten. - Tatsächliche Größe:
error.details.actual_byteswird nur angegeben, wenn die vollständige Größe bestätigt ist. Wird ein Medium über eine URL gelesen und beim Erreichen der Grenze abgebrochen, kann dieses Feld fehlen.
error.details.allowed_mime_types oder die Formatliste in der Fehlermeldung. Falls keine Liste angegeben ist, lesen Sie das Schema des Modells.
Platzhalter in Meldungen
{media_kind}: Der tatsächliche Medientyp. Wenn der Typ bestätigt ist, verwenden auch die Meldungen fürinvalid_media_dataundmedia_url_unreachableden Wertimageodervideo.{max_bytes}: Die Größenbeschränkung in Bytes. Ist die Bildgrenze unbekannt, lautet die AntwortThe image is too large. Reduce the image size and try again.{allowed_formats}: Die Liste zulässiger Formate. Meldungen zu Formatfehlern könnenUse one of: {allowed_formats}.anhängen.
Generierungsanfragen und zurückgegebene Ergebnisse
Konto und Berechtigungen
Dienstverfügbarkeit und Ratenbegrenzung
provider_unavailable weist auf einen eindeutig festgestellten Fehler des Modellanbieters hin. Ein allgemeiner Status 429 oder 4xx allein bestätigt kein Problem mit dem Kontingent, der Inhaltsmoderation oder den Parametern.
Aufgabenabfragen und Ergebnisdownloads
Fehler bei der Aufgabenausführung
Nach erfolgreicher Erstellung einer Aufgabe werden Generierungsfehler durchstatus=failed und das Feld error der Aufgabe gemeldet. Eine erfolgreiche Abfrage liefert weiterhin HTTP 200.
message mit submit a new task. und fordert dazu auf, das Medium vor dem Einreichen einer neuen Aufgabe zu verkleinern.
output_blocked bedeutet eine ausdrückliche Blockierung ohne zurückgegebenes nutzbares Bild; für diesen Versuch fallen keine Generierungskosten an. Für output_policy_violation gelten die bestehenden Abrechnungsregeln für die Inhaltsmoderation. Frühere Kosten entnehmen Sie den Abrechnungsaufzeichnungen.
Lesefehler bei einzelnen Listenergebnissen
Einzelne Zeilen in Bild- und Videoaufgabenlisten könnenoutput_error enthalten:
output=[]. Die ursprünglichen Werte von id, status und error sowie die Paginierung bleiben unverändert; andere lesbare Aufgaben sind nicht betroffen. Prüfen Sie auch bei status=completed das Feld output_error, bevor Sie beurteilen, ob das Ergebnis gelesen werden kann.
Kontaktieren Sie den Support mit output_error.tid. Falls dieses Feld keine tid enthält, geben Sie die Anfrage-ID aus den aktuellen Antwortheadern an. Dieser Fehler ändert weder den Aufgabenstatus noch die Kosten und löst keinen Webhook aus.
Bild- und Videolisten behalten einen bereits ermittelten Wert für expires_at bei. Zeilen mit nicht lesbarer Ausgabe in der einheitlichen Liste /ai/v1/tasks können expires_at=null zurückgeben; für die Ergebnisse gilt weiterhin die ursprüngliche Aufbewahrungsdauer.
Diese Behandlung gilt nur, wenn die Ausgabe einer einzelnen Zeile nicht gelesen werden kann und keine Rückfallmöglichkeit verfügbar ist. Schlägt die Abfrage eines gesamten Stapels in der einheitlichen Aufgaben-API fehl, wird weiterhin ein HTTP-Fehler zurückgegeben; derselbe Fehlertyp beim Lesen von Aufgabendetails liefert weiterhin HTTP 500.
Verwandte Dokumentation: Bild-API · Video-API · Asynchrone Aufgaben