Помилки
Дізнайтеся, чому запит або завдання завершилися невдачею, і що робити далі. Запит може завершитися невдачею одразу з HTTP-помилкою, а завдання — пізніше з task_error.
Request errors
Meshy повертає ці помилки одразу, коли відхиляє запит. Щоб дізнатися, що пішло не так, перевірте код стану HTTP і поле message.
Формат відповіді
Відповідь з помилкою містить поле message, яке описує, що пішло не так:
- Name
- message
- Type
- string
- Description
Короткий опис помилки.
Коди стану
- Name
2xx- Description
Успіх.
- Name
200 - OK- Description
Запит виконано.
- Name
202 - Accepted- Description
Meshy прийняв запит, але обробка ще не завершена. Наприклад, запит на створення завдання повертає
202.
- Name
4xx- Description
Щось не так із запитом або вашим обліковим записом. Кожен статус вказує, що робити.
- Name
400 - Bad Request- Description
Запит недійсний, часто через те, що відсутній обов'язковий параметр або параметр має неправильний формат.
- Name
401 - Unauthorized- Description
API-ключ відсутній, недійсний або не має доступу до цієї кінцевої точки. Див. Автентифікацію.
- Name
402 - Payment Required- Description
Обліковому запису, пов'язаному з API-ключем, не вистачає кредитів для виконання запиту. На безкоштовному плані більшість запитів, що створюють завдання, також повертають
402.
- Name
403 - Forbidden- Description
Вам не дозволено виконувати цей запит, наприклад, з однієї з таких причин:
- Запит надійшов з адреси поза межами списку дозволених IP-адрес для API-ключа.
- Фільтрація IP вашої організації заблокувала файли завдання під час його читання.
- Кінцева точка недоступна на вашому плані.
- Модерація контенту заблокувала вхідні дані. Деякі кінцеві точки натомість повертають
400; кожна сторінка кінцевої точки містить перелік своїх кодів. - API-ключ належить учаснику команди, який більше не активний у команді.
- Обліковий запис заблоковано.
- Name
404 - Not Found- Description
Ресурс не існує. Наприклад, отримання завдання з ID, якого не існує, повертає
404.
- Name
409 - Conflict- Description
Ресурс існує, але його стан не дозволяє виконати операцію. Наприклад, видалення завдання зі статусом
IN_PROGRESSповертає409, оскільки Meshy не може повернути кошти за завдання, яке вже взяв у роботу виконавець. Завдання продовжує виконуватися. Дочекайтеся фінального статусу (SUCCEEDED,FAILEDабоCANCELED), а потім видаліть завдання.
- Name
422 - Unprocessable Entity- Description
Запит дійсний, але Meshy не може обробити його вхідні дані. Наприклад, Rigging повертає
422, коли не може знайти гуманоїдне тіло в моделі.
- Name
429 - Too Many Requests- Description
Ви надіслали забагато запитів, або забагато ваших завдань перебувають у черзі чи виконуються. Якщо відповідь містить заголовок
Retry-After, зачекайте вказану кількість секунд, а потім повторіть спробу. Див. Ліміти швидкості.
- Name
5xx- Description
Щось пішло не так на стороні Meshy. Повторіть спробу з експоненційною затримкою. Якщо помилка не зникає, перевірте сторінку стану і зв'яжіться з нами в Discord.
Example: 400 Bad Request
{
"message": "Invalid model file extension: .3dm"
}
Помилки завдання
Завдання, яке створив Meshy, все одно може завершитися невдало під час виконання. Його status стає FAILED, Meshy повертає його кредити, а task_error пояснює причину.
Поле task_error невдалого завдання містить такі поля:
- Name
- type
- Type
- string
- Description
Категорія помилки. Вона завжди присутня у невдалому завданні. Приймайте рішення щодо повторної спроби на її основі. Див. Типи помилок.
- Name
- message
- Type
- string
- Description
Зрозумілий людині опис помилки. Він завжди присутній у невдалому завданні.
- Name
- code
- Type
- string
- Необов'язковий
- Description
Конкретна, задокументована проблема, на яку ви можете відреагувати. Присутня, коли Meshy має додаткові деталі. Див. Коди помилок. Meshy може додавати нові коди, тому обробляйте незнайомий код за його
type.
- Name
- doc_url
- Type
- string
- Необов'язковий
- Description
Посилання на опис коду на цій сторінці, яке повідомляє, що робити. Присутнє, коли вказано
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."
}
}
Error types
type — це загальна категорія помилки. Використовуйте її, щоб вирішити, що робити далі.
- Name
invalid_input- Description
Щось не так із вхідними даними, які ви надіслали. Прочитайте
codeіmessage, виправте вхідні дані та створіть нове завдання.
- Name
timeout- Description
Завдання перевищило ліміт часу на стороні сервера, для обробки або очікування в черзі, і завершилося невдачею. Meshy повертає кредити за нього. Часто це тимчасова проблема. Створіть завдання знову, а якщо воно продовжує завершуватися невдачею, спробуйте простіші вхідні дані.
- Name
service_unavailable- Description
Сервіс був тимчасово недоступний. Зачекайте трохи, а потім створіть завдання знову.
- Name
server_error- Description
Під час виконання завдання щось пішло не так на боці Meshy. Створіть завдання знову. Якщо проблема повторюється, зверніться до служби підтримки, вказавши ID завдання.
Коди помилок
Коли присутнє поле code, воно позначає одну з наведених нижче проблем.
image_too_complex
Вхідне зображення або prompt описує об'єкт, який є надто складним геометрично для 3D-генерації.
Наприклад:
- Щільні купи дрібних предметів, наприклад, ящик, повний фруктів, або стос книг
- Складні повторювані візерунки, наприклад, решітчасті конструкції, риштування або дротяні сітки
- Складні будівлі, наприклад, багатоповерхові будинки з великою кількістю вікон і балконів
- Кілька окремих об'єктів на одному зображенні замість єдиного об'єкта
Ці вхідні дані, ймовірно, надто складні:




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

Щоб виправити це, зробіть одне з наступного:
- Щоб зберегти власну UV-розкладку вашої моделі, наприклад для розміщення швів за власним задумом, додайте UV-координати до моделі у вашому 3D-редакторі. Перевірте їх у його UV-редакторі, а потім завантажте модель знову. Файли STL не можуть зберігати UV-координати, тому використовуйте GLB, FBX або OBJ.
- Якщо вам не потрібна власна розкладка, або ви не впевнені, пропустіть
enable_original_uvабо встановіть значенняfalse. Тоді Meshy створить UV-розкладку для моделі. Нові UV-координати добре покривають модель, але ви не зможете контролювати розташування швів текстури.
model_insufficient_uv
Модель має UV-координати, але вони покривають занадто малу частину UV-простору для якісної текстури. Це часто трапляється з моделями, у яких експортер записав заглушкові або згорнуті UV без належного розгортання.

Щоб виправити це, виконайте одну з таких дій:
- Щоб зберегти власну UV-розкладку, повторно розгорніть UV-координати моделі у своєму 3D-редакторі. Розподіліть острівці по всьому UV-простору, а не в маленькому куточку.
- Якщо власна розкладка вам не потрібна, не вказуйте
enable_original_uvабо встановіть значенняfalse. Тоді Meshy створить нову UV-розкладку. Ви втратите розташування швів, але нові UV-координати покриватимуть достатньо простору для текстурування.
model_missing_texture
Вхідна модель завдання Multi-Color Print не має кольору, який Meshy може розділити на кольори друку. Meshy створює багатоколірний 3MF із кольорів моделі, тому звичайна біла сітка не дає матеріалу для роботи. Наприклад, попередній перегляд Text to 3D або Image to 3D, який ніколи не був текстурований, не має кольору. Так само не має його результат роботи Відновлення придатності до друку або завдання Auto Split, яке не зберегло текстуру.
Що саме вважається кольором, залежить від обраного вами style:
realisticвибирає базову текстуру кольору через UV-розгортку моделі. Для цього потрібна одна базова текстура кольору та UV на кожній частині сітки.cartoonвирівнює кольори по гранях. Він приймає базову текстуру кольору на будь-якій частині або поверхневі кольори (COLOR_0).
Meshy відхиляє модель, яка не має ні базової текстури кольору, ні кольорів вершин, для обох стилів, замість того, щоб дозволити cartoon перетворити її на одноколірний друк.
Meshy відхиляє більшість таких запитів ще до створення завдання, повертаючи 400 з тим самим поясненням. Зазвичай ви отримуєте цей код лише тоді, коли Meshy не може перевірити вхідні дані заздалегідь. Наприклад, Meshy перевіряє завантажений .fbx лише після того, як завдання конвертує його.
Щоб виправити це, виберіть варіант, що підходить вашій моделі:
- Спочатку текстуруйте модель. Запустіть Retexture для неї, або згенеруйте її за допомогою завдання Text to 3D на етапі refine чи завдання Image to 3D з
should_texture: true. Потім надішліть це завдання якinput_task_id. - Для моделі з кольорами вершин, наприклад фотогрометричного сканування або сітки, розфарбованої вручну, використовуйте
style: "cartoon", який зчитуєCOLOR_0. - Для частково текстурованої або багатотекстурної моделі з
realisticнадайте UV-розгортку та одну й ту саму базову текстуру кольору для кожної частини сітки. Для цього текстуруйте решту частин або об’єднайте текстури в один атлас. Також можна перейти наstyle: "cartoon".
textured_split_refused
Завдання Auto Split з keep_texture: true не може зберегти текстуру вхідної моделі на частинах. Наприклад, модель не має UV-розгортки, або її текстура не має місця для нових граней, які створюють розрізи. Meshy повертає кредити.
Щоб виправити це, надішліть запит знову без keep_texture, або з keep_texture: false. Тоді частини повертаються з суцільним кольором кожна.
invalid_input
Вхідні дані не пройшли перевірку, і жоден більш конкретний код не застосовується. message вказує причину.
Наприклад:
- Порожній або пошкоджений файл моделі
- Непідтримуваний варіант формату файлу, наприклад ASCII-файл FBX або GLB-файл зі стисненням meshopt
- Завантажена модель без жодних валідних 3D-об’єктів, наприклад файл, що містить лише арматури, камери або джерела світла
- Вміст, що не проходить фільтри безпеки
Щоб виправити це, прочитайте message для отримання конкретної проблеми. Перевірте, чи ваші вхідні файли та параметри відповідають вимогам кінцевої точки.
moderation_blocked
Фільтри безпеки відхилили ваш prompt або референсні зображення. Фільтри перевіряють текст і зображення разом.
Щоб виправити це, виконайте одну або обидві дії:
- Перефразуйте prompt, прибравши двозначні або делікатні описи.
- Змініть референсні зображення, якщо вони містять вміст, який фільтри можуть заблокувати.
moderation_unavailable
Тип: server_error. Модерація вмісту тимчасово була недоступна, тому Meshy завершив завдання з помилкою, замість того щоб пропустити перевірку. З вашим вмістом усе гаразд.
Щоб виправити це, створіть завдання ще раз.
timeout
Завдання перевищило серверний ліміт часу — на обробку або на очікування в черзі, тому Meshy позначив його як невдале й повернув кредити. Причиною може бути високе навантаження або вхідні дані, надто складні для обробки за відведений час.
Це відрізняється від timeout у вашому власному коді. Якщо ваш клієнт припинив очікування, завдання все ще виконується. Див. Скільки часу чекати.
Щоб це виправити, виконайте такі кроки:
- Створіть завдання знову. Timeout часто буває тимчасовим, і нове завдання може виконатися успішно.
- Якщо помилка повторюється, спростіть вхідні дані, наприклад зменшивши деталізацію зображення або prompt. Про вхідні дані, які складніше обробити, див.
image_too_complex.
queue_timeout
Тип: timeout. Завдання занадто довго очікувало в черзі, так і не розпочавшись, тому Meshy позначив його як невдале та повернув будь-які кредити, списані за нього. Ваші вхідні дані не спричинили цю помилку.
Щоб виправити це, створіть завдання знову.
format_conversion_failed
Meshy згенерував модель, але конвертація її у запитаний вами формат завершилася невдало.
Щоб виправити це, виконайте такі кроки:
- Створіть завдання знову.
- Якщо певний формат постійно спричиняє помилку, запитайте інший формат, який відповідає вашим потребам.
Найкращі практики
- Повторюйте невдалі завдання. Для завдання, що завершилося помилкою з кодом
timeout,service_unavailableабоserver_error, створюйте нове завдання з експоненційною затримкою. - Не створюйте нове завдання, коли ваш власний запит перевищує час очікування. Перше завдання могло ще виконуватися, тому перевірте, чи воно існує, перш ніж створювати інше. Див. Скільки часу чекати.
- Записуйте ідентифікатори завдань у журнал. Вказуйте ID, коли звертаєтесь до служби підтримки.
- Перевіряйте вхідні дані перед надсиланням. Переконайтеся, що зображення та моделі відповідають вимогам до формату кінцевої точки.
- Викликайте API зі свого сервера. Код, що виконується в браузері, розкриває ваш API-ключ будь-кому, хто відкриє сторінку.