Asynchrone Anfragen
Stellen Sie unterstützte Inferenzanfragen in die Warteschlange und rufen Sie deren abgeschlossenes Ergebnis über Partner API ab.
Asynchrone Anfragen
Der asynchrone Model Gate-Modus speichert einen Inferenzauftrag in der dauerhaften MariaDB-Warteschlange und gibt sofort eine Anforderungs-ID zurück. Unabhängig sub2proxy Arbeiter beanspruchen Aufträge in der Warteschlange mit Leases, und aufgegebene Leases können nach einem Neustart des Prozesses wiederhergestellt werden. Das fertige Ergebnis wird aus Partner API gelesen oder an den im Profil konfigurierten Rückruf übermittelt.
Der Async-Modus wird unterstützt für:
POST /v1/chat/completionsPOST /v1/messagesPOST /v1/responsesPOST /v1/images/generations
Asynchrone Anfragen können nicht verwendet werden stream: true.
Warteschlangenanfrage
Fügen Sie die Model Gate-Erweiterung hinzu "async": true auf eine ansonsten gültige Anfrage.
Anfrage
curl https://api.model-gate.com/v1/responses \
-H "Authorization: Bearer mg_live_..." \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.4",
"input": "Write a short release summary.",
"async": true,
"stream": false
}'
Antwort – 202
{
"request_id": "01KZ...",
"status": "queued",
"result_url": "https://p-api.model-gate.com/api/v1/requests/01KZ..."
}
Der async Das Feld wird entfernt, bevor die Anfrage an den Upstream gesendet wird. Ein Modellalias wird in sein kanonisches Modell aufgelöst, bevor der Job in die Warteschlange gestellt wird. Der Worker validiert den Schlüssel erneut und führt ihn über denselben Model Gate-Anforderungs-/Abrechnungskern wie die synchrone Inferenz aus. Warteschlangenzeilen enthalten kein API-Schlüsselgeheimnis. Die native asynchrone Preisgestaltung bleibt unverändert und verwendet nicht den Preiskoeffizienten für Batch-Anfragen.
Bevor ein Mitarbeiter einen Artikel beansprucht, überprüft er den aktuellen Kontostand und die aktuelle rücksetzbare Schlüssel-/Gruppenausgabennutzung in MariaDB. Wenn der Kontostand nicht positiv ist oder ein konfiguriertes Schlüssel-/Gruppenausgabelimit bereits ausgeschöpft ist, bleibt der Artikel bestehen queued und verbraucht keinen Ausführungsversuch. Durch eine spätere Aufladung, eine Zurücksetzung der Nutzung oder eine Erhöhung des Limits wird der Artikel automatisch berechtigt. Model Gate reserviert keine geschätzten Anforderungskosten: Arbeiten, die bereits die Zulassung bestanden haben, dürfen abgeschlossen werden und ihre gesamten tatsächlichen Kosten begleichen, selbst wenn gleichzeitige Arbeiten den Endsaldo negativ machen oder ein Ausgabenlimit leicht überschreiten. Neue Ausführungen werden dann blockiert, bis das Konto wieder berechtigt ist.
Wiederherstellungssemantik
Die dauerhafte Warteschlange bietet mindestens einmalige Wiederherstellung, nicht genau einmalige Ausführung. Wenn ein Worker-Prozess stoppt, nachdem ein Upstream-Anbieter eine Anfrage angenommen hat, Model Gate das asynchrone Ergebnis jedoch dauerhaft speichert, läuft die Lease schließlich ab und ein anderer Worker versucht möglicherweise erneut, dieselbe Model Gate-Anfrage-ID zu verwenden. Die Abrechnung ist vor Doppelbelastung geschützt, aber Anwendungen, die durch Modelltools externe Nebenwirkungen verursachen, sollten diese Nebenwirkungen idempotent machen.
Ergebnis abrufen
Verwenden Sie einen Partner API-Schlüssel, der zum selben Model Gate-Konto gehört.
Anfrage
curl https://p-api.model-gate.com/api/v1/requests/01KZ... \
-H "Authorization: Bearer mg_partner_..."
Antwort – Verarbeitung
{
"data": {
"request_id": "01KZ...",
"status": "processing",
"created_at": "2026-08-05 10:00:00",
"started_at": "2026-08-05 10:00:01",
"completed_at": null,
"expires_at": "2026-08-06 10:00:00"
}
}
Antwort – abgeschlossen
{
"data": {
"request_id": "01KZ...",
"status": "completed",
"response_status": 200,
"response_headers": {
"content-type": ["application/json"]
},
"response": {
"id": "resp_...",
"object": "response",
"status": "completed"
},
"created_at": "2026-08-05 10:00:00",
"started_at": "2026-08-05 10:00:01",
"completed_at": "2026-08-05 10:00:03",
"expires_at": "2026-08-06 10:00:00"
}
}
Der Ergebnisendpunkt gibt den gesamten bis dahin gespeicherten Upstream-Körper zurück expires_at. Es wird eine fremde, abgelaufene oder unbekannte Anforderungs-ID zurückgegeben 404.
Fehler
{
"error": {
"type": "invalid_request_error",
"code": "invalid_async_stream_combination",
"message": "Async requests cannot be streamed."
}
}
Nicht unterstützte Endpunkte kehren zurück async_not_supported.
Rückrufe
Abgeschlossene asynchrone Ergebnisse werden dauerhaft zur Übermittlung an die im Profil konfigurierte Rückruf-URL eingereiht. Die Rückrufzustellung verfügt über eine eigene Worker-/Wiederholungswarteschlange und wartet daher nicht auf eine weitere Modell-API-Anfrage. Die Wartung gleicht außerdem asynchrone Terminalzeilen mit dem Anforderungsverlauf ab und stellt einen fehlenden Abschlussrückruf nach einem Worker-Absturz wieder her. Sehen Rückrufe für Signaturüberprüfung, Wiederholungsversuche und Idempotenzanleitung.