Skip to main content
AIHubMix bietet drei Gruppen von Aufgabenendpunkten: Bilder verwenden /ai/v1/images, Videos verwenden /ai/v1/videos und einheitliche Aufgabendatensätze verwenden /ai/v1/tasks.
  • Die Bildgenerierung erfolgt standardmäßig synchron und mit async: true asynchron.
  • Die Videogenerierung erfolgt immer asynchron.
  • Über die Detailendpunkte für Bilder und Videos erhalten Sie den aktuellen Status einer Medienaufgabe.
  • /ai/v1/tasks bietet eine einheitliche, schreibgeschützte Ansicht für Bild-, Video- und LLM-Aufgaben.
Wenn ein Doubao-Seedance-Video Assets realer Personen referenzieren soll, schließen Sie vor dem Erstellen der Videoaufgabe die persönliche Bestätigung und die Asset-Vorbereitung gemäß dem Leitfaden zu Doubao-Assets realer Personen ab.

Videotutorial: Asynchrone Aufgaben

Erläutert den Gesamtmechanismus asynchroner Aufgaben und zeigt den vollständigen Aufrufablauf am Beispiel einer asynchronen Bildgenerierung.

Asynchrone Aufgaben in der Konsole aktivieren

Aktivieren Sie die Funktion für asynchrone Aufgaben für Ihr Konto, bevor Sie die Medienendpunkte unter /ai/v1 verwenden.
Ist die Funktion für asynchrone Aufgaben nicht aktiviert, geben Anfragen zum Erstellen von Bild- und Videoaufgaben 403 async_not_enabled zurück.

Schnellstart

Das folgende Beispiel erstellt mit wan2.6-t2v ein Video. Dieses Modell akzeptiert duration und size; die gültigen Felder können sich je nach Modell unterscheiden.

Wie wählt man zwischen den drei Endpunktgruppen?

Die Base URL lautet https://aihubmix.com. Die Authentifizierung erfolgt per Bearer Token:
Die Modelllisten- und Modell-Schema-Endpunkte sind öffentlich und benötigen kein Bearer Token. Alle anderen Endpunkte erfordern eine Authentifizierung.
/ai/v1/tasks bietet keinen Endpunkt zum Erstellen von Aufgaben. Bilder und Videos müssen über die jeweiligen Medienendpunkte erstellt werden; LLM-Wiederherstellungsaufgaben speichert die Plattform nach einem Clientabbruch automatisch.

Unterschied zwischen Medienendpunkten und einheitlichen Aufgabenendpunkten

Die Detailendpunkte für Medien und die einheitlichen Aufgabenendpunkte geben dieselben Felder auf oberster Ebene zurück. Die output-Einträge und das Abfrageverhalten unterscheiden sich jedoch: Fragen Sie den Generierungsstatus von Medien daher über den jeweiligen Detailendpunkt für Bilder oder Videos ab. Verwenden Sie /ai/v1/tasks, wenn Sie Aufgaben einheitlich filtern, Ergebnis-Metadaten lesen oder eine LLM-Antwort wiederherstellen möchten.

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 die model_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 Sie type=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.
Beide Anfragen verwenden denselben Endpunkt. Der Filter 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.
Die Antwort enthält für 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.
Der Endpunkt gibt 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.

Unterstützte Modelle und Felder

Die Bild- und Videoprotokolle definieren modellübergreifende Standardfelder. Jedes Modell schränkt Felder, Aufzählungswerte und Wertebereiche jedoch gemäß seinen tatsächlichen Fähigkeiten ein. Rufen Sie vor einer Anfrage die aktuellen Beschränkungen über den Modell-Schema-Endpunkt ab. Beispiele:
  • wan2.6-t2v unterstützt duration, size und seed, akzeptiert jedoch weder resolution, aspect_ratio, frame_images, input_references noch generate_audio.
  • qwen-image-2.0 unterstützt n, size, seed, negative_prompt, image und images, akzeptiert jedoch weder aspect_ratio noch mask.
Die Menge der Standardfelder bedeutet nicht, dass jedes Modell alle Felder unterstützt. Wenn Sie ein vom aktuellen Modell nicht unterstütztes Feld übergeben, wird ein Parameterfehler zurückgegeben.

Modelle für die Wiederherstellung unterbrochener LLM-Antworten

Derzeit werden folgende Modelle unterstützt:
  • gpt-5.6-sol
  • gpt-5.5-pro
  • gpt-5.4-pro
  • gpt-5.2-pro
  • claude-fable-5
  • claude-opus-5
Der unterstützte Umfang kann sich ändern. Maßgeblich ist die Liste auf dieser Seite. Für die Wiederherstellung nach einem Abbruch muss außerdem die Funktion für asynchrone Aufgaben für das aktuelle Konto aktiviert sein. Ist eine dieser Bedingungen nicht erfüllt, wird die ursprüngliche LLM-Anfrage weiterhin normal ausgeführt, nach einem Clientabbruch aber keine Wiederherstellungsaufgabe gespeichert.

Wie erstellt man Bildaufgaben?

Synchrone Bilder

Wenn Sie async weglassen oder auf false setzen, wartet der Endpunkt auf den Abschluss der Generierung und gibt anschließend das Aufgabenobjekt zurück:
Auch synchrone Bildaufgaben werden als Aufgabendatensatz gespeichert. Wird die Clientverbindung unterbrochen oder geht die Erstellungsantwort verloren, können Sie die entsprechende Aufgabe über GET /ai/v1/images suchen.

Asynchrone Bilder

Wenn Sie async auf den booleschen Wert true setzen, gibt der Endpunkt sofort ein Aufgabenobjekt zurück und die Generierung wird im Hintergrund fortgesetzt:
Fragen Sie asynchrone Bildaufgaben mit 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


Wie erstellt man Videoaufgaben?

Videoanfragen werden immer asynchron ausgeführt und lassen sich mit Prefer: wait nicht in synchrones Warten umwandeln. Das Standardprotokoll verwendet für duration eine ganze Zahl in Sekunden:

Standardfelder für Videos

Struktur eines input_references-Eintrags:
type kann image_url, video_url oder audio_url sein. Struktur eines frame_images-Eintrags:
frame_type kann first_frame oder last_frame sein.

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

Die Detailendpunkte für Medien können einen aktualisierten Aufgabenstatus zurückgeben. Verwenden Sie zum Polling von Medien daher den jeweiligen Detailendpunkt für Bilder oder Videos.

Medienliste abfragen

Falls die Erstellungsantwort verloren geht, können Sie die Aufgaben-ID über die entsprechende Medienliste wiederfinden:
Medienlisten geben eine Momentaufnahme zum Abfragezeitpunkt zurück und aktualisieren den Aufgabenstatus nicht aktiv.

Wie verwendet man einheitliche Aufgabenendpunkte?

Die einheitlichen Aufgabenendpunkte unterstützen folgende Filter:
Details einer einheitlichen Aufgabe:
Einheitlicher output-Eintrag einer Medienaufgabe:
Fordern Sie bei einem einzelnen Artefakt direkt /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 die output[].content_url jedes Eintrags im Medienaufgabenobjekt an:
Der Medienpfad zum Herunterladen eines Bildes lautet /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.

Videos herunterladen

Ergebnisse können ablaufen und einer Begrenzung der Downloadanzahl unterliegen. Nach Ablauf wird 410 artifact_expired zurückgegeben, bei Überschreitung der Downloadbegrenzung 429 too_many_downloads.

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 2xx kennzeichnet einen erfolgreichen Empfang.
  • HTTP 5xx, Netzwerkfehler oder Zeitüberschreitungen lösen einen erneuten Versuch aus.
  • Bei HTTP 3xx und 4xx erfolgt kein erneuter Versuch.
  • Es erfolgen höchstens 6 Zustellversuche mit Abständen von 1, 4, 16, 64 und 256 Sekunden.
Der Empfänger sollte event_id speichern und beim erneuten Empfang desselben Ereignisses direkt 2xx zurückgeben.
Webhooks auf Aufgabenebene besitzen keinen eigenen Signaturschlüssel. Wenn Sie eine Signaturprüfung benötigen, konfigurieren Sie ein Webhook-Abonnement auf Kontoebene und behalten Sie die Abfrage der Aufgabendetails als Bestätigung des Ergebnisses bei.

Funktionsweise der Wiederherstellung unterbrochener LLM-Antworten

Mit der Wiederherstellung unterbrochener LLM-Antworten können Sie die endgültige Antwort nach einer Trennung der Clientverbindung abrufen. Anfrageverfahren, Streaming-Verhalten und Antwortformat bleiben unverändert. Zu Beginn der Anfrage wird auch keine Aufgaben-ID vorab zurückgegeben. Folgende Bedingungen müssen gleichzeitig erfüllt sein: Die Plattform erstellt nur dann eine Wiederherstellungsaufgabe, wenn sie erkennt, dass eine Antwort nicht vollständig zugestellt wurde und die Clientverbindung bereits getrennt ist. Dabei speichert sie das endgültige JSON oder SSE. Für LLM-Anfragen, die normal abgeschlossen und vollständig an den Client zugestellt werden, wird keine Wiederherstellungsaufgabe erstellt. LLM-Antwortheader enthalten X-Aihubmix-Request-Id. Der Client sollte diesen Wert so früh wie möglich speichern, damit sich die entsprechende Anfrage in der Konsole finden lässt. Die öffentliche Aufgaben-API kann derzeit nicht nach Anfrage-ID filtern. Sie können die neuesten LLM-Aufgaben nach Modell und Erstellungszeit abfragen:
Der einheitliche output-Eintrag einer LLM-Aufgabe enthält type=response, content_type, content_url und truncated. GET /ai/v1/tasks/{id}/content gibt das gespeicherte ursprüngliche JSON oder SSE zurück.
Wiederherstellungsaufgaben für unterbrochene LLM-Antworten senden derzeit keine Webhooks auf Aufgabenebene. Ein Clientabbruch hält die weitere Verarbeitung der Anfrage durch die Plattform nicht an. Der Aufruf wird weiterhin nach den Regeln des ursprünglichen Endpunkts abgerechnet.

Fehlerantworten und Fehlercodes

Dieser Abschnitt gilt für /ai/v1/images/*, /ai/v1/videos/* und Anfragen an /ai/v1/tasks/*, die als Bild- oder Videoaufgaben erkannt wurden. Für LLM-Aufgaben bleibt der bisherige Fehlervertrag bestehen. Abfragen ohne angegebenen Medientyp, für die noch keine Aufgabe abgerufen wurde, verwenden weiterhin den allgemeinen Fehlervertrag.
  • 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 Feld error der 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.
Die Spalten 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

Größenbeschränkungen
  • Mediengröße: Bildaufgaben, die die Grenze überschreiten, geben image_too_large zurück; andere Medienaufgaben geben media_too_large zurück. Videoaufgaben verwenden media_too_large auch beim Hochladen von Referenzbildern. Die genaue Grenze steht in der Fehlermeldung oder in error.details.max_bytes.
  • Gesamte Anfragegröße: request_too_large bedeutet, 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_bytes wird 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.
Unterstützte Formate Die unterstützten Formate hängen vom gewählten Modell ab. Prüfen Sie zuerst 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ür invalid_media_data und media_url_unreachable den Wert image oder video.
  • {max_bytes}: Die Größenbeschränkung in Bytes. Ist die Bildgrenze unbekannt, lautet die Antwort The image is too large. Reduce the image size and try again.
  • {allowed_formats}: Die Liste zulässiger Formate. Meldungen zu Formatfehlern können Use 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 durch status=failed und das Feld error der Aufgabe gemeldet. Eine erfolgreiche Abfrage liefert weiterhin HTTP 200.
Fehler bei Medieneingaben können auch in fehlgeschlagenen Aufgaben erscheinen. Die Codes haben dieselbe Bedeutung wie in der obigen Tabelle zu Medieneingaben; erfolgreiche Abfragen liefern weiterhin HTTP 200. Bei Fehlern zur Mediengröße endet 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önnen output_error enthalten:
Dieses Feld zeigt an, dass die Ausgabe dieser Zeile bei der aktuellen Anfrage nicht gelesen werden konnte. Die Liste liefert weiterhin HTTP 200 und für diese Zeile 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. 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. Bild- und Videolisten behalten eine bereits ermittelte Ablaufzeit bei. 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

Vollständiges Videobeispiel


Häufig gestellte Fragen

Sollte eine Medienaufgabe über /ai/v1/tasks/{id} oder den Detailendpunkt für Medien abgefragt werden? Verwenden Sie zum Polling des Generierungsstatus den Detailendpunkt für Medien: /ai/v1/images/{id} für Bilder und /ai/v1/videos/{id} für Videos. /ai/v1/tasks/{id} gibt eine schreibgeschützte Momentaufnahme zurück. Warum verursacht seconds in einer Videoanfrage einen Parameterfehler? Das Standardprotokoll von /ai/v1/videos verwendet für duration eine ganze Zahl in Sekunden. Die konkret zulässigen Werte hängen von den unterstützten Parametern des jeweiligen Modells ab. Warum verursacht resolution bei einigen Videomodellen einen Parameterfehler? Das Standardprotokoll für Videos enthält resolution und size, doch das konkrete Modell kann die verfügbaren Felder einschränken. wan2.6-t2v verwendet beispielsweise size und akzeptiert resolution nicht. Wie lässt sich eine Medienaufgabe wiederfinden, wenn die Erstellungsantwort verloren gegangen ist? Rufen Sie für Bilder GET /ai/v1/images und für Videos GET /ai/v1/videos auf. Die Listen unterstützen die Parameter after, limit und order für die Seitennavigation. Warum unterscheiden sich die output-Felder der beiden Detailendpunkte? Der Detailendpunkt für Medien stellt vereinfachte Felder für den direkten Download bereit. Der einheitliche Aufgabenendpunkt liefert zusätzlich result_id und content_type sowie truncated für LLM-Archive. Was ist zu tun, wenn kein Webhook empfangen wurde? Stellen Sie sicher, dass die Callback-URL öffentlich erreichbar ist und zeitnah 2xx zurückgibt. Fragen Sie anschließend den endgültigen Status über den Detailendpunkt für Medien ab.
Zuletzt aktualisiert: 2026-08-12