Zum Hauptinhalt springen
Für Anfragen, die länger als ein paar Sekunden dauern, was bei KI-Anwendungen typisch ist, haben wir ein Warteschlangensystem entwickelt. Dieses System bietet Ihnen eine feingranulare Kontrolle, um Verkehrsspitzen zu bewältigen, Anfragen bei Bedarf abzubrechen und den Status Ihrer Anfrage in der Warteschlange zu überwachen. Es eliminiert auch die Notwendigkeit, lang andauernde HTTP-Anfragen zu behandeln.

Warteschlangen-Endpunkte

Sie können auf alle Warteschlangenfunktionen über die folgenden Endpunkte zugreifen:
EndpunktMethodeBeschreibung
api.port.moda/v1/queue/{modell-id}POSTFügt eine Anfrage zur Warteschlange hinzu
api.port.moda/v1/queue/requests/{request_id}/statusGETRuft den Status einer Anfrage ab
api.port.moda/v1/queue/requests/{request_id}/status/streamGETStreamt den Status bis zur Fertigstellung
api.port.moda/v1/queue/requests/{request_id}GETRuft die Antwort einer Anfrage ab
api.port.moda/v1/queue/requests/{request_id}/cancelPUTBricht eine Anfrage ab
Zum Beispiel, um eine Anfrage mit curl zu senden und sie zur Warteschlange hinzuzufügen:
curl -X POST \
  https://api.port.moda/v1/queue/black-forest-labs/flux-1.1-pro/text-to-image \
  -H "Authorization: Key $PORT_KEY" \
  -d '{"prompt": "Eine von Studio Ghibli inspirierte Küstenstadt mit bunten Häusern, flatternder Wäsche und auf Fensterbänken schlafenden Katzen."}'
Hier ist eine Beispielantwort einschließlich der request_id:
{
  "request_id": "pd_vXW7VwPN2MbTwT8bzpWrYU5Y",
  "response_url": "https://api.port.moda/v1/queue/requests/pd_vXW7VwPN2MbTwT8bzpWrYU5Y",
  "status_url": "https://api.port.moda/v1/queue/requests/pd_vXW7VwPN2MbTwT8bzpWrYU5Y/status",
  "cancel_url": "https://api.port.moda/v1/queue/requests/pd_vXW7VwPN2MbTwT8bzpWrYU5Y/cancel"
}
Die Nutzlast enthält die request_id und bietet URLs zum Überprüfen des Status, zum Abbrechen oder zum Abrufen der Antwort, was Ihren Arbeitsablauf ohne zusätzliche Endpunktentwicklung optimiert.

Anforderungsstatus

Um den Fortschritt Ihrer Anfrage zu überwachen, verwenden Sie den bereitgestellten Endpunkt mit Ihrer eindeutigen Anfrage-ID. Dies ermöglicht es Ihnen, den Status, die Position in der Warteschlange zu verfolgen oder die Antwort abzurufen, sobald sie fertig ist.

Endpunktnutzung

curl -X GET https://api.port.moda/v1/queue/requests/{request_id}/status

Beispielantwort

Wenn sich Ihre Anfrage in der Warteschlange befindet, erhalten Sie eine Antwort wie diese:
{
  "status": "IN_QUEUE",
  "metrics": {},
  "queue_position": 0,
  "response_url": "https://api.port.moda/v1/queue/requests/pd_hvTNHJPSZj4KgtzytfTGsySf",
  "status_url": "https://api.port.moda/v1/queue/requests/pd_hvTNHJPSZj4KgtzytfTGsySf/status",
  "cancel_url": "https://api.port.moda/v1/queue/requests/pd_hvTNHJPSZj4KgtzytfTGsySf/cancel"
}

Mögliche Status

Ihre Anfrage kann sich in einem von drei Zuständen befinden:
  • IN_QUEUE: Zeigt an, dass die Anfrage auf die Verarbeitung wartet.
    • queue_position: Zeigt Ihren Platz in der Warteschlange an.
    • response_url: URL zum Abrufen der Antwort nach Abschluss der Verarbeitung.
  • IN_PROGRESS: Die Anfrage wird gerade verarbeitet.
    • logs: Detaillierte Protokolle (falls aktiviert), die die Verarbeitungsschritte zeigen.
    • response_url: Wo die endgültige Antwort verfügbar sein wird.
  • COMPLETED: Die Verarbeitung ist abgeschlossen.
    • logs: Protokolle, die den gesamten Prozess detailliert beschreiben.
    • response_url: Direkter Link zu Ihrer abgeschlossenen Antwort.

Protokolle aktivieren

Protokolle bieten Einblicke in die Anfrageverarbeitung. Sie sind standardmäßig deaktiviert, können aber mit einem Abfrageparameter aktiviert werden:
curl -X GET https://api.port.moda/v1/queue/requests/{request_id}/status?logs=1
Jeder Protokolleintrag enthält:
  • message: Beschreibung des Ereignisses.
  • level: Schweregrad (z. B. INFO, ERROR).
  • source: Ursprung des Protokolls.
  • timestamp: Zeitpunkt der Protokollgenerierung.

Echtzeitüberwachung

Für kontinuierliche Updates verwenden Sie den Streaming-Endpunkt:
curl -X GET https://api.port.moda/v1/queue/requests/{request_id}/status/stream
Dies bietet Echtzeit-Statusaktualisierungen im text/event-stream-Format, bis die Anfrage abgeschlossen ist.

Anfragen abbrechen

Wenn sich Ihre Anfrage noch in der Warteschlange befindet, können Sie sie mit folgendem Befehl abbrechen:
curl -X PUT https://api.port.moda/v1/queue/requests/{request_id}/cancel

Antworten abrufen

Sobald Ihre Anfrage COMPLETED ist, rufen Sie die Antwort mit folgendem Befehl ab:
curl -X GET https://api.port.moda/v1/queue/requests/{request_id}
Dieser Endpunkt bietet auch Protokolle zur Überprüfung.

Vereinfachte Integration mit dem Port Client

Der Port-Client automatisiert die Statusverfolgung und vereinfacht die App-Entwicklung mit Port-Funktionen.

Ratenbegrenzungen

Um eine faire Nutzung und Systemstabilität zu gewährleisten, unterliegen unsere API-Endpunkte den folgenden Ratenbegrenzungen:
EndpunkttypRatenbegrenzungBurst-Limit
Zur Warteschlange hinzufügen10 Anfragen/Sekunde100 Anfragen/Minute
Alle anderen Endpunkte100 Anfragen/Sekunde1.800 Anfragen/Minute
Wenn Sie diese Grenzen überschreiten, erhalten Sie eine 403 Forbidden-Antwort. Wir empfehlen die Implementierung eines Wiederholungsmechanismus mit exponentiellem Backoff, um diese Fälle zu behandeln.