API-Aufgabenlimit#
Generierungs-APIs verarbeiten Aufgaben asynchron. Bei erfolgreicher Aufgabenerstellung gibt die API eine taskId zurück. Verwenden Sie den Ergebnis-Endpunkt, um Aufgabenstatus, Fortschritt, Warteschlangenposition und endgültige Ausgabe zu prüfen.
Dieses Dokument erläutert die öffentlichen Aufgabenlimits für API-Integrationen, einschließlich Anfragen pro Minute, anstehender Jobs und der Abbuchung von Credits bei der Einreichung mehrerer Aufgaben.
Zusammenfassung der Rate-Limits#
Die Generierungs-APIs verwenden kein festes öffentliches Anfragen-pro-Minute-Limit für die Aufgabenerstellung. Das praktische Limit basiert darauf, wie viele offene Jobs ein Konto gleichzeitig hat.
| Workflow | Anfragen pro Minute | Gleichzeitige / unvollendete Jobs | Kreditabrechnung |
|---|---|---|---|
| AI 3D | Kein festes öffentliches RPM-Limit | 1 laufender Auftrag gleichzeitig. Weitere eingereichte Aufträge warten in der Warteschlange. | Abrechnung pro angenommener Aufgabe |
| Andere Generierungs-APIs | Kein festes öffentliches RPM-Limit | Bis zu 30 offene Jobs pro Konto und Workflow | Abgerechnet pro angenommene Aufgabe |
Offene Jobs umfassen sowohl wartende als auch laufende Jobs.
Das 30-Job-Limit ist ein Aufgabenlimit, kein Credit-Paket oder kostenloses Kontingent. Jede angenommene Generierungsaufgabe wird gemäß den Credit-Regeln dieser API abgerechnet.
Aufgabenstatus#
| Status | Bedeutung | Zählt als offen |
|---|---|---|
Unprocessed | Die Aufgabe wurde akzeptiert und wartet auf Ausführung | Ja |
Processing | Die Aufgabe läuft gerade | Ja |
Success | Die Aufgabe wurde erfolgreich abgeschlossen | Nein |
Failed | Die Aufgabe ist fehlgeschlagen | Nein |
Der Ergebnis-Endpunkt kann auch waitNumber zurückgeben, was die Warteschlangenposition für eine wartende Aufgabe angibt. Wenn eine Aufgabe ausgeführt wird oder abgeschlossen ist, ist waitNumber in der Regel 0.
AI 3D-Aufgaben#
AI 3D-Aufgaben werden nacheinander verarbeitet.
Sie können mehrere AI 3D-Aufgaben einreichen, und jede erfolgreiche Einreichung gibt eine taskId zurück. Allerdings läuft nur eine AI 3D-Aufgabe gleichzeitig. Zusätzliche AI 3D-Aufgaben warten, bis die aktuelle Aufgabe abgeschlossen ist.
Empfohlenes Integrationsverhalten:
- Speichern Sie die zurückgegebene
taskId. - Fragen Sie den Ergebnis-Endpunkt alle 3-5 Sekunden ab.
- Betrachten Sie
Unprocessedals wartend. - Betrachten Sie
Processingals aktiv laufend. - Verwenden Sie
waitNumberundpercentage, um den Nutzern den Fortschritt anzuzeigen.
Andere Generierungsaufgaben#
Für andere Generierungsworkflows als AI 3D kann jedes Konto bis zu 30 offene Aufträge für denselben Workflow haben.
Dies ist ein Kontolimit. Wenn mehrere API-Schlüssel unter demselben Konto erstellt werden, teilen sie dasselbe Limit.
Dies bedeutet nicht immer, dass alle 30-Jobs genau im selben Moment laufen. Einige Jobs können warten, andere laufen. Das Limit zählt beide.
Wenn das Konto bereits 30 offene Jobs für einen Workflow hat, können neue Aufgabeinreichungen für diesen Workflow vorübergehend abgelehnt werden, bis die bestehenden Jobs abgeschlossen sind.
| Code | Name | Bedeutung |
|---|---|---|
9015 | TASK_NOT_COMPLETED | Das Konto hat das Limit für offene Jobs für diesen Workflow erreicht. Wiederholen Sie den Versuch, nachdem bestehende Jobs abgeschlossen sind. |
Credits und offene Jobs#
Credits werden abgezogen, wenn eine Generierungsaufgabe erfolgreich erstellt wird. Wenn die Aufgabe letztendlich fehlschlägt, werden die abgezogenen Credits automatisch erstattet.
Das Limit für offene Jobs ändert nicht die Credit-Kosten jeder Aufgabe. Wenn Sie mehrere Aufgaben einreichen, wird jede angenommene Aufgabe separat abgerechnet.
Beispiele:
| Beispiel | Aktive offene Jobs | Bei Aufgabenerstellung abgezogene Credits |
|---|---|---|
| 30 Aufgaben zum Ändern von Möbeln einreichen | 30 | 30 × 1 Guthabeneinheit = 30 Guthabeneinheiten |
30 Aufgaben zur Raumdekoration mit modelType: "Base" einreichen | 30 | 30 × 3 Guthabeneinheiten = 90 Guthabeneinheiten |
30 Aufgaben zur Raumdekoration mit modelType: "Pro" einreichen | 30 | 30 × 10 Guthabeneinheiten = 300 Guthabeneinheiten |
10 Aufgaben zur Gartengestaltung mit Flash, 10 mit Base und 10 mit Pro einreichen | 30 | 10 × 1 + 10 × 3 + 10 × 10 = 140 Guthabeneinheiten |
Die vollständige Tabelle finden Sie in der Referenz zum Guthabenverbrauch.
Das Abfragen des Ergebnis-Endpunkts erstellt keine neue Generierungsaufgabe und zählt nicht als offener Auftrag.
Vorübergehende "Service besetzt"-Antworten#
In einigen Fällen können neue Aufgabeinreichungen vorübergehend abgelehnt werden, weil der Service beschäftigt ist. Dies kann auch passieren, wenn Ihr Konto weniger als 30 offene Jobs hat.
| Code | Name | Bedeutung |
|---|---|---|
5020 | QUEUE_TASK_OVERFLOW | Der Service ist derzeit beschäftigt. Versuchen Sie es später erneut. |
Dies ist vorübergehend. Behandeln Sie dies nicht als dauerhaften Fehler.
Empfohlenes Client-Verhalten#
- Speichern Sie jede zurückgegebene
taskId. - Prüfen Sie den Aufgabenstatus regelmäßig.
- Führen Sie eine lokale Liste offener Jobs pro Konto und Workflow.
- Entfernen Sie Jobs aus der offenen Liste, wenn der Status
SuccessoderFailedwird. - Für Nicht-AI-3D-Workflows halten Sie offene Jobs bei oder unter 30, bevor Sie weitere einreichen.
- Wenn Sie
9015oder5020erhalten, wiederholen Sie den Versuch nach einer Verzögerung.
Vorgeschlagenes Wiederholungsverhalten:
| Situation | Empfohlene Aktion |
|---|---|
9015 TASK_NOT_COMPLETED | Warten Sie, bis bestehende Jobs desselben Kontos und Workflows abgeschlossen sind, und wiederholen Sie dann. |
5020 QUEUE_TASK_OVERFLOW | Warten und mit Backoff wiederholen. |
Aufgabe ist Unprocessed | Weiterhin abfragen; die Aufgabe wartet. |
Aufgabe ist Processing | Weiterhin abfragen; die Aufgabe läuft. |
Benötigen Sie höhere Durchsatzkapazität?#
Falls das Standardlimit von 30 offenen Aufträgen pro Konto und Workflow Ihre Integrationsanforderungen nicht erfüllt, kontaktieren Sie uns unter [email protected]. Wir können Ihren Anwendungsfall prüfen und Optionen für höheren Durchsatz oder eine individuelle Vereinbarung besprechen.