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.
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.PENDINGIN_PROGRESSSUCCEEDEDFAILEDZadanie 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.
| Status | Co powinien zrobić Twój kod |
|---|---|
PENDING | Kontynuuj oczekiwanie. |
IN_PROGRESS | Śledź progress: procent ukończonej pracy, od 0 do 100. |
SUCCEEDED | Pobierz wynik. Meshy przechowuje pliki przez ograniczony czas. Zobacz Przechowywanie zasobów. |
FAILED | Odczytaj task_error, a następnie popraw dane wejściowe lub utwórz nowe zadanie. Zobacz Błędy. |
CANCELED | Przestań 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:
Żądanie: POST/image-to-3d
Odpowiedź: 202{ "result": "<task_id>" }zadanie utworzone
- Powtarzaj co kilka sekund
Żądanie: GET/image-to-3d/<task_id>
Odpowiedź: 200{ "status": "IN_PROGRESS","progress": 45 }Retry-After: 5
Żądanie: GET/image-to-3d/<task_id>
Odpowiedź: 200{ "status": "SUCCEEDED","model_urls": { "glb": "…" } }
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.
Są to typowe czasy, a nie gwarantowane czasy ukończenia. W okresach dużego obciążenia niektóre zadania trwają dłużej i mimo to kończą się powodzeniem. Aby sprawdzić status Meshy, zobacz stronę statusu. Nie używaj tych czasów jako wartości timeout w swoim kodzie. Wartości timeout znajdziesz w sekcji Jak długo czekać.
Generowanie 3D
| API | Konfiguracja | meshy-7.1 (latest) | meshy-6 | meshy-6-lite | meshy-t2 |
|---|---|---|---|---|---|
| Tekst na 3D (Podgląd) | Tylko siatka | 75 s | 90 s | 45 s | 10 s |
| Obraz na 3D | Tylko siatka | 75 s | 90 s | 40 s | 4 s |
| Siatka z teksturami 2K | 2 min | 3 min | 75 s | 60 s | |
| Siatka z teksturami 4K | 2,5 min | 3,5 min | Niewspierane | 80 s | |
| Siatka z teksturami 8K | 3,5 min | 4 min | Niewspierane | 2,5 min | |
| Wiele obrazów na 3D | Tylko siatka | 65 s | 2 min | 30 s | Niewspierane |
| Siatka z teksturami 2K | 2,5 min | 3,5 min | 85 s | Niewspierane | |
| Siatka z teksturami 4K | 3 min | 4 min | Niewspierane | Niewspierane | |
| Siatka z teksturami 8K | 3,5 min | 4,5 min | Niewspierane | Niewspierane |
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
| API | Rozdzielczość tekstury | Typowy czas |
|---|---|---|
| Tekst na 3D (Refine) | 2K lub 4K | 80 s |
| 8K | 3,5 min | |
| Reteksturowanie | 2K | 55 s |
| 4K | 90 s | |
| 8K | 2,5 min |
Generowanie obrazów
| API | nano-banana | nano-banana-2 | nano-banana-pro | Modele GPT Image |
|---|---|---|---|---|
| Tekst na obraz | 20 s | 15 s | 25 s | od 20 do 35 s |
| Obraz na obraz | 40 s | 20 s | 30 s | od 20 do 40 s |
Rigging i Animacja
| API | Konfiguracja | Typowy czas |
|---|---|---|
| Auto-Rigging | Automatyczny rigging | 40 s |
| Animacja | Na żądanie | 15 s |
| Tekst na ruch | mode prime | 15 s |
mode swift | 10 s |
Przetwarzanie końcowe
| API | Typowy czas |
|---|---|
| Remesh | 2 min |
| Rozwinięcie UV | 35 s |
| Konwertuj | 7 s |
| Zmień rozmiar | 15 s |
Druk 3D
| API | Konfiguracja | Typowy czas |
|---|---|---|
| Analizuj drukowalność | Tylko kontrole siatki | 1 s |
| Kontrole siatki i cienkich ścianek | 10 s | |
| Multi-Color | Na żądanie | 30 s |
| Napraw drukowalność | Tylko naprawa siatki | 10 s |
| Kontrola cienkich ścianek, ścianki zachowane | 20 s | |
| Kontrola cienkich ścianek, ścianki pogrubione | 100 s | |
| Auto Split | Na żądanie | 70 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_atzadania, 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
FAILEDoznacza, że zadanie zakończyło się niepowodzeniem. Meshy automatycznie zwraca kredyty za nieudane zadania.
Użyj tych wartości w swoim kodzie:
| Ustawienie | Zalecana wartość |
|---|---|
Timeout żądania utworzenia (POST) | 60 sekund |
Timeout żądania utworzenia (POST) z plikiem model_url powyżej 100 MB | 120 sekund. Meshy pobiera plik, zanim odpowie. |
Timeout żądania statusu (GET) | 30 sekund |
| Interwał odpytywania | Nagłó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 zadanie | Co 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.