Помилки
У цьому посібнику ми розповімо про те, що відбувається, коли щось іде не так під час роботи з 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
Вам не дозволено виконувати цей запит. Наприклад, запит надійшов з адреси, що не входить до списку дозволених IP-адрес API-ключа, перевірка вмісту на плані Enterprise заблокувала файли завдання під час його читання, або кінцева точка недоступна у вашому плані.
- Name
404 - Not Found- Description
Запитаний ресурс не існує. Наприклад, коли ви намагаєтеся отримати завдання за його ID, але вказали недійсний ID, ви отримаєте код стану 404.
- Name
409 - Conflict- Description
Ресурс існує, але його поточний стан не дозволяє виконати операцію. Наприклад, видалення завдання, яке вже має статус
IN_PROGRESS, поверне 409: воркер уже розпочав роботу, яку неможливо відшкодувати, тому завдання залишається виконуватися. Зачекайте на кінцевий статус (SUCCEEDED,FAILEDабоCANCELED) і повторіть спробу.
- Name
429 - Too Many Requests- Description
Надто багато запитів надійшло до Meshy API занадто швидко. Зачекайте кількість секунд, зазначену в заголовку
Retry-After, перед повторною спробою. Будь ласка, зверніться до посібника 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 матимуть належне покриття для текстурування.
model_missing_texture
Ця помилка виникає, коли вхідна модель завдання Multi-Color Print не містить інформації про колір, яку конвертер міг би розділити на кольори друку. Багатоколірний 3MF будується на основі кольорів моделі, тому проста біла сітка — наприклад, попередній перегляд Text to 3D або Image to 3D, який ніколи не був текстурований, або результат відновлення / автоматичного розділення — не має з чим працювати.
Що саме вважається джерелом кольору, залежить від запитаного вами style:
realisticвибирає базову текстуру кольору через UV-координати моделі, тому вимагає єдину базову текстуру кольору з UV-координатами на кожній частині сітки.cartoonспрощує кольори по граням і приймає базову текстуру кольору на будь-якій частині або кольори по вершинах (COLOR_0).
Модель без базової текстури кольору та без кольорів вершин відхиляється для обох стилів; з cartoon вона інакше "успішно" оброблялася б як одноколірний друк.
Більшість запитів відхиляються ще до створення завдання (400 Bad Request з тим самим поясненням), тому зазвичай цей код ви побачите лише тоді, коли вхідні дані неможливо було перевірити заздалегідь — наприклад, завантаження .fbx перевіряється лише після того, як завдання його нормалізувало.
Вирішення:
- Спочатку затекстуруйте модель. Запустіть завдання Ретекстурування на ній, або згенеруйте її з увімкненою текстуризацією (завдання Text to 3D refine, або завдання Image to 3D з
should_texture: true), і передайте це завдання якinput_task_id. - Моделі з кольорами вершин (сканування фотограмметрії, вручну розфарбовані сітки): запитайте
style: "cartoon", яка читаєCOLOR_0. - Частково текстуровані або багатотекстурні моделі за
realistic: кожна частина сітки потребує UV-координат і однієї й тієї ж єдиної базової текстури кольору. Затекстуруйте решту частин або об'єднайте текстури в один атлас, або перейдіть наstyle: "cartoon".
invalid_input
Це код помилки за замовчуванням, коли вхідні дані не проходять перевірку, але жоден більш специфічний код не застосовується. Поле message містить конкретну причину збою.
Поширені причини включають:
- Порожні або пошкоджені файли моделей
- Непідтримувані варіації форматів файлів (наприклад, ASCII FBX файли, meshopt-сжаті GLB)
- Не знайдено жодних дійсних 3D об'єктів у завантаженій моделі (наприклад, файл містить лише арматури, камери або освітлення)
- Вміст, що не проходить через фільтри безпеки
Рішення: Перевірте поле message для отримання конкретної інформації про те, що пішло не так. Переконайтеся, що ваші вхідні файли та параметри відповідають вимогам кінцевої точки.
moderation_blocked
Ця помилка виникає, коли ваш prompt або референсні зображення відхилені фільтрами безпеки ШІ. Фільтр оцінює одночасно текстовий prompt і будь-які референсні зображення.
Вирішення:
- Перефразуйте свій текстовий prompt, прибравши двозначні або делікатні описи.
- Скоригуйте референсні зображення, якщо вони містять вміст, який може спрацьовувати на фільтри безпеки.
moderation_unavailable
Ця помилка виникає, коли moderation вмісту тимчасово була недоступна, тому завдання завершилося невдачею замість виконання без перевірки. З вашим вмістом усе гаразд. Його type — server_error.
Вирішення: Створіть завдання знову.
timeout
Ця помилка означає, що завдання перевищило ліміт часу на стороні сервера — для обробки або для очікування в черзі, — тому завдання завершилося невдачею, а його кредити були повернуті. Це може статися через високе навантаження системи або через те, що вхідні дані занадто складні для обробки в межах встановленого ліміту часу.
Це відрізняється від timeout у вашому власному коді. Якщо ваш клієнт припинив очікування, завдання все ще виконується; див. Task Lifecycle.
Вирішення:
- Створіть завдання знову. Помилки timeout часто є тимчасовими, і нове завдання може виконатися успішно.
- Спростіть ваші вхідні дані. Якщо повторні спроби продовжують завершуватися невдачею, ваші вхідні дані можуть бути занадто складними. Спробуйте зменшити рівень деталізації вашого зображення або prompt. Див.
image_too_complexдля рекомендацій щодо того, які типи вхідних даних складніше обробляти.
queue_timeout
Ця помилка означає, що завдання занадто довго очікувало в черзі і так і не почало виконуватися, тому воно завершилося невдало, а будь-які кредити, списані за нього, були повернуті. Ваші вхідні дані тут ні до чого. Її type — timeout.
Вирішення: Створіть завдання знову.
format_conversion_failed
Ця помилка виникає, коли згенеровану 3D-модель не вдалося конвертувати у запитаний вами формат виводу. Модель була успішно згенерована, але етап конвертації завершився невдало.
Вирішення:
- Повторіть запит.
- Спробуйте інший формат виводу. Якщо певний формат постійно призводить до помилки, переключіться на інший формат, який відповідає вашим потребам.
Best Practices
- Реалізуйте логіку повторних спроб. Якщо завдання завершується помилкою
timeout,service_unavailableабоserver_error, створіть його знову з експоненційною затримкою. Якщо ж тайм-аут стався у вашому власному запиті, не створюйте нове завдання: спершу перевірте існуюче (див. Життєвий цикл завдання). - Ведіть журнал ідентифікаторів завдань. Завжди фіксуйте ідентифікатор завдання для цілей налагодження. Вказуйте його під час звернення до служби підтримки.
- Перевіряйте вхідні дані. Переконайтеся, що ваші вхідні зображення та моделі відповідають вимогам до формату перед надсиланням.
- Викликайте API зі свого сервера. Код, що виконується в браузері, розкриє ваш API-ключ будь-кому, хто відкриє сторінку.