Ideal House
Przejdź do treści

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 zadaniaNaliczanie kredytów
AI 3DBrak stałego publicznego limitu RPM1 zadanie w trakcie. Dodatkowe przesłane zadania czekają w kolejce.Naliczane za zaakceptowane zadanie
Inne API generująceBrak stałego publicznego limitu RPMDo 30 niezakończonych zadań na konto i procesNaliczane 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#

StatusZnaczenieLiczy się jako niezakończone
UnprocessedZadanie zostało zaakceptowane i czeka na uruchomienieTak
ProcessingZadanie jest obecnie w trakcieTak
SuccessZadanie zakończyło się pomyślnieNie
FailedZadanie 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:

  1. Zapisz zwrócony taskId.
  2. Cyklicznie sprawdzaj punkt końcowy wyników co 3-5 sekund.
  3. Traktuj Unprocessed jako czekanie.
  4. Traktuj Processing jako aktywne działanie.
  5. Użyj waitNumber i percentage, 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ą.

KodNazwaZnaczenie
9015TASK_NOT_COMPLETEDKonto 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ładAktywne niezakończone zadaniaPobrane kredyty przy tworzeniu zadania
Prześlij 30 zadań Zmiana mebli3030 x 1 kredyt = 30 kredytów
Prześlij 30 zadań Dekoracja domu z modelType: "Base"3030 x 3 kredytów = 90 kredytów
Prześlij 30 zadań Dekoracja domu z modelType: "Pro"3030 x 10 kredytów = 300 kredytów
Prześlij 10 zadań Krajobraz Flash, 10 Base i 10 Pro3010 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ń.

KodNazwaZnaczenie
5020QUEUE_TASK_OVERFLOWUsługa jest obecnie zajęta. Ponów później.

Jest to tymczasowe. Nie traktuj tego jako trwałego błędu.


Zalecane zachowanie klienta#

  1. Zapisz każdy zwrócony taskId.
  2. Cyklicznie sprawdzaj status zadania.
  3. Prowadź lokalną listę niezakończonych zadań dla konta i procesu.
  4. Usuń zadania z listy niezakończonych, gdy status stanie się Success lub Failed.
  5. Dla procesów innych niż AI-3D, utrzymuj niezakończone zadania na poziomie lub poniżej 30 przed przesłaniem kolejnych.
  6. Jeśli otrzymasz 9015 lub 5020, ponów po opóźnieniu.

Sugerowane zachowanie ponawiania:

SytuacjaZalecane działanie
9015 TASK_NOT_COMPLETEDPoczekaj, aż istniejące zadania z tego samego konta i procesu się zakończą, a następnie ponów.
5020 QUEUE_TASK_OVERFLOWPoczekaj i ponawiaj próby, zwiększając odstępy między nimi.
Zadanie jest UnprocessedKontynuuj cykliczne sprawdzanie; zadanie czeka.
Zadanie jest ProcessingKontynuuj 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.