Помилки
У цьому посібнику ми поговоримо про те, що відбувається, коли щось йде не так під час роботи з Meshy API.
Помилки запиту
Ці помилки повертаються негайно, коли ваш API запит відхиляється. Перевірте HTTP код стану та поле message, щоб зрозуміти, що пішло не так.
Формат відповіді
Відповідь з помилкою містить одне поле message, яке описує, що пішло не так:
- Name
- message
- Type
- string
- Description
Короткий опис помилки.
Коди стану
- Name
2xx- Description
Код стану 2xx вказує на успішну відповідь.
- Name
200 - OK- Description
За замовчуванням, якщо все працює як очікувалося, буде повернуто код стану 200.
- Name
202 - Accepted- Description
Ваш запит прийнято для обробки, але обробка ще не завершена. Це неостаточна відповідь від Meshy API. Наприклад, запит на створення нового завдання поверне код стану 202.
- Name
4xx- Description
Код стану 4xx вказує на помилку клієнта.
- Name
400 - Bad Request- Description
Запит був неприйнятним, часто через відсутність обов'язкового параметра або один з параметрів був некоректним.
- Name
401 - Unauthorized- Description
Не надано дійсний API-ключ або наданий API-ключ не має дозволу на доступ до кінцевої точки Meshy API.
- Name
402 - Payment Required- Description
Недостатньо коштів на рахунку, пов'язаному з наданим API-ключем.
- Name
403 - Forbidden- Description
Доступ до запитуваного ресурсу заборонено. Це може статися, якщо ви намагаєтеся отримати доступ до Meshy API безпосередньо з JavaScript-коду на стороні клієнта, оскільки запити Cross-Origin Resource Sharing (CORS) з браузерів не дозволені. Розгляньте можливість використання серверного проксі для таких запитів. Для отримання додаткової інформації дивіться MDN CORS guide.
- Name
404 - Not Found- Description
Запитуваний ресурс не існує. Наприклад, коли ви намагаєтеся отримати завдання за його ID, але надано недійсний ID, ви отримаєте код стану 404.
- Name
429 - Too Many Requests- Description
Занадто багато запитів на Meshy API за короткий час. Будь ласка, зверніться до Rate Limits для деталей.
- Name
5xx- Description
Код стану 5xx вказує на помилку сервера. Якщо ви бачите таку, будь ласка, перевірте нашу сторінку статусу для отримання додаткової інформації та зв'яжіться з нами через Discord для допомоги.
Example: 400 Bad Request
{
"message": "Invalid model file extension: .3dm"
}
Помилки Завдань
Ці помилки виникають після створення завдання та під час його обробки. Перевірте об'єкт task_error у відповіді на завдання для отримання деталей про помилку.
Об'єкт task_error містить наступні поля:
- Name
- type
- Type
- string
- Description
Категорія помилки. Завжди присутня у невдалих завданнях. Дивіться Типи Помилок нижче.
- Name
- message
- Type
- string
- Description
Опис помилки, зрозумілий людині. Завжди присутній у невдалих завданнях.
- Name
- code
- Type
- string
- Необов'язковий
- Description
Специфічний код помилки, що ідентифікує проблему. Присутній, коли доступні додаткові деталі. Дивіться Коди Помилок нижче.
- Name
- doc_url
- Type
- string
- Необов'язковий
- Description
Посилання на детальну документацію для цього коду помилки, включаючи рекомендації щодо вирішення. Присутнє, коли
codeприсутній.
Помилка з деталями
{
"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"
}
}
Помилка без деталей
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"status": "FAILED",
"task_error": {
"type": "server_error",
"message": "An internal error occurred. Please retry."
}
}
Типи помилок
Поле type вказує на загальну категорію збою. Використовуйте його, щоб визначити стратегію повторної спроби.
- Name
invalid_input- Description
Щось не так із введеними вами даними. Перевірте поля
codeтаmessageдля отримання деталей, виправте проблему та повторіть спробу.
- Name
timeout- Description
Обробка перевищила ліміт часу. Це часто є тимчасовим. Повторіть запит, і якщо він продовжує зазнавати невдачі, спробуйте спростити ваші дані.
- Name
service_unavailable- Description
Сервіс тимчасово недоступний. Зачекайте трохи та повторіть спробу.
- Name
server_error- Description
Під час обробки сталася внутрішня помилка. Повторіть запит. Якщо проблема зберігається, зверніться до підтримки з вашим ідентифікатором завдання.
Коди Помилок
Коли поле code присутнє, воно ідентифікує конкретну проблему, яку можна вирішити. Нижче наведено повний довідник для кожного коду помилки.
image_too_complex
Ця помилка виникає, коли вхідне зображення або prompt описує об'єкт, який є занадто геометрично складним для обробки моделлю 3D-генерації.
Поширені приклади включають:
- Щільні купи дрібних об'єктів (наприклад, ящик з фруктами, стопка книг)
- Складні повторювані візерунки (наприклад, решітчасті структури, риштування, дротяні сітки)
- Складні будівельні структури (наприклад, багатоповерхові будівлі з багатьма вікнами та балконами)
- Кілька різних об'єктів на одному зображенні замість одного об'єкта
Приклади вхідних даних, які, ймовірно, занадто складні:




Рішення:
- Використовуйте один об'єкт на зображення. Модель працює найкраще з одним чітким об'єктом. Не включайте кілька окремих об'єктів на одному зображенні або prompt.
- Спрощуйте ваш об'єкт. Зменшуйте рівень деталізації. Наприклад, проста ваза замість вази, заповненої десятками квітів.
- Уникайте prompt на рівні сцени. Цілі будівлі, квартали, інтер'єри, заповнені меблями, або пейзажі, ймовірно, перевищать можливості моделі. Зосередьтеся на одному об'єкті.
- Уникайте щільних повторюваних структур. Об'єкти, такі як риштування, дротяні сітки, решітчасті візерунки або купи багатьох дрібних предметів, є поширеними тригерами.
model_missing_uv
Ця помилка виникає, коли ви завантажуєте модель для текстурування з увімкненим параметром enable_original_uv, але модель не має UV-координат. UV-координати визначають, як 2D текстура обгортається на 3D поверхні вашої моделі.

Рішення:
Правильне виправлення залежить від того, чому ви встановили enable_original_uv на true:
- Якщо вам потрібно зберегти оригінальну UV-розкладку вашої моделі (наприклад, спеціальне розміщення швів для точного текстурування): ваша модель повинна мати дійсні UV-координати. Перевірте наявність UV у редакторі UV вашого 3D програмного забезпечення перед завантаженням. Зверніть увагу, що файли STL не можуть зберігати дані UV, тому використовуйте GLB, FBX або OBJ замість них.
- Якщо вам не потрібен специфічний контроль UV (або ви не впевнені): не вказуйте
enable_original_uvабо встановіть його наfalse. Система автоматично згенерує UV-розкладку для вашої моделі. Автоматично згенеровані UV оптимізовані для покриття, але ви не матимете контролю над тим, де розміщуються шви текстури.
model_insufficient_uv
Ця помилка виникає, коли модель має UV-координати, але покриття UV занадто мале для якісного текстурування. Це часто трапляється з моделями, експортованими з 3D-інструментів, які генерують тимчасові або згорнуті UV без належного розгортання.

Рішення:
- Якщо вам потрібно зберегти вашу оригінальну UV-розкладку: перерозгорніть UV моделі у вашому 3D програмному забезпеченні. Переконайтеся, що UV-острови правильно розподілені по UV-простору, а не згорнуті в невелику область.
- Якщо вам не потрібен специфічний контроль UV: пропустіть
enable_original_uvабо встановіть його вfalse. Система автоматично згенерує нову UV-розкладку. Компроміс полягає в тому, що ви втрачаєте початкове розміщення швів, але автоматично згенеровані UV матимуть належне покриття для текстурування.
invalid_input
Це код помилки за замовчуванням, коли вхідні дані не проходять перевірку, але жоден більш специфічний код не застосовується. Поле message містить конкретну причину збою.
Поширені причини включають:
- Порожні або пошкоджені файли моделей
- Непідтримувані варіації форматів файлів (наприклад, ASCII FBX файли, meshopt-сжаті GLB)
- Не знайдено жодних дійсних 3D об'єктів у завантаженій моделі (наприклад, файл містить лише арматури, камери або освітлення)
- Вміст, що не проходить через фільтри безпеки
Рішення: Перевірте поле message для отримання конкретної інформації про те, що пішло не так. Переконайтеся, що ваші вхідні файли та параметри відповідають вимогам кінцевої точки.
moderation_blocked
Ця помилка виникає, коли ваш prompt або референсні зображення відхиляються фільтрами безпеки AI. Фільтр оцінює як текстовий prompt, так і будь-які референсні зображення разом.
Рішення:
- Перефразуйте ваш текстовий prompt, щоб видалити натяки або чутливі описи.
- Відкоригуйте референсні зображення, якщо вони зображують контент, який може викликати спрацьовування фільтрів безпеки.
timeout
Ця помилка означає, що час обробки вашого завдання перевищив дозволений ліміт. Це може статися через високе навантаження на систему або через те, що вхідні дані занадто складні для обробки в межах ліміту часу.
Рішення:
- Повторіть запит. Таймаути часто є тимчасовими, і повторна спроба може бути успішною.
- Спрощуйте ваші вхідні дані. Якщо повторні спроби продовжують зазнавати невдачі, ваші вхідні дані можуть бути занадто складними. Спробуйте зменшити рівень деталізації у вашому зображенні або prompt. Дивіться
image_too_complexдля отримання порад щодо того, які типи вхідних даних важче обробити.
format_conversion_failed
Ця помилка виникає, коли згенеровану 3D модель не вдалося конвертувати у запитаний вами вихідний формат. Модель була успішно згенерована, але етап конвертації зазнав невдачі.
Розв'язання:
- Повторіть запит.
- Спробуйте інший вихідний формат. Якщо певний формат постійно зазнає невдачі, переключіться на інший формат, який відповідає вашим потребам.
Найкращі практики
- Реалізуйте логіку повторних спроб. Для помилок
timeoutтаservice_unavailableреалізуйте логіку повторних спроб з експоненційним зворотним відступом. - Логування ідентифікаторів завдань. Завжди логуйте ідентифікатор завдання для цілей налагодження. Включайте його при зверненні до підтримки.
- Перевіряйте вхідні дані. Переконайтеся, що ваші вхідні зображення та моделі відповідають вимогам формату перед відправкою.