Creative Lab — API брелока

Перетворіть вихідне фото на медальйон-брелок, придатний для 3D-друку, — кольоровий рельєф глибини у формі значка — у два етапи: prototype генерує кольорове концептуальне зображення з вашого вхідного фото, а потім build перетворює це концептуальне зображення на рельєфну 3D-модель. Обидва етапи пов'язані через input_task_id.

  • POST /openapi/creative-lab/keychain/v1/prototype
  • POST /openapi/creative-lab/keychain/v1/build

POST/openapi/creative-lab/keychain/v1/prototype

Create a Keychain Prototype Task

Згенеруйте одне кольорове концептуальне зображення з вихідної фотографії. Отриманий ID завдання — це те, що ви передаєте як input_task_id до кінцевої точки побудови. Зверніться до Об'єкта завдання прототипу брелока щодо форми відповіді.

Параметри

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

    Вихідна фотографія, яку Meshy розфарбує у концептуальне зображення, готове для брелока. Наразі підтримуються формати .jpg, .jpeg, .png та .webp.

    Є два способи надати зображення:

    • Загальнодоступна URL-адреса: URL-адреса, доступна з публічного інтернету.
    • Data URI: закодований у base64 data URI зображення. Приклад data URI: data:image/jpeg;base64,<ваші base64-закодовані дані зображення>.
  • Name
    name
    Type
    string
    Description

    Необов'язкова назва завдання для відображення. Максимум 100 символів.

    Це позначає завдання у вашій панелі керування та списках завдань. Воно не гравіюється на брелоку — для цього використовуйте name_text.

  • Name
    name_text
    Type
    string
    Description

    Текст для гравіювання на брелоку, наприклад, ім'я тварини або людини. Максимум 10 символів, що рахуються як символи Unicode, а не байти, тому 10-символьне ім'я китайською, японською чи корейською мовою прийнятне. Пропустіть цей параметр, щоб отримати брелок без гравіювання.

    Пробіли навколо тексту обрізаються, а невидимі символи форматування видаляються перед використанням тексту. Отримане значення повертається як name_text в об'єкті завдання прототипу, тож ви можете підтвердити, що саме буде вигравіювано, перш ніж платити за етап побудови.

    Гравіювання застосовується тут, на етапі прототипу. Етап побудови успадковує його автоматично і не приймає власного name_text.

  • Name
    remove_background
    Type
    boolean
    за замовчуванням false
    Description

    Якщо встановлено true, зображення прототипу повертається як прозорий RGBA PNG з видаленим фоном, тож ви можете скомпонувати об'єкт з будь-яким фоном.

    Це контролює лише зображення, яке повертає ця кінцева точка. Це окремо від опції побудови з такою ж назвою (за замовчуванням true), яка керує видаленням фону перед рельєфуванням.

Повертає

Властивість result відповіді містить id завдання щойно створеного завдання прототипу брелока. Опитуйте кінцеву точку Отримати завдання або підпишіться на потік, доки завдання не досягне статусу SUCCEEDED, потім передайте цей ID до кінцевої точки побудови як input_task_id.

Режими відмови

  • Name
    400 - Bad Request
    Description

    Запит було неприйнятним. Поширені причини:

    • Відсутній параметр: image_url є обов'язковим.
    • Недійсний формат зображення: наданий image_url не має підтримуваного формату (.jpg, .jpeg, .png, .webp).
    • Розміри зображення поза допустимим діапазоном: зображення надто мале, перевищує максимальний розмір файлу або перевищує максимальну кількість пікселів.
    • Недоступна URL-адреса: image_url не вдалося завантажити (404 або timeout).
    • Недійсний Data URI: base64-рядок має неправильний формат.
    • Гравіювання надто довге: name_text довше за 10 символів. Запит відхиляється, а не обрізається, тому з вас ніколи не стягуватиметься плата за брелок з вигравіюваним скороченим ім'ям.
    • Контент позначено: вихідне зображення було позначено модерацією NSFW або інтелектуальної власності, або гравіювання name_text було позначено модерацією NSFW. Гравіювання перевіряється лише на NSFW-контент — перевірка на інтелектуальну власність застосовується до зображення.
  • Name
    401 - Unauthorized
    Description

    Автентифікація не вдалася. Будь ласка, перевірте свій API-ключ.

  • Name
    402 - Payment Required
    Description

    Недостатньо кредитів для виконання цього завдання.

  • Name
    429 - Too Many Requests
    Description

    Ви перевищили обмеження частоти.

Request

POST
/openapi/creative-lab/keychain/v1/prototype
# Stage 1: generate a colorized keychain concept image
curl https://api.meshy.ai/openapi/creative-lab/keychain/v1/prototype \
  -X POST \
  -H "Authorization: Bearer ${YOUR_API_KEY}" \
  -H 'Content-Type: application/json; charset=utf-8' \
  -d '{
    "image_url": "<your publicly accessible image url or base64-encoded data URI>",
    "name_text": "Luna"
  }'

Response

{
  "result": "018a210d-8ba4-705c-b111-1f1776f7f578"
}
Prototype example
Start with a source photo, then generate the prototype image used by the keychain build stage.
Source photo used as the Creative Lab Keychain input
Prototype input
Creative Lab Keychain prototype output generated from the source photo
Prototype output

POST/openapi/creative-lab/keychain/v1/build

Створити завдання побудови брелока

Створює фінальний медальйон-брелок, придатний для 3D-друку, на основі успішно виконаного завдання прототипування. Побудова виконує конвеєр рельєфу на основі карти глибини поверх кольорового концептуального зображення прототипу та повертає єдиний артефакт-сітку у форматі, який ви вкажете. Форму відповіді дивіться в розділі Об'єкт завдання побудови брелока.

Параметри

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

    Ідентифікатор завдання прототипу, створеного через цю саму OpenAPI кінцеву точку. Прототип мав бути створений за допомогою того самого API-ключа, мав досягти статусу SUCCEEDED та мав створити рівно одне зображення-кандидат.

    Завдання прототипів, створені через веб-застосунок, не приймаються — кінцева точка побудови приймає лише завдання прототипів, створені через POST /openapi/creative-lab/keychain/v1/prototype, і відхиляє будь-яке інше джерело з кодом 404.

  • Name
    name
    Type
    string
    Description

    Необов'язкова назва завдання для відображення. Максимум 100 символів.

options

Необов'язкові параметри налаштування геометрії рельєфу. Кожне поле має розумне значення за замовчуванням — надсилайте лише ті, які хочете перевизначити.

  • Name
    badge_shape
    Type
    string
    за замовчуванням circle
    Description

    Контурний силует медальйона-брелока. Доступні значення:

    • circle (за замовчуванням)
    • rounded-rect
    • hexagon
    • shield
    • star
  • Name
    size_mm
    Type
    number
    за замовчуванням 40
    Description

    Довжина сторони обмежувального квадрата брелока, в міліметрах. Діапазон: (0, 400].

  • Name
    relief_height_mm
    Type
    number
    за замовчуванням 2.2
    Description

    Максимальна висота рельєфу над основою, в міліметрах. Діапазон: [0, 20].

  • Name
    relief_offset_mm
    Type
    number
    за замовчуванням 0
    Description

    Вертикальне зміщення, застосоване до рельєфу перед екструзією, в міліметрах. Діапазон: [0, 20].

  • Name
    base_thickness_mm
    Type
    number
    за замовчуванням 0.1
    Description

    Товщина плоскої основної пластини за рельєфом, в міліметрах. Діапазон: [0, 20].

  • Name
    has_closed_back
    Type
    boolean
    за замовчуванням true
    Description

    Чи запечатана задня частина медальйона як замкнена поверхня. Встановіть false для відкритої оболонки.

  • Name
    relief_curve
    Type
    string
    за замовчуванням linear
    Description

    Передавальна крива, що відображає значення карти глибини на висоту рельєфу. Доступні значення:

    • linear (за замовчуванням)
    • gamma
    • s-curve
  • Name
    curve_param
    Type
    number
    за замовчуванням 1.0
    Description

    Параметр форми для передавальної кривої (має значення лише коли relief_curve дорівнює gamma). Діапазон: (0, 10].

  • Name
    invert_depth
    Type
    boolean
    за замовчуванням false
    Description

    Інвертувати інтерпретацію карти глибини так, щоб темніші ділянки ставали вищим рельєфом.

  • Name
    smoothing
    Type
    number
    за замовчуванням 0.24
    Description

    Сила згладжування, застосована до карти глибини перед вилученням рельєфу. Діапазон: [0, 10].

  • Name
    relief_scale
    Type
    number
    за замовчуванням 1.0
    Description

    Множник вертикального масштабу, застосований поверх relief_height_mm. Діапазон: (0, 10].

  • Name
    depth_threshold
    Type
    number
    за замовчуванням 0.1
    Description

    Поріг нижніх частот для значень карти глибини; все, що нижче цього значення, обрізається до нуля. Діапазон: [0, 1].

  • Name
    remove_background
    Type
    boolean
    за замовчуванням true
    Description

    Автоматично видаляти фон концептуального зображення прототипу перед створенням рельєфу.

    Не плутати з однойменним параметром прототипу (за замовчуванням false), який керує тим, чи повертається саме зображення прототипу з прозорістю.

  • Name
    export_resolution
    Type
    integer
    за замовчуванням 512
    Description

    Роздільна здатність сітки, що використовується для експорту. Діапазон: [64, 2048].

output

Необов'язковий селектор формату передачі. За замовчуванням glb.

  • Name
    format
    Type
    string
    за замовчуванням glb
    Description

    Пакет артефактів, що повертається побудовою. Доступні значення:

    • glb (за замовчуванням) — повертає єдиний model.glb за model_urls.glb.
    • obj — архівує model.obj + model.mtl + texture.png та повертає пакет за model_urls.obj.
    • zip — архівує кожен артефакт, який видає генератор, та повертає пакет за model_urls.bundle_zip.

Повертає

Властивість result відповіді містить id завдання щойно створеного завдання побудови брелока. Опитуйте кінцеву точку Отримати завдання або підпишіться на потік, доки завдання не досягне статусу SUCCEEDED, потім завантажте артефакт з єдиного запису в model_urls.

Режими відмови

  • Name
    400 - Bad Request
    Description

    Запит неприйнятний. Поширені причини:

    • Відсутній параметр: input_task_id є обов'язковим.
    • Недійсний UUID: input_task_id не є дійсним UUID.
    • Батьківське завдання не завершено успішно: Вказане завдання прототипу ще не досягло статусу SUCCEEDED.
    • Немає кандидата: Завдання прототипу завершилось успішно, але не створило жодного зображення-кандидата.
    • Параметри поза діапазоном: Одне з полів options вийшло за межі дозволеного діапазону або набору перелічуваних значень.
  • Name
    401 - Unauthorized
    Description

    Помилка автентифікації. Будь ласка, перевірте свій API-ключ.

  • Name
    402 - Payment Required
    Description

    Недостатньо кредитів для виконання цього завдання.

  • Name
    404 - Not Found
    Description

    Вказане завдання прототипу не існує, належить іншому користувачу або було створене через веб-застосунок (лише завдання прототипів у режимі API можуть переходити у побудову).

  • Name
    429 - Too Many Requests
    Description

    Ви перевищили обмеження частоти.

Request

POST
/openapi/creative-lab/keychain/v1/build
# Stage 2: chain build off a succeeded prototype task
curl https://api.meshy.ai/openapi/creative-lab/keychain/v1/build \
  -X POST \
  -H "Authorization: Bearer ${YOUR_API_KEY}" \
  -H 'Content-Type: application/json' \
  -d '{
    "input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "options": {
      "badge_shape": "circle",
      "size_mm": 40,
      "relief_height_mm": 2.5
    },
    "output": {
      "format": "glb"
    }
  }'

Response

{
  "result": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb"
}
Приклад побудови
Завдання побудови перетворює вибране зображення прототипу на 3D-модель брелока, придатну для друку.
Попередній перегляд моделі побудови брелока Creative Lab
Попередній перегляд моделі побудови

GET/openapi/creative-lab/keychain/v1/(prototype|build)/:id

Отримати завдання брелока

Отримати завдання прототипу або збірки за дійсним id завдання. Шлях URL має відповідати етапу завдання — якщо завдання збірки запитати через /prototype/:id, буде повернено 404, і навпаки.

Формати відповіді описано в розділах Об'єкт завдання прототипу брелока та Об'єкт завдання збірки брелока.

Параметри

  • Name
    id
    Type
    path
    Description

    Унікальний ідентифікатор завдання брелока, яке потрібно отримати.

Повертає

Відповідь містить об'єкт завдання брелока. Формат залежить від того, який етап було запитано.

Request

GET
/openapi/creative-lab/keychain/v1/prototype/018a210d-8ba4-705c-b111-1f1776f7f578
# Prototype
curl https://api.meshy.ai/openapi/creative-lab/keychain/v1/prototype/018a210d-8ba4-705c-b111-1f1776f7f578 \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

# Build
curl https://api.meshy.ai/openapi/creative-lab/keychain/v1/build/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Prototype Response

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "creative-lab-keychain-prototype",
  "name": "",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1729123456000,
  "started_at": 1729123460000,
  "finished_at": 1729123486000,
  "expires_at": 1729382686000,
  "preceding_tasks": 0,
  "task_error": null,
  "consumed_credits": 6,
  "image_urls": [
    "https://assets.meshy.ai/***/concept.png?Expires=***"
  ]
}

Build Response

{
  "id": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb",
  "type": "creative-lab-keychain-build",
  "name": "",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1729123500000,
  "started_at": 1729123510000,
  "finished_at": 1729123535000,
  "expires_at": 1729382735000,
  "preceding_tasks": 0,
  "task_error": null,
  "consumed_credits": 20,
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/model.glb?Expires=***"
  }
}

DELETE/openapi/creative-lab/keychain/v1/(prototype|build)/:id

Delete a Keychain Task

Скасувати завдання брелока. Якщо завдання все ще перебуває в стані PENDING, кредити, витрачені під час створення, повертаються. Завдання, які вже перебувають у стані IN_PROGRESS, скасовуються без повернення коштів (воркер, можливо, вже витрачає ресурси). Завдання, які вже досягли термінального стану (SUCCEEDED, FAILED, CANCELED), не можуть бути скасовані.

Шлях URL має відповідати етапу завдання — DELETE для /prototype/:buildId повертає 404.

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

  • Name
    id
    Type
    path
    Description

    Унікальний ідентифікатор завдання брелока, яке потрібно скасувати.

Повертає

Повертає 204 No Content у разі успіху з порожнім тілом.

Режими збоїв

  • Name
    400 - Bad Request
    Description

    Завдання вже перебуває в термінальному стані і не може бути скасоване.

  • Name
    404 - Not Found
    Description

    Завдання не існує, належить іншому користувачу, або його етап не відповідає шляху URL.

Request

DELETE
/openapi/creative-lab/keychain/v1/prototype/018a210d-8ba4-705c-b111-1f1776f7f578
curl --request DELETE \
  --url https://api.meshy.ai/openapi/creative-lab/keychain/v1/prototype/018a210d-8ba4-705c-b111-1f1776f7f578 \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Response

// Returns 204 No Content on success (empty body).

GET/openapi/creative-lab/keychain/v1/(prototype|build)/:id/stream

Stream a Keychain Task

Транслюйте оновлення завдання брелока в реальному часі за допомогою Server-Sent Events (SSE). Шлях URL має відповідати етапу завдання — відкриття потоку за адресою /prototype/:buildId/stream видає єдине корисне навантаження event: error зі status_code: 404 і закриває потік.

Параметри

  • Name
    id
    Type
    path
    Description

    Унікальний ідентифікатор завдання брелока для трансляції.

Повертає

Повертає потік об'єктів завдання Keychain Prototype або Keychain Build як Server-Sent Events. Кожен кадр містить повний об'єкт завдання для цього етапу — ту саму форму, яку повертає кінцева точка Get — тому поки завдання має статус PENDING або IN_PROGRESS, вихідні поля просто ще не заповнені (null, [] або {}), а finished_at дорівнює null.

Request

GET
/openapi/creative-lab/keychain/v1/build/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/stream
curl -N https://api.meshy.ai/openapi/creative-lab/keychain/v1/build/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response Stream

// Error event example (wrong stage or task not found)
event: error
data: {
  "status_code": 404,
  "message": "Task not found"
}

// Message event examples illustrate task progress.
// Every frame is the full task object; fields not yet populated are null / empty.
// The PENDING frame below is abbreviated to the fields that change.
event: message
data: {
  "id": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb",
  "progress": 0,
  "status": "PENDING"
}

event: message
data: {
  "id": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb",
  "type": "creative-lab-keychain-build",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1729123500000,
  "started_at": 1729123510000,
  "finished_at": 1729123535000,
  "expires_at": 1729382735000,
  "task_error": null,
  "consumed_credits": 20,
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/model.glb?Expires=***"
  }
}

GET/openapi/creative-lab/keychain/v1/(prototype|build)

List Keychain Tasks

Отримайте пагінований список ваших завдань брелока для одного етапу. Шлях URL визначає етап — /prototype повертає завдання прототипу; /build повертає завдання збірки. Завдання з іншого етапу не включаються в жодну з відповідей.

Path Parameters

  • Name
    stage
    Type
    path
    Обов'язковий
    Description

    prototype або build. Колекція повертає лише завдання, чий етап відповідає URL — запит /prototype ніколи не повертає завдання збірки, і навпаки.

Query Parameters

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

    Номер сторінки для пагінації.

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

    Обмеження розміру сторінки. Максимально дозволено 100 елементів.

  • Name
    sort_by
    Type
    string
    за замовчуванням -created_at
    Description

    Поле для сортування. Доступні значення:

    • +created_at: Сортувати за часом створення у порядку зростання.
    • -created_at: Сортувати за часом створення у порядку спадання.

Returns

Повертає пагінований список об'єкта завдання відповідного етапу — або об'єкт завдання прототипу брелока при отриманні списку /prototype, або об'єкт завдання збірки брелока при отриманні списку /build.

Request

GET
/openapi/creative-lab/keychain/v1/prototype
# List prototype tasks
curl https://api.meshy.ai/openapi/creative-lab/keychain/v1/prototype?page_size=10 \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

# List build tasks
curl https://api.meshy.ai/openapi/creative-lab/keychain/v1/build?page_size=10 \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Response (List Prototype Tasks)

[
  {
    "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "type": "creative-lab-keychain-prototype",
    "name": "",
    "status": "SUCCEEDED",
    "progress": 100,
    "created_at": 1729123456000,
    "started_at": 1729123460000,
    "finished_at": 1729123486000,
    "expires_at": 1729382686000,
    "preceding_tasks": 0,
    "task_error": null,
    "consumed_credits": 6,
    "image_urls": [
      "https://assets.meshy.ai/***/concept.png?Expires=***"
    ]
  }
]

The Keychain Prototype Task Object

Об'єкт Keychain Prototype Task — це одиниця роботи, яку Meshy відстежує для генерації колоризованого концептуального зображення з вихідної фотографії. Результат цього етапу передається до етапу побудови через input_task_id.

Властивості

  • Name
    id
    Type
    string
    Description

    Унікальний ідентифікатор завдання. Хоча в якості деталі реалізації ми використовуємо k-сортований UUID для ідентифікаторів завдань, вам не слід робити жодних припущень щодо формату id.

  • Name
    type
    Type
    string
    Description

    Тип завдання. Значення — creative-lab-keychain-prototype.

  • Name
    name
    Type
    string
    Description

    Назва завдання, надана під час його створення. Порожній рядок, якщо назву не було вказано.

  • Name
    name_text
    Type
    string
    Description

    Гравіювання, застосоване до цього брелока, після обрізання та видалення невидимих символів форматування. Відсутнє, якщо завдання було створено без name_text. Порівняйте його з тим, що ви надіслали, щоб переконатися, що текст не постраждав від кодування вашого HTTP-клієнта.

  • Name
    status
    Type
    string
    Description

    Статус завдання. Можливі значення: PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.

  • Name
    progress
    Type
    integer
    Description

    Progress завдання. Якщо завдання ще не розпочато, це значення буде 0. Щойно завдання завершиться успішно, воно стане 100.

  • Name
    created_at
    Type
    timestamp
    Description

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

  • Name
    started_at
    Type
    timestamp
    Description

    Мітка часу початку виконання завдання, у мілісекундах. Якщо завдання ще не розпочато, це значення буде 0.

  • Name
    finished_at
    Type
    timestamp
    Description

    Мітка часу завершення завдання, у мілісекундах. Якщо завдання ще не завершено, це значення буде 0.

  • Name
    expires_at
    Type
    timestamp
    Description

    Мітка часу закінчення строку дії результату завдання, у мілісекундах.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Кількість завдань, що передують цьому.

  • Name
    task_error
    Type
    object
    Description

    Деталі помилки для завдань, що завершилися невдало. Дивіться Помилки для повного опису об'єкта task_error.

  • Name
    consumed_credits
    Type
    integer
    Description

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

  • Name
    image_urls
    Type
    array of strings
    Description

    URL-адреси для завантаження кандидатів концептуальних зображень, згенерованих цим прототипним завданням. Наразі API завжди повертає рівно одного кандидата; поле є масивом, щоб майбутні версії могли надавати кілька кандидатів без критичних змін.

Example Keychain Prototype Task Object

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "creative-lab-keychain-prototype",
  "name": "",
  "name_text": "Luna",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1729123456000,
  "started_at": 1729123460000,
  "finished_at": 1729123486000,
  "expires_at": 1729382686000,
  "preceding_tasks": 0,
  "task_error": null,
  "consumed_credits": 6,
  "image_urls": [
    "https://assets.meshy.ai/***/concept.png?Expires=***"
  ]
}

Об'єкт Keychain Build Task

Об'єкт Keychain Build Task — це одиниця роботи, яку Meshy відстежує для генерації фінальної 3D-сітки брелока з успішно виконаної задачі прототипу. Побудова виконує конвеєр рельєфу карти глибини на концептуальному зображенні прототипу та публікує єдиний артефакт сітки у форматі, запитаному викликачем.

Властивості

  • Name
    id
    Type
    string
    Description

    Унікальний ідентифікатор задачі.

  • Name
    type
    Type
    string
    Description

    Тип задачі. Значення — creative-lab-keychain-build.

  • Name
    name
    Type
    string
    Description

    Назва задачі, надана під час її створення. Порожній рядок, якщо назву не було вказано.

  • Name
    status
    Type
    string
    Description

    Статус задачі. Можливі значення: одне з PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.

  • Name
    progress
    Type
    integer
    Description

    Прогрес виконання задачі. Якщо задача ще не розпочата, це значення дорівнює 0. Коли задача успішно завершена, воно стає 100.

  • Name
    created_at
    Type
    timestamp
    Description

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

  • Name
    started_at
    Type
    timestamp
    Description

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

  • Name
    finished_at
    Type
    timestamp
    Description

    Мітка часу завершення задачі, у мілісекундах.

  • Name
    expires_at
    Type
    timestamp
    Description

    Мітка часу закінчення терміну дії результату задачі, у мілісекундах.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Кількість попередніх задач у черзі. Має значення лише коли статус — PENDING.

  • Name
    task_error
    Type
    object
    Description

    Деталі помилки для невдалих задач. Див. Помилки для повного опису об'єкта task_error.

  • Name
    consumed_credits
    Type
    integer
    Description

    Кількість кредитів, витрачених цією задачею. Повертає 0 для задач зі статусом FAILED (кредити повертаються у разі невдачі).

  • Name
    model_urls
    Type
    object
    Description

    URL-адреси для завантаження згенерованого артефакту, ключем яких є назва артефакту. Завжди містить рівно один запис — формат, запитаний через output.format у запиті на побудову. Ключ відповідає запитаному формату:

    • Name
      glb
      Type
      string
      Description

      URL-адреса для завантаження файлу GLB. Присутнє, коли output.format мав значення glb (значення за замовчуванням).

    • Name
      obj
      Type
      string
      Description

      URL-адреса для завантаження zip-пакета, що містить model.obj, model.mtl та texture.png. Присутнє, коли output.format мав значення obj.

    • Name
      bundle_zip
      Type
      string
      Description

      URL-адреса для завантаження zip-пакета з усіма артефактами, які генерує генератор. Присутнє, коли output.format мав значення zip.

Example Keychain Build Task Object

{
  "id": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb",
  "type": "creative-lab-keychain-build",
  "name": "",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1729123500000,
  "started_at": 1729123510000,
  "finished_at": 1729123535000,
  "expires_at": 1729382735000,
  "preceding_tasks": 0,
  "task_error": null,
  "consumed_credits": 20,
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/model.glb?Expires=***"
  }
}