lowpoly буде вимкнено 30 жовт. 2026 р.. Перейдіть на іншу модель до цих дат, щоб уникнути помилок у запитах. Усі застарілі функції

Multi-Color Print API

Конвертувати 3D-модель у файл 3MF з багатьма кольорами для 3D-друку. Виберіть палітру до 16 кольорів та пресет слайсера для вашого бренду принтера.


POST/openapi/v1/print/multi-color

Створення задачі багатоколірного друку

Створює задачу багатоколірного друку, яка конвертує 3D-модель у багатоколірний файл 3MF для 3D-друку. Задача виконується у фоновому режимі. Про типову тривалість виконання задачі див. Час обробки.

Request

POST
/openapi/v1/print/multi-color
# Convert a 3D model to a multi-color 3MF with a Creality slicer preset
curl https://api.meshy.ai/openapi/v1/print/multi-color \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
    "input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "max_colors": 8,
    "printer_brand": "creality"
  }'

Response

{
  "result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}

Параметри

  • Name
    input_task_id
    Type
    string
    Обов'язковий
    Description

    Обов'язково, якщо ви не надсилаєте model_url. ID задачі, модель якої ви хочете надрукувати, наприклад задачі Зображення у 3D, Мульти-зображення у 3D, Текст у 3D, Ремеш або Ретекстурування. Задача має бути однією зі створених вами через API та мати статус SUCCEEDED.

    Багатоколірний друк зчитує файл GLB задачі, який може мати щонайбільше 8 000 000 граней. Модель з більшою кількістю граней поверне 400. У такому разі спочатку запустіть для неї задачу Ремеш, а потім надішліть ID задачі Ремешу замість цього.

  • Name
    model_url
    Type
    string
    Обов'язковий
    Description

    Обов'язково, якщо ви не надсилаєте input_task_id. Модель для друку, у вигляді публічної URL-адреси або data URI. Якщо ви надішлете обидва, Meshy використає input_task_id.

    URL-адреса http або https повинна вказувати на файл .glb або .fbx розміром щонайбільше 400 МБ. Data URI повинен містити файл GLB у base64 розміром щонайбільше 100 МБ. Використовуйте data:model/gltf-binary;base64,. Файл .fbx надсилайте як URL-адресу http або https.

    Файл понад 100 МБ також повинен відповідати таким правилам:

    • Він може мати щонайбільше 8 000 000 граней. Meshy рахує грані як трикутники, тож чотирикутник рахується як 2, а сітка, намальована кілька разів, рахується один раз за кожну копію.
    • Файл FBX повинен бути у бінарному форматі FBX 7.1 або новішому.
    • Файл GLB не повинен використовувати стиснення Draco.
  • Name
    max_colors
    Type
    integer
    за замовчуванням 4
    Description

    Максимальна кількість кольорів у вихідній палітрі, від 1 до 16. Щоб використати значення за замовчуванням, не надсилайте цей параметр, а не надсилайте 0.

  • Name
    style
    Type
    string
    за замовчуванням realistic
    Description

    Стиль кольору файлу 3MF.

    Доступні значення:

    • realistic: вибирає кольори безпосередньо з текстури моделі для детальної, фотореалістичної якості, і створює більший файл.
    • cartoon: спрощує кольори до чистих, однорідних ділянок для стилізованого вигляду, і створює менший файл.

    Модель повинна мати колір. realistic потребує єдину базову кольорову текстуру з UV-розгорткою на кожній частині сітки, а cartoon також приймає кольори вершин. Meshy відхиляє нетекстуровану (білу) модель. Див. model_missing_texture.

  • Name
    max_depth
    Type
    integer
    за замовчуванням 4
    Description

    Глибина підрозділу, яку Meshy використовує для накладання кольорів текстури на сітку, від 3 до 6. 0 еквівалентно пропуску цього параметра. Вищі значення дозволяють захопити тонші деталі кольору та створюють більший файл. Цей параметр використовує лише стиль realistic, а cartoon його ігнорує.

  • Name
    printer_brand
    Type
    string
    за замовчуванням bambu
    Description

    Бренд принтера, для чийого пресету слайсера Meshy записує дані у файл 3MF. Потім файл відкривається у слайсері цього бренду з відповідним принтером, філаментом та профілем процесу. Пресет використовує принтер бренду за замовчуванням із соплом 0,4 мм.

    Доступні значення:

    • bambu
    • anycubic
    • creality
    • elegoo
    • flashforge
    • prusa
    • qidi
    • snapmaker
    • ankermake

    Будь-яке інше значення поверне 400.

Результат

Поле result у відповіді містить ID нової задачі багатоколірного друку.

Режими збою

  • Name
    400 - Bad Request
    Description

    Запит не може бути виконаний. Повідомлення про помилку вказує, яку проблему було знайдено. Наприклад:

    • Відсутній параметр: не було надіслано ні model_url, ні input_task_id.
    • Недійсний формат моделі: файл model_url не є файлом .glb або .fbx.
    • Недоступна URL-адреса: Meshy не може завантажити файл model_url.
    • Файл моделі завеликий: файл model_url перевищує 400 МБ як URL-адреса http або https, або перевищує 100 МБ як data URI.
    • Забагато граней: файл model_url перевищує 100 МБ і має понад 8 000 000 граней. Зменшіть кількість граней, а потім надішліть файл знову.
    • ASCII FBX понад 100 МБ: файл model_url є ASCII FBX понад 100 МБ. Надішліть його як бінарний FBX або GLB.
    • Нечитабельний файл моделі: файл model_url перевищує 100 МБ, і Meshy не може прочитати його заголовок. Наприклад, це GLB зі стисненням Draco, або бінарний FBX старіший за 7.1.
    • Заголовок моделі надто складний: файл model_url перевищує 100 МБ, і його заголовок має забагато сіток, вузлів або записів для перевірки. Зменшіть кількість об'єктів у файлі, а потім надішліть його знову.
    • Недійсна вхідна задача: input_task_id не є успішною задачею.
    • Забагато граней у вхідній задачі: модель input_task_id має понад 8 000 000 граней. Запустіть для неї задачу Ремеш, а потім надішліть ID задачі Ремешу замість цього.
    • Недійсне max_colors: max_colors від'ємне або перевищує 16.
    • Недійсний style: style не є realistic або cartoon.
    • Недійсне max_depth: max_depth поза межами від 3 до 6, і не є 0.
    • Недійсний printer_brand: printer_brand не є одним із доступних значень.
    • Відсутнє джерело кольору: моделі бракує кольору, необхідного для style. realistic потребує єдину базову кольорову текстуру з UV-розгорткою на кожній частині сітки. cartoon приймає базову кольорову текстуру або кольори вершин. Спершу текстуруйте модель, або використайте cartoon для моделі з кольорами вершин. Meshy перевіряє завантаження .fbx лише після того, як задача нормалізує його, тому задача завершується помилкою model_missing_texture замість цього.

    Виправте запит, а потім надішліть його знову. Див. Помилки.

  • Name
    401 - Unauthorized
    Description

    API-ключ відсутній або недійсний. Перевірте заголовок Authorization.

  • Name
    402 - Payment Required
    Description

    Наприклад:

    • Недостатньо кредитів: на обліковому записі недостатньо кредитів для цієї задачі, або обліковий запис досяг ліміту кредитів. Перевірте свій баланс кредитів, а потім спробуйте ще раз.
    • Безкоштовний план: для створення задачі потрібен платний план. Оновіть свій план у налаштуваннях підписки, а потім спробуйте ще раз.
  • Name
    403 - Forbidden
    Description

    input_task_id є моделлю барельєфу, яку ця кінцева точка не може надрукувати. Повідомлення: This model type does not support this operation. Надішліть іншу модель.

  • Name
    404 - Not Found
    Description

    input_task_id не відповідає жодній з ваших задач. Перевірте ID задачі, а потім надішліть запит знову.

  • Name
    429 - Too Many Requests
    Description

    Ви перевищили обмеження частоти. Зачекайте, а потім спробуйте ще раз. Див. Обмеження частоти.


GET/openapi/v1/print/multi-color/:id

Отримати завдання на багатоколірний друк

Повертає завдання на багатоколірний друк за його ID.

Request

GET
/openapi/v1/print/multi-color/a43b5c6d-7e8f-901a-234b-567c890d1e2f
curl https://api.meshy.ai/openapi/v1/print/multi-color/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "print-multi-color",
  "model_urls": {
      "3mf": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.3mf?Expires=***"
},
  "progress": 100,
  "status": "SUCCEEDED",
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "expires_at": 1700259201000,
  "task_error": null,
"consumed_credits": 10
}

Параметри

  • Name
    id
    Type
    path
    Description

    ID завдання з відповіді на створення.

Повертає

Об'єкт завдання на багатоколірний друк.


DELETE/openapi/v1/print/multi-color/:id

Видалення задачі багатоколірного друку

Остаточно видаляє задачу багатоколірного друку, включно з її моделями та даними. Скасувати видалення неможливо.

Request

DELETE
/openapi/v1/print/multi-color/a43b5c6d-7e8f-901a-234b-567c890d1e2f
curl --request DELETE \
  --url https://api.meshy.ai/openapi/v1/print/multi-color/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Response

// 200 OK on success, with an empty body.
//
// 409 Conflict when the task is IN_PROGRESS. The task keeps running:
{
  "message": "Task is IN_PROGRESS and cannot be deleted. Credits for a task the worker has already started are not refundable; wait for it to reach SUCCEEDED, FAILED or CANCELED, then delete it."
}

Параметри шляху

  • Name
    id
    Type
    path
    Description

    ID задачі, яку потрібно видалити.

Статус задачі

Видалення задачі зі статусом PENDING повертає кредити, витрачені на її створення.

Задачу зі статусом IN_PROGRESS видалити неможливо. Запит поверне 409 Conflict, а задача продовжить виконуватися. Meshy не повертає кредити за задачу, яка вже почала виконуватися, тому її видалення коштувало б вам і кредитів, і результату. Дочекайтеся, поки вона досягне статусу SUCCEEDED, FAILED або CANCELED, а потім видаліть її.

Видалення задачі в кінцевому статусі (SUCCEEDED, FAILED або CANCELED) не повертає витрачені кредити.

Повертає

200 OK, коли задачу видалено, або 409 Conflict, коли задача має статус IN_PROGRESS.


GET/openapi/v1/print/multi-color

List Multi-Color Print tasks

Повертає список ваших завдань багатоколірного друку.

Request

GET
/openapi/v1/print/multi-color
curl https://api.meshy.ai/openapi/v1/print/multi-color?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response

[
  {
    "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
    "type": "print-multi-color",
    "model_urls": {
      "3mf": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.3mf?Expires=***"
    },
    "progress": 100,
    "status": "SUCCEEDED",
    "preceding_tasks": 0,
    "created_at": 1699999999000,
    "started_at": 1700000000000,
    "finished_at": 1700000001000,
    "expires_at": 1700259201000,
    "task_error": null,
  "consumed_credits": 10
  }
]

Параметри

  • Name
    page_num
    Type
    integer
    за замовчуванням 1
    Description

    Номер сторінки, яку потрібно повернути. Нумерація сторінок починається з 1.

  • Name
    page_size
    Type
    integer
    за замовчуванням 10
    Description

    Кількість завдань на сторінці, до 100.

  • Name
    sort_by
    Type
    string
    Description

    Порядок сортування.

    Доступні значення:

    • +created_at: спочатку найстаріші
    • -created_at: спочатку найновіші

Повертає

Список об'єктів завдань багатоколірного друку з пагінацією.


GET/openapi/v1/print/multi-color/:id/stream

Потокова передача задачі багатоколірного друку

Передає оновлення задачі багатоколірного друку у вигляді Server-Sent Events (SSE).

Request

GET
/openapi/v1/print/multi-color/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream
curl -N https://api.meshy.ai/openapi/v1/print/multi-color/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response Stream

// Error event example
event: error
data: {
  "status_code": 404,
  "message": "Task not found"
}

// Message event examples illustrate task progress.
// These examples are shortened. Each event holds the full task object.
event: message
data: {
  "id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
  "progress": 0,
  "status": "PENDING"
}

event: message
data: {
  "id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
  "type": "print-multi-color",
  "model_urls": {
    "3mf": "https://assets.meshy.ai/***/tasks/a43b5c6d-7e8f-901a-234b-567c890d1e2f/output/model.3mf?Expires=***"
  },
  "progress": 100,
  "status": "SUCCEEDED",
  "preceding_tasks": 0,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "expires_at": 1700259201000,
  "task_error": null,
"consumed_credits": 10
}

Параметри

  • Name
    id
    Type
    path
    Description

    ID задачі з відповіді на створення.

Повертає

Потік об'єктів задачі багатоколірного друку у вигляді Server-Sent Events.

Кожна подія містить повний об'єкт задачі, у тому ж форматі, що повертає кінцева точка отримання. Поки задача має статус PENDING або IN_PROGRESS, її поля результату ще не мають значень.


Об'єкт завдання багатоколірного друку

Об'єкт завдання багатоколірного друку описує одне перетворення 3D-моделі у файл багатоколірного друку 3MF. Він містить статус, progress і файл 3MF, коли завдання виконано успішно.

The 3D Print Task Object

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "print-multi-color",
  "model_urls": {
      "3mf": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.3mf?Expires=***"
},
  "progress": 100,
  "status": "SUCCEEDED",
  "preceding_tasks": 0,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "expires_at": 1700259201000,
  "task_error": null,
"consumed_credits": 10
}
  • Name
    id
    Type
    string
    Description

    ID завдання. Розглядайте його як непрозорий рядок і не покладайтеся на його формат.

  • Name
    type
    Type
    string
    Description

    Тип завдання, завжди print-multi-color.

  • Name
    model_urls
    Type
    object
    Description

    URL-адреси для завантаження надрукованої моделі, по одній для кожного формату файлу. Якщо формат не було згенеровано завданням, ключ для нього відсутній, а не містить порожній рядок.

    • Name
      3mf
      Type
      string
      Description

      Файл багатоколірного друку 3MF.

  • Name
    progress
    Type
    integer
    Description

    Наскільки виконано завдання, у відсотках. Значення 0, доки завдання не почалося, і 100, коли воно успішно завершене.

  • Name
    status
    Type
    string
    Description

    Статус завдання, один із PENDING, IN_PROGRESS, SUCCEEDED, FAILED або CANCELED.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Кількість завдань попереду цього в черзі. Значення має сенс лише тоді, коли завдання має статус PENDING.

  • Name
    created_at
    Type
    timestamp
    Description

    Час створення завдання, у мілісекундах Unix.

  • Name
    started_at
    Type
    timestamp
    Description

    Час початку виконання завдання, у мілісекундах Unix. Значення 0, доки завдання не почалося.

  • Name
    finished_at
    Type
    timestamp
    Description

    Час завершення завдання, у мілісекундах Unix. Значення 0, доки завдання не завершиться.

  • Name
    expires_at
    Type
    timestamp
    Description

    Час, коли результат завдання стає недійсним, у мілісекундах Unix. Значення 0, доки завдання не завершиться.

  • Name
    task_error
    Type
    object
    Description

    Деталі помилки, якщо завдання завершилося невдало. Див. Помилки.

  • Name
    consumed_credits
    Type
    integer
    Description

    Кількість кредитів, використаних завданням. Присутнє, коли статус — PENDING, IN_PROGRESS або SUCCEEDED. Для завдання зі статусом FAILED значення дорівнює 0, оскільки Meshy повертає кредити, якщо завдання завершується невдало.