lowpoly zostanie wycofany 30 paź 2026. Zmień model przed tymi datami, aby uniknąć błędów żądań. Zobacz wszystkie wycofania

Cykl życia zadania

Dowiedz się, jak zadanie przechodzi od żądania do wyniku, ile zwykle to trwa i jak długo Twój kod powinien na nie czekać.


Jak przebiega zadanie

Żądanie utworzenia zwraca identyfikator zadania bez oczekiwania na jego wykonanie. Zadanie działa następnie w tle, a Ty możesz je śledzić na jeden z trzech sposobów: odpytując jego punkt końcowy GET, otwierając jego punkt końcowy strumieniowy lub otrzymując webhook.

Żądanie utworzenia uruchamia zadanie w stanie PENDING. Pracownik (worker) odbiera je i przechodzi ono do stanu IN_PROGRESS, w którym spędza większość czasu. Kończy się w stanie SUCCEEDED lub FAILED, a status końcowy nigdy się już nie zmienia.
Żądanie utworzenia
PENDING
Oczekiwanie w kolejce
IN_PROGRESS
Generowanie wyniku
SUCCEEDED
Pobierz wynik
FAILED
Kredyty zwrócone

Zadanie rejestruje każdy krok w polach created_at, started_at i finished_at.

Poniższa tabela pokazuje, co powinien zrobić Twój kod przy każdym statusie.

StatusCo powinien zrobić Twój kod
PENDINGKontynuuj oczekiwanie.
IN_PROGRESSŚledź progress: procent ukończonej pracy, od 0 do 100.
SUCCEEDEDPobierz wynik. Meshy przechowuje pliki przez ograniczony czas. Zobacz Przechowywanie zasobów.
FAILEDOdczytaj task_error, a następnie popraw dane wejściowe lub utwórz nowe zadanie. Zobacz Błędy.
CANCELEDPrzestań czekać. Zadanie nie wygeneruje wyniku. Tylko zadania Creative Lab używają tego statusu.

SUCCEEDED, FAILED i CANCELED są statusami końcowymi. Po osiągnięciu przez zadanie jednego z nich jego status nigdy się już nie zmienia.

Z perspektywy Twojego kodu wygląda to tak:

Utwórz zadanie, a następnie odpytuj je, aż się zakończy.
  1. Żądanie: POST/image-to-3d

  2. Odpowiedź: 202{ "result": "<task_id>" }zadanie utworzone

  3. Powtarzaj co kilka sekund
    1. Żądanie: GET/image-to-3d/<task_id>

    2. Odpowiedź: 200{ "status": "IN_PROGRESS","progress": 45 }Retry-After: 5

  4. Żądanie: GET/image-to-3d/<task_id>

  5. Odpowiedź: 200{ "status": "SUCCEEDED","model_urls": { "glb": "…" } }

Jeśli Twoja aplikacja przestanie czekać, zadanie nadal będzie działać. Pobierz je później metodą GET, używając tego samego identyfikatora zadania.

Czasy przetwarzania

Poniższe tabele pokazują mediany czasów dla produkcyjnego ruchu API we wrześniu 2026 roku.

Czas liczony jest od utworzenia zadania do osiągnięcia statusu końcowego. Niemal cały ten czas to przetwarzanie, ponieważ zadanie zwykle pozostaje w stanie PENDING tylko przez kilka sekund. Gdy kolejka jest zapełniona, zadania mogą czekać dłużej, zanim się rozpoczną, a zadania w planach z wyższym priorytetem zwykle rozpoczynają się szybciej.

Czasy poniżej 2 minut podane są w sekundach (s), a dłuższe czasy w minutach (min). Niewspierane oznacza, że API nie oferuje tej opcji dla danego modelu.

Generowanie 3D

APIKonfiguracjameshy-7.1 (latest)meshy-6meshy-6-litemeshy-t2
Tekst na 3D (Podgląd)Tylko siatka75 s90 s45 s10 s
Obraz na 3DTylko siatka75 s90 s40 s4 s
Siatka z teksturami 2K2 min3 min75 s60 s
Siatka z teksturami 4K2,5 min3,5 minNiewspierane80 s
Siatka z teksturami 8K3,5 min4 minNiewspierane2,5 min
Wiele obrazów na 3DTylko siatka65 s2 min30 sNiewspierane
Siatka z teksturami 2K2,5 min3,5 min85 sNiewspierane
Siatka z teksturami 4K3 min4 minNiewspieraneNiewspierane
Siatka z teksturami 8K3,5 min4,5 minNiewspieraneNiewspierane

W przypadku Obraz na 3D i Wiele obrazów na 3D „Tylko siatka” oznacza should_texture: false. Te opcje i dane wejściowe wpływają na czas:

  • Mapy PBR (enable_pbr) dodają od 30 do 60 sekund.
  • Ultra geometria (geometry_resolution: "2k" lub "4k") dodaje do 1 minuty.
  • Przy tych samych ustawieniach bardziej złożone obrazy wejściowe trwają dłużej.

Teksturowanie

APIRozdzielczość teksturyTypowy czas
Tekst na 3D (Refine)2K lub 4K80 s
8K3,5 min
Reteksturowanie2K55 s
4K90 s
8K2,5 min

Generowanie obrazów

APInano-banananano-banana-2nano-banana-proModele GPT Image
Tekst na obraz20 s15 s25 sod 20 do 35 s
Obraz na obraz40 s20 s30 sod 20 do 40 s

Rigging i Animacja

APIKonfiguracjaTypowy czas
Auto-RiggingAutomatyczny rigging40 s
AnimacjaNa żądanie15 s
Tekst na ruchmode prime15 s
mode swift10 s

Przetwarzanie końcowe

APITypowy czas
Remesh2 min
Rozwinięcie UV35 s
Konwertuj7 s
Zmień rozmiar15 s

Druk 3D

APIKonfiguracjaTypowy czas
Analizuj drukowalnośćTylko kontrole siatki1 s
Kontrole siatki i cienkich ścianek10 s
Multi-ColorNa żądanie30 s
Napraw drukowalnośćTylko naprawa siatki10 s
Kontrola cienkich ścianek, ścianki zachowane20 s
Kontrola cienkich ścianek, ścianki pogrubione100 s
Auto SplitNa żądanie70 s

W wersji v2 funkcje Napraw drukowalność i Analizuj drukowalność zawsze wykonują kontrolę cienkich ścianek. W wersji v1 wykonują ją, gdy podasz typ drukarki lub rozmiar wydruku.


Jak długo czekać

Zadanie nadal działa, nawet jeśli Twój kod przestanie czekać. Jeśli Twoje żądanie przekroczy limit czasu, połączenie zostanie przerwane lub strumień się zamknie, zadanie nie kończy się niepowodzeniem ani nie zostaje anulowane.

  • Poczekaj co najmniej 60 minut, licząc od created_at zadania, zanim przestaniesz czekać. Jeśli przestaniesz wcześniej, możesz przeoczyć zadanie, które zakończy się powodzeniem później. Zdarza się to głównie w okresach dużego obciążenia.
  • Zachowaj identyfikator zadania. Możesz ponownie pobrać zadanie w dowolnym momencie. Jeśli po 60 minutach nadal nie ma statusu końcowego, sprawdź je ponownie później. Jeśli stan się utrzymuje, skontaktuj się z pomocą techniczną.
  • Tylko FAILED oznacza, że zadanie zakończyło się niepowodzeniem. Meshy automatycznie zwraca kredyty za nieudane zadania.

Użyj tych wartości w swoim kodzie:

UstawienieZalecana wartość
Timeout żądania utworzenia (POST)60 sekund
Timeout żądania utworzenia (POST) z plikiem model_url powyżej 100 MB120 sekund. Meshy pobiera plik, zanim odpowie.
Timeout żądania statusu (GET)30 sekund
Interwał odpytywaniaNagłówek Retry-After, lub 5 sekund, jeśli go brakuje. Odpytywania liczą się do Twojego limitu szybkości.
Nieudane żądanie statusu (timeout, 429 lub 5xx)Spróbuj ponownie przy następnym odpytaniu. Nie oznacza to, że zadanie zakończyło się niepowodzeniem.
Całkowity czas oczekiwania na zadanieCo najmniej 60 minut od created_at. Nie zaczynaj tego licznika od nowa przy ponownym łączeniu strumienia.
StrumieńStrumień może zamknąć się przed zakończeniem zadania. Jeśli zamknie się bez statusu końcowego, połącz się ponownie lub przełącz się na odpytywanie.

Przy wielu jednoczesnych zadaniach zamiast odpytywania każdego z nich używaj webhooków. Jeśli ostateczne zdarzenie zadania nie nadeszło po upływie około dwukrotności jego typowego czasu, pobierz zadanie z jego punktu końcowego GET.