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 zostanie odrzucone. Sprawdź kod statusu HTTP i pole message, aby zrozumieć, co poszło nie tak.
Format odpowiedzi
Odpowiedź błędu zawiera pojedyncze 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 zadziałało zgodnie z oczekiwaniami, zostanie zwrócony kod statusu 200.
- Name
202 - Accepted- Description
Twoje żądanie zostało zaakceptowane do przetwarzania, ale przetwarzanie nie zostało ukończone. Jest to niewiążąca odpowiedź 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 jeden z parametrów był nieprawidłowo sformatowany.
- Name
401 - Unauthorized- Description
Nie podano prawidłowego klucza API albo podany klucz API nie jest autoryzowany 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 spró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 podasz nieprawidłowe ID, otrzymasz kod statusu 404.
- Name
429 - Too Many Requests- Description
Zbyt wiele żądań trafiło do Meshy API zbyt szybko. Szczegóły znajdziesz w przewodniku Limity szybkości.
- Name
5xx- Description
Kod statusu 5xx wskazuje na błąd serwera. Jeśli go zobaczysz, sprawdź naszą stronę statusu w celu uzyskania więcej informacji i skontaktuj się z nami przez Discord, aby uzyskać pomoc.
Example: 400 Bad Request
{
"message": "Invalid model file extension: .3dm"
}
Błędy zadań
Te błędy występują po utworzeniu zadania i w trakcie 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 zadaniach zakończonych niepowodzeniem. Zobacz Typy błędów poniżej.
- Name
- message
- Type
- string
- Description
Czytelny dla człowieka opis błędu. Zawsze obecny w zadaniach zakończonych niepowodzeniem.
- Name
- code
- Type
- string
- Opcjonalne
- Description
Konkretny 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 tego kodu błędu, zawierającej wskazówki dotyczące rozwiązania. Obecny, gdy obecny jest
code.
Error with details
{
"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"
}
}
Error without details
{
"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 próby.
- Name
invalid_input- Description
Coś jest nie tak z podanymi danymi wejściowymi. Sprawdź pola
codeimessage, aby uzyskać szczegóły, napraw problem i spróbuj ponownie.
- Name
timeout- Description
Przetwarzanie przekroczyło limit czasu. Często jest to przejściowe. Ponów żądanie, a jeśli nadal kończy się niepowodzeniem, 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
Podczas przetwarzania wystąpił błąd wewnętrzny. Ponów żądanie. Jeśli problem będzie się utrzymywać, skontaktuj się z pomocą techniczną, podając identyfikator zadania.
Kody błędów
Gdy pole code jest obecne, identyfikuje konkretny problem, wobec którego można podjąć działanie. Poniżej znajduje się pełna dokumentacja każdego kodu błędu.
image_too_complex
Ten błąd występuje, gdy obraz wejściowy lub prompt opisuje obiekt, który jest zbyt złożony geometrycznie, 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 konstrukcje budynków (np. wielopiętrowe budynki z wieloma oknami i balkonami)
- Wiele odrębnych obiektów na jednym obrazie zamiast pojedynczego obiektu
Przykłady danych wejściowych, które prawdopodobnie są zbyt złożone:




Rozwiązanie:
- Użyj jednego obiektu na obraz. Model działa najlepiej z jednym wyraźnym obiektem. Nie umieszczaj wielu oddzielnych obiektów na tym samym obrazie ani w tym samym prompcie.
- Uprość swój obiekt. 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, kwartały miejskie, wnętrza wypełnione meblami lub krajobrazy prawdopodobnie przekroczą możliwości modelu. Zamiast tego skup się na pojedynczym obiekcie.
- Unikaj gęstych powtarzających się struktur. Obiekty takie jak rusztowania, siatki druciane, wzory kratowe lub stosy wielu małych elementów są częstymi wyzwalaczami.
model_missing_uv
Ten błąd występuje, gdy przesyłasz model do teksturowania z enable_original_uv ustawionym na true, ale model nie ma współrzędnych UV. Współrzędne UV definiują, jak tekstura 2D owija się wokół powierzchni 3D modelu.

Rozwiązanie:
Właściwe rozwiązanie zależy od tego, dlaczego ustawiono enable_original_uv na true:
- Jeśli musisz zachować oryginalny układ UV modelu (np. niestandardowe rozmieszczenie szwów do precyzyjnego mapowania tekstury): model musi mieć prawidłowe współrzędne UV. Przed przesłaniem sprawdź w edytorze UV swojego oprogramowania 3D, czy współrzędne UV istnieją. Pamiętaj, że pliki STL nie mogą przechowywać danych UV, więc zamiast tego użyj GLB, FBX lub OBJ.
- Jeśli nie potrzebujesz konkretnej kontroli UV (albo nie masz pewności): pomiń
enable_original_uvlub ustaw je nafalse. System automatycznie wygeneruje układ UV dla modelu. Automatycznie wygenerowane współrzędne UV są zoptymalizowane pod kątem pokrycia, ale nie będziesz mieć kontroli nad tym, gdzie zostaną 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, aby zapewnić wysoką jakość teksturowania. Często dzieje się tak w przypadku modeli eksportowanych z narzędzi 3D, które generują zastępcze lub zapadnięte UV bez prawidłowego rozwinięcia.

Rozwiązanie:
- Jeśli musisz zachować oryginalny układ UV: ponownie rozwiń UV modelu w swoim oprogramowaniu 3D. Upewnij się, że wyspy UV są prawidłowo rozmieszczone w przestrzeni UV, zamiast być zapadnięte do małego obszaru.
- Jeśli nie potrzebujesz konkretnej kontroli nad UV: pomiń
enable_original_uvlub ustaw go nafalse. System automatycznie wygeneruje nowy układ UV. Kompromis polega na tym, że utracisz oryginalne rozmieszczenie szwów, ale automatycznie wygenerowane UV będą mieć odpowiednie pokrycie do teksturowania.
invalid_input
To jest rezerwowy kod błędu używany, gdy dane wejściowe nie przechodzą walidacji, ale nie ma zastosowania żaden bardziej szczegółowy kod. Pole message zawiera konkretną przyczynę niepowodzenia.
Typowe przyczyny obejmują:
- Puste lub uszkodzone pliki modeli
- Nieobsługiwane warianty formatów plików (np. pliki ASCII FBX, GLB skompresowane meshopt)
- Brak prawidłowych obiektów 3D w przesłanym modelu (np. plik zawiera tylko szkielety, kamery lub światła)
- Treść, która nie przechodzi filtrów bezpieczeństwa
Rozwiązanie: Sprawdź pole message, aby uzyskać szczegółowe informacje o tym, co poszło nie tak. Zweryfikuj, czy pliki wejściowe i parametry odpowiadają wymaganiom punktu końcowego.
moderation_blocked
Ten błąd występuje, gdy Twój prompt lub obrazy referencyjne zostaną odrzucone przez filtry bezpieczeństwa AI. Filtr ocenia łącznie zarówno prompt tekstowy, jak i wszelkie obrazy referencyjne.
Rozwiązanie:
- Przeformułuj swój prompt tekstowy, 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 dlatego, że dane wejściowe są zbyt złożone, aby przetworzyć je w wyznaczonym czasie.
Rozwiązanie:
- Ponów żądanie. Błędy timeout są często przejściowe i ponowna próba może się powieść.
- Uprość dane wejściowe. Jeśli ponowne próby nadal kończą się niepowodzeniem, dane wejściowe mogą być zbyt złożone. Spróbuj zmniejszyć poziom szczegółowości obrazu lub prompt. Zobacz
image_too_complex, aby uzyskać wskazówki dotyczące typów danych wejściowych, które są trudniejsze do przetworzenia.
format_conversion_failed
Ten błąd występuje, gdy wygenerowany model 3D nie mógł zostać przekonwertowany do żądanego formatu wyjściowego. Model został wygenerowany pomyślnie, ale etap konwersji nie powiódł się.
Rozwiązanie:
- Ponów żądanie.
- Wypróbuj inny format wyjściowy. Jeśli określony format nadal kończy się niepowodzeniem, przełącz się na inny format, który odpowiada Twoim potrzebom.
Najlepsze praktyki
- Zaimplementuj logikę ponawiania. W przypadku błędów
timeoutiservice_unavailablezaimplementuj logikę ponawiania z wykładniczym wydłużaniem czasu oczekiwania. - Rejestruj identyfikatory zadań. Zawsze rejestruj identyfikator zadania w celach debugowania. Uwzględnij go podczas kontaktowania się z pomocą techniczną.
- Waliduj dane wejściowe. Przed przesłaniem upewnij się, że obrazy wejściowe i modele spełniają wymagania dotyczące formatu.