Limit zadań API#
API generujące używają asynchronicznego przetwarzania zadań. Gdy zadanie zostanie pomyślnie utworzone, API zwraca taskId. Użyj punktu końcowego wyników, aby sprawdzić status zadania, postęp, pozycję w kolejce i końcowy wynik.
Ten dokument wyjaśnia publiczne limity zadań dla integracji API, w tym żądania na minutę, niezakończone zadania i sposób naliczania kredytów przy przesłaniu wielu zadań.
Podsumowanie limitów przepustowości#
API generujące nie używają stałego publicznego limitu żądań na minutę dla tworzenia zadań. Praktyczny limit opiera się na liczbie niezakończonych zadań, które konto ma w tym samym czasie.
| Proces | Żądania na minutę | Równoległe / niezakończone zadania | Naliczanie kredytów |
|---|---|---|---|
| AI 3D | Brak stałego publicznego limitu RPM | 1 zadanie w trakcie. Dodatkowe przesłane zadania czekają w kolejce. | Naliczane za zaakceptowane zadanie |
| Inne API generujące | Brak stałego publicznego limitu RPM | Do 30 niezakończonych zadań na konto i proces | Naliczane za zaakceptowane zadanie |
Niezakończone zadania obejmują zarówno zadania w kolejce, jak i zadania w trakcie.
Limit 30 zadań to limit liczby zadań, a nie pakiet kredytów ani darmowa kwota. Każde zaakceptowane zadanie generujące jest naliczane zgodnie z regułami kredytów tego API.
Status zadania#
| Status | Znaczenie | Liczy się jako niezakończone |
|---|---|---|
Unprocessed | Zadanie zostało zaakceptowane i czeka na uruchomienie | Tak |
Processing | Zadanie jest obecnie w trakcie | Tak |
Success | Zadanie zakończyło się pomyślnie | Nie |
Failed | Zadanie nie powiodło się | Nie |
Punkt końcowy wyników może również zwracać waitNumber, który wskazuje pozycję w kolejce dla czekającego zadania. Gdy zadanie jest w trakcie lub zakończone, waitNumber jest zwykle 0.
Zadania AI 3D#
Zadania AI 3D są przetwarzane po jednym naraz.
Możesz przesłać wiele zadań AI 3D i każde pomyślne przesłanie zwraca taskId. Jednak tylko jedno zadanie AI 3D działa jednocześnie. Dodatkowe zadania AI 3D czekają, aż bieżące zadanie się zakończy.
Zalecane zachowanie integracji:
- Zapisz zwrócony
taskId. - Cyklicznie sprawdzaj punkt końcowy wyników co 3-5 sekund.
- Traktuj
Unprocessedjako czekanie. - Traktuj
Processingjako aktywne działanie. - Użyj
waitNumberipercentage, aby wyświetlać postęp użytkownikom.
Inne zadania generujące#
Dla procesów generujących innych niż AI 3D, każde konto może mieć do 30 niezakończonych zadań dla tego samego procesu.
Jest to limit na poziomie konta. Jeśli pod tym samym kontem utworzono wiele kluczy API, dzielą ten sam limit.
Nie oznacza to, że wszystkie 30 zadań działa jednocześnie. Część może oczekiwać, a część być wykonywana. Limit obejmuje obie grupy.
Gdy konto ma już 30 niezakończone zadania dla procesu, nowe przesłania zadań dla tego procesu mogą być tymczasowo odrzucane, dopóki istniejące zadania się nie zakończą.
| Kod | Nazwa | Znaczenie |
|---|---|---|
9015 | TASK_NOT_COMPLETED | Konto osiągnęło limit niezakończonych zadań dla tego procesu. Ponów po zakończeniu istniejących zadań. |
Kredyty i niezakończone zadania#
Kredyty są pobierane, gdy zadanie generujące zostanie pomyślnie utworzone. Jeśli zadanie ostatecznie nie powiodło się, pobrane kredyty są automatycznie zwracane.
Limit niezakończonych zadań nie zmienia kosztu kredytów każdego zadania. Jeśli prześlesz wiele zadań, każde zaakceptowane zadanie jest naliczane osobno.
Przykłady:
| Przykład | Aktywne niezakończone zadania | Pobrane kredyty przy tworzeniu zadania |
|---|---|---|
| Prześlij 30 zadań Zmiana mebli | 30 | 30 x 1 kredyt = 30 kredytów |
Prześlij 30 zadań Dekoracja domu z modelType: "Base" | 30 | 30 x 3 kredytów = 90 kredytów |
Prześlij 30 zadań Dekoracja domu z modelType: "Pro" | 30 | 30 x 10 kredytów = 300 kredytów |
Prześlij 10 zadań Krajobraz Flash, 10 Base i 10 Pro | 30 | 10 x 1 + 10 x 3 + 10 x 10 = 140 kredytów |
Pełna tabela kredytów znajduje się w Referencja pobierania kredytów.
Cykliczne sprawdzanie punktu końcowego wyników nie tworzy nowego zadania generującego i nie jest liczone jako niezakończone zadanie.
Tymczasowe odpowiedzi o zajętości usługi#
W niektórych przypadkach nowe przesłania zadań mogą być tymczasowo odrzucane, ponieważ usługa jest zajęta. Może się to zdarzyć nawet, jeśli Twoje konto ma mniej niż 30 niezakończonych zadań.
| Kod | Nazwa | Znaczenie |
|---|---|---|
5020 | QUEUE_TASK_OVERFLOW | Usługa jest obecnie zajęta. Ponów później. |
Jest to tymczasowe. Nie traktuj tego jako trwałego błędu.
Zalecane zachowanie klienta#
- Zapisz każdy zwrócony
taskId. - Cyklicznie sprawdzaj status zadania.
- Prowadź lokalną listę niezakończonych zadań dla konta i procesu.
- Usuń zadania z listy niezakończonych, gdy status stanie się
SuccesslubFailed. - Dla procesów innych niż AI-3D, utrzymuj niezakończone zadania na poziomie lub poniżej 30 przed przesłaniem kolejnych.
- Jeśli otrzymasz
9015lub5020, ponów po opóźnieniu.
Sugerowane zachowanie ponawiania:
| Sytuacja | Zalecane działanie |
|---|---|
9015 TASK_NOT_COMPLETED | Poczekaj, aż istniejące zadania z tego samego konta i procesu się zakończą, a następnie ponów. |
5020 QUEUE_TASK_OVERFLOW | Poczekaj i ponawiaj próby, zwiększając odstępy między nimi. |
Zadanie jest Unprocessed | Kontynuuj cykliczne sprawdzanie; zadanie czeka. |
Zadanie jest Processing | Kontynuuj cykliczne sprawdzanie; zadanie działa. |
Potrzebujesz wyższej przepustowości?#
Jeśli standardowy limit 30 niezakończonych zadań na konto i proces nie spełnia Twoich potrzeb integracji, skontaktuj się z nami pod adresem [email protected]. Możemy przeanalizować Twój przypadek użycia i omówić opcje wyższej przepustowości lub dedykowanego rozwiązania.