Błędy
W tym przewodniku omówimy, co się dzieje, gdy coś pójdzie nie tak podczas pracy z Meshy API.
Błędy Żądania
Te błędy są zwracane natychmiast, gdy twoje żądanie API zostaje odrzucone. Sprawdź kod statusu HTTP i pole message, aby zrozumieć, co poszło nie tak.
Format Odpowiedzi
Odpowiedź błędu zawiera jedno pole message opisujące, co poszło nie tak:
- Name
- message
- Type
- string
- Description
Krótki opis błędu.
Kody Statusu
- Name
2xx- Description
Kod statusu 2xx wskazuje na pomyślną odpowiedź.
- Name
200 - OK- Description
Domyślnie, jeśli wszystko działało zgodnie z oczekiwaniami, zostanie zwrócony kod statusu 200.
- Name
202 - Accepted- Description
Twoje żądanie zostało zaakceptowane do przetworzenia, ale przetwarzanie nie zostało zakończone. Jest to odpowiedź niekompletna z Meshy API. Na przykład, żądanie utworzenia nowego zadania zwróci kod statusu 202.
- Name
4xx- Description
Kod statusu 4xx wskazuje na błąd klienta.
- Name
400 - Bad Request- Description
Żądanie było nieakceptowalne, często z powodu braku obowiązkowego parametru lub jednego z parametrów było niepoprawnie sformułowane.
- Name
401 - Unauthorized- Description
Nie podano prawidłowego klucza API lub podany klucz API nie jest uprawniony do dostępu do punktu końcowego Meshy API.
- Name
402 - Payment Required- Description
Niewystarczające środki na koncie powiązanym z podanym kluczem API.
- Name
403 - Forbidden- Description
Dostęp do żądanego zasobu jest zabroniony. Może się to zdarzyć, jeśli próbujesz uzyskać dostęp do Meshy API bezpośrednio z kodu JavaScript po stronie klienta, ponieważ żądania Cross-Origin Resource Sharing (CORS) z przeglądarek nie są dozwolone. Rozważ użycie proxy po stronie serwera dla takich żądań. Więcej szczegółów znajdziesz w przewodniku MDN CORS.
- Name
404 - Not Found- Description
Żądany zasób nie istnieje. Na przykład, gdy próbujesz pobrać zadanie według jego ID, ale podałeś nieprawidłowe ID, otrzymasz kod statusu 404.
- Name
429 - Too Many Requests- Description
Zbyt wiele żądań trafia do Meshy API zbyt szybko. Proszę zapoznać się z przewodnikiem Ograniczenia Szybkości dla szczegółów.
- Name
5xx- Description
Kod statusu 5xx wskazuje na błąd serwera. Jeśli go zobaczysz, sprawdź naszą stronę statusu dla więcej informacji i skontaktuj się z nami przez Discord po pomoc.
Przykład: 400 Bad Request
{
"message": "Invalid model file extension: .3dm"
}
Błędy zadań
Te błędy występują po utworzeniu zadania i podczas jego przetwarzania. Sprawdź obiekt task_error w odpowiedzi zadania, aby uzyskać szczegóły błędu.
Obiekt task_error zawiera następujące pola:
- Name
- type
- Type
- string
- Description
Kategoria błędu. Zawsze obecna w przypadku nieudanych zadań. Zobacz Typy błędów poniżej.
- Name
- message
- Type
- string
- Description
Opis błędu w formie czytelnej dla człowieka. Zawsze obecny w przypadku nieudanych zadań.
- Name
- code
- Type
- string
- Opcjonalne
- Description
Specyficzny kod błędu identyfikujący problem. Obecny, gdy dostępne są dodatkowe szczegóły. Zobacz Kody błędów poniżej.
- Name
- doc_url
- Type
- string
- Opcjonalne
- Description
Link do szczegółowej dokumentacji dla tego kodu błędu, w tym wskazówki dotyczące rozwiązania. Obecny, gdy
codejest obecny.
Błąd ze szczegółami
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"status": "FAILED",
"task_error": {
"type": "invalid_input",
"code": "image_too_complex",
"message": "The uploaded image is too complex for 3D generation.",
"doc_url": "https://docs.meshy.ai/en/api/errors#image-too-complex"
}
}
Błąd bez szczegółów
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"status": "FAILED",
"task_error": {
"type": "server_error",
"message": "An internal error occurred. Please retry."
}
}
Typy błędów
Pole type informuje o ogólnej kategorii niepowodzenia. Użyj go, aby zdecydować o strategii ponowienia.
- Name
invalid_input- Description
Coś jest nie tak z danymi wejściowymi, które podałeś. Sprawdź pola
codeimessagedla szczegółów, napraw problem i spróbuj ponownie.
- Name
timeout- Description
Przetwarzanie przekroczyło limit czasu. Jest to często przejściowe. Spróbuj ponownie wysłać żądanie, a jeśli nadal się nie powiedzie, spróbuj uprościć dane wejściowe.
- Name
service_unavailable- Description
Usługa jest tymczasowo niedostępna. Poczekaj chwilę i spróbuj ponownie.
- Name
server_error- Description
Wystąpił wewnętrzny błąd podczas przetwarzania. Spróbuj ponownie wysłać żądanie. Jeśli problem będzie się powtarzał, skontaktuj się z pomocą techniczną, podając swój identyfikator zadania.
Kody błędów
Gdy pole code jest obecne, identyfikuje konkretny, możliwy do rozwiązania problem. Poniżej znajduje się pełna referencja dla każdego kodu błędu.
image_too_complex
Ten błąd występuje, gdy obraz wejściowy lub prompt opisuje temat, który jest zbyt geometrycznie skomplikowany, aby model generowania 3D mógł go przetworzyć.
Typowe przykłady obejmują:
- Gęste stosy małych obiektów (np. skrzynka pełna owoców, stos książek)
- Skomplikowane powtarzające się wzory (np. struktury kratowe, rusztowania, siatki druciane)
- Złożone struktury budynków (np. wielopiętrowe budynki z wieloma oknami i balkonami)
- Wiele odrębnych obiektów na jednym obrazie zamiast jednego tematu
Przykłady wejść, które prawdopodobnie są zbyt skomplikowane:




Rozwiązanie:
- Użyj jednego obiektu na obraz. Model działa najlepiej z jednym wyraźnym tematem. Nie umieszczaj wielu oddzielnych obiektów na tym samym obrazie lub w prompt.
- Uprość swój temat. Zmniejsz poziom szczegółowości. Na przykład, prosty wazon zamiast wazonu wypełnionego dziesiątkami kwiatów.
- Unikaj promptów na poziomie sceny. Całe budynki, bloki miejskie, wnętrza wypełnione meblami lub krajobrazy prawdopodobnie przekroczą możliwości modelu. Skup się na jednym obiekcie.
- Unikaj gęstych powtarzających się struktur. Tematy takie jak rusztowania, siatki druciane, wzory kratowe lub stosy wielu małych przedmiotów są częstymi wyzwalaczami.
model_missing_uv
Ten błąd występuje, gdy przesyłasz model do teksturowania z ustawionym enable_original_uv na true, ale model nie ma współrzędnych UV. Współrzędne UV definiują, jak 2D tekstura owija się na 3D powierzchni twojego modelu.

Rozwiązanie:
Właściwe rozwiązanie zależy od tego, dlaczego ustawiłeś enable_original_uv na true:
- Jeśli musisz zachować oryginalny układ UV swojego modelu (np. niestandardowe rozmieszczenie szwów dla precyzyjnego mapowania tekstur): twój model musi mieć prawidłowe współrzędne UV. Zweryfikuj istnienie UV w edytorze UV twojego oprogramowania 3D przed przesłaniem. Pamiętaj, że pliki STL nie mogą przechowywać danych UV, więc użyj GLB, FBX lub OBJ zamiast tego.
- Jeśli nie potrzebujesz specyficznej kontroli UV (lub nie jesteś pewien): pomiń
enable_original_uvlub ustaw go nafalse. System automatycznie wygeneruje układ UV dla twojego modelu. Automatycznie wygenerowane UV są zoptymalizowane pod kątem pokrycia, ale nie będziesz mieć kontroli nad tym, gdzie są umieszczone szwy tekstury.
model_insufficient_uv
Ten błąd występuje, gdy model ma współrzędne UV, ale pokrycie UV jest zbyt małe dla jakościowego teksturowania. Zwykle dzieje się to z modelami eksportowanymi z narzędzi 3D, które generują tymczasowe lub złożone UV bez odpowiedniego rozwinięcia.

Rozwiązanie:
- Jeśli musisz zachować swój oryginalny układ UV: ponownie rozwiń UV modelu w swoim oprogramowaniu 3D. Upewnij się, że wyspy UV są odpowiednio rozłożone w przestrzeni UV, a nie złożone w małym obszarze.
- Jeśli nie potrzebujesz specyficznej kontroli UV: pomiń
enable_original_uvlub ustaw nafalse. System automatycznie wygeneruje nowy układ UV. Kompromis polega na utracie oryginalnego rozmieszczenia szwów, ale automatycznie wygenerowane UV będą miały odpowiednie pokrycie dla teksturowania.
invalid_input
To jest domyślny kod błędu, gdy dane wejściowe nie przechodzą walidacji, ale nie ma bardziej szczegółowego kodu, który można zastosować. Pole message zawiera konkretny powód niepowodzenia.
Typowe przyczyny to:
- Puste lub uszkodzone pliki modeli
- Nieobsługiwane warianty formatów plików (np. pliki ASCII FBX, GLB skompresowane za pomocą meshopt)
- Brak prawidłowych obiektów 3D w przesłanym modelu (np. plik zawiera tylko armatury, kamery lub światła)
- Treści, które nie przechodzą przez filtry bezpieczeństwa
Rozwiązanie: Sprawdź pole message, aby uzyskać szczegóły dotyczące tego, co poszło nie tak. Zweryfikuj, czy twoje pliki wejściowe i parametry spełniają wymagania punktu końcowego.
moderation_blocked
Ten błąd występuje, gdy Twój prompt lub obrazy referencyjne są odrzucane przez filtry bezpieczeństwa AI. Filtr ocenia zarówno tekstowy prompt, jak i wszelkie obrazy referencyjne razem.
Rozwiązanie:
- Przekształć swój tekstowy prompt, aby usunąć sugestywne lub wrażliwe opisy.
- Dostosuj obrazy referencyjne, jeśli przedstawiają treści, które mogą uruchomić filtry bezpieczeństwa.
timeout
Ten błąd oznacza, że czas przetwarzania Twojego zadania przekroczył dozwolony limit. Może się to zdarzyć z powodu dużego obciążenia systemu lub zbyt skomplikowanego wejścia do przetworzenia w ramach limitu czasu.
Rozwiązanie:
- Ponów próbę. Timeouty są często przejściowe i ponowienie próby może się powieść.
- Uprość swoje wejście. Jeśli ponowne próby nadal zawodzą, Twoje wejście może być zbyt skomplikowane. Spróbuj zmniejszyć poziom szczegółowości w swoim obrazie lub prompt. Zobacz
image_too_complexw celu uzyskania wskazówek, jakie typy wejść są trudniejsze do przetworzenia.
format_conversion_failed
Ten błąd występuje, gdy wygenerowany model 3D nie mógł zostać przekonwertowany na żądany format wyjściowy. Model został wygenerowany pomyślnie, ale krok konwersji zakończył się niepowodzeniem.
Rozwiązanie:
- Ponów próbę.
- Spróbuj innego formatu wyjściowego. Jeśli konkretny format ciągle zawodzi, przełącz się na inny format, który spełnia Twoje potrzeby.
Najlepsze praktyki
- Zaimplementuj logikę ponawiania. Dla błędów
timeoutiservice_unavailablezaimplementuj logikę ponawiania z wykładniczym opóźnieniem. - Rejestruj identyfikatory zadań. Zawsze rejestruj identyfikator zadania do celów debugowania. Dołącz go, kontaktując się z pomocą techniczną.
- Waliduj dane wejściowe. Upewnij się, że Twoje obrazy wejściowe i modele spełniają wymagania dotyczące formatu przed przesłaniem.