lowpoly будет отключён 30 окт. 2026 г.. Перейдите на другую модель до этих дат, чтобы избежать ошибок в запросах. Все устаревшие функции

API брелока Creative Lab

Превратите фотографию в брелок для 3D-печати с цветным рельефом за два этапа. Задача прототипа создаёт из фотографии цветное концептуальное изображение. Задача сборки превращает это изображение в рельефную 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

Создаёт одно цветное концептуальное изображение из фотографии. Чтобы построить 3D-модель, передайте ID этой задачи в эндпоинт сборки в качестве input_task_id. Описание полей задачи см. в разделе Объект задачи прототипа Keychain.

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

Параметры

  • Name
    image_url
    Type
    string
    Обязательный
    Description

    Фотография, которую нужно превратить в концептуальное изображение брелока, в виде публичного URL или Data URI (data:image/jpeg;base64,<ваши данные изображения в base64>).

    Изображение должно быть файлом JPG, JPEG, PNG или WebP размером не более 20 МБ.

  • Name
    name
    Type
    string
    Description

    Название задачи, до 100 символов. Оно возвращается в поле name задачи. Более длинное название приводит к ошибке 400.

    Оно отображается в качестве метки задачи в вашей панели управления и списках задач и не появляется на самом брелоке. Чтобы разместить имя на брелоке, используйте name_text.

  • Name
    name_text
    Type
    string
    Description

    Имя для добавления на брелок, например имя питомца или человека, до 10 символов. Meshy считает символы, а не байты, поэтому 10-символьное имя на китайском, японском или корейском языке помещается. Более длинное имя приводит к ошибке 400. Оставьте пустым для брелока без имени.

    Имя отображается на лицевой стороне брелока как плоская цветная деталь, а не как выпуклый или вырезанный текст.

    Meshy обрезает окружающие пробелы и удаляет невидимые форматирующие символы. Объект задачи прототипа возвращает результат в поле name_text, так что вы можете проверить текст перед тем, как платить за сборку.

    Meshy добавляет имя на этапе прототипа. Сборка сохраняет его и игнорирует name_text, отправленный в эндпоинт сборки.

  • Name
    remove_background
    Type
    boolean
    по умолчанию false
    Description

    Удалять ли фон с изображения прототипа. true возвращает прозрачный RGBA PNG, сохраняющий весь медальон целиком, чтобы вы могли разместить его на любом фоне. Сборка также начинается с изображения без фона. Если Meshy не может удалить фон, он возвращает изображение с фоном, и задача всё равно завершается успешно.

    Параметр remove_background сборки отдельный.

Возвращаемые значения

Поле result содержит ID новой задачи прототипа. Получите задачу или передавайте её в потоке, пока status не станет SUCCEEDED. Затем передайте ID в эндпоинт сборки в качестве input_task_id.

Режимы сбоя

  • Name
    400 - Bad Request
    Description

    Запрос не может быть выполнен. Например:

    • Отсутствует image_url.
    • Изображение не является файлом JPG, JPEG, PNG или WebP.
    • Изображение слишком маленькое, превышает 20 МБ или превышает максимально допустимое количество пикселей.
    • Meshy не может загрузить изображение, например потому что URL возвращает 404 или истекает время ожидания.
    • Data URI содержит невалидный base64.
    • name_text длиннее 10 символов. Meshy отклоняет запрос, а не сокращает текст, и не списывает кредиты за запрос.
    • Изображение или name_text были помечены как NSFW.

    Сообщение об ошибке указывает, в чём проблема. Исправьте запрос и отправьте его снова.

  • Name
    401 - Unauthorized
    Description

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

  • Name
    402 - Payment Required
    Description

    Применимо одно из следующего:

    • На счёте недостаточно кредитов.
    • API-ключ, рабочая область или участник достигли лимита кредитов.
    • Аккаунт на бесплатном плане.

    Проверьте свои кредиты и план, затем повторите попытку.

  • Name
    403 - Forbidden
    Description

    В вашей команде включена функция IP Filtering, и Meshy пометил изображение как содержащее стороннюю интеллектуальную собственность. Отправьте изображение, на использование которого у вас есть права. Meshy проверяет на интеллектуальную собственность только изображение, но не name_text.

  • Name
    429 - Too Many Requests
    Description

    Достигнут один из следующих лимитов:

    • Вы отправили больше запросов, чем допускает ваше ограничение частоты. Подождите несколько секунд и повторите попытку. См. Ограничения частоты.
    • Слишком много ваших задач находится в очереди или выполняется. Дождитесь завершения некоторых из них, затем повторите попытку.
    • На безлимитном плане без оставшихся кредитов вы достигли количества задач, которые могут выполняться без кредитов. Дождитесь завершения задачи или добавьте кредиты.
  • Name
    500 - Internal Server Error
    Description

    В Meshy произошла ошибка сервера, например из-за невозможности выполнить проверку изображения на интеллектуальную собственность. Meshy не создаёт задачу и возвращает все списанные кредиты. Повторите запрос.


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

Создать задачу сборки Keychain

Создаёт 3D-печатаемый брелок на основе успешно выполненной задачи прототипа. Meshy преобразует концепт-изображение прототипа в рельеф карты глубины и возвращает один файл модели в выбранном вами формате. Поля задачи описаны в разделе Объект задачи сборки Keychain.

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 Keychain
Предпросмотр модели сборки

Параметры

  • Name
    input_task_id
    Type
    string
    Обязательный
    Description

    ID задачи прототипа, из которой выполняется сборка. Это должна быть задача, созданная вашим аккаунтом через POST /openapi/creative-lab/keychain/v1/prototype, со статусом SUCCEEDED.

    Если ID не относится к вашим задачам прототипа Keychain, созданным через API, возвращается 404, в том числе для прототипа, созданного в веб-приложении.

  • Name
    name
    Type
    string
    Description

    Название задачи, до 100 символов. Оно возвращается в поле name задачи. Более длинное имя приводит к 400.

options

Необязательные настройки формы рельефа. У каждого поля есть значение по умолчанию, поэтому отправляйте только те, которые хотите изменить. Значение вне диапазона поля приводит к 400.

  • Name
    badge_shape
    Type
    string
    по умолчанию circle
    Description

    Контур брелока, когда Meshy не обводит его по объекту. Meshy использует это значение, если remove_background равен false, либо если не удаётся определить контур объекта.

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

    • circle
    • rounded-rect
    • hexagon
    • shield
    • star
  • Name
    size_mm
    Type
    number
    по умолчанию 40
    Description

    Длина стороны ограничивающего квадрата брелока, в миллиметрах, до 400. 0 использует значение по умолчанию.

  • Name
    relief_height_mm
    Type
    number
    по умолчанию 2.2
    Description

    Максимальная высота рельефа над основанием, в миллиметрах, от 0 до 20.

  • Name
    relief_offset_mm
    Type
    number
    по умолчанию 0
    Description

    Насколько понизить рельеф, в миллиметрах, от 0 до 20. Meshy вычитает это значение из высоты рельефа повсюду, вплоть до основания.

  • 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

    Сила кривой, до 10. Используется кривыми gamma и s-curve, а linear её игнорирует. 0 использует значение по умолчанию.

  • Name
    invert_depth
    Type
    boolean
    по умолчанию false
    Description

    Инвертировать ли карту глубины, чтобы более тёмные области становились более высоким рельефом.

  • Name
    smoothing
    Type
    number
    по умолчанию 0.24
    Description

    Насколько сгладить карту глубины перед построением рельефа Meshy, от 0 до 10.

  • Name
    relief_scale
    Type
    number
    по умолчанию 1.0
    Description

    Насколько масштабировать рельеф и его текстуру внутри контура, относительно центра, до 10. Значение больше 1 увеличивает объект, а значение меньше 1 уменьшает его. Это не изменяет высоту рельефа. 0 использует значение по умолчанию.

  • Name
    depth_threshold
    Type
    number
    по умолчанию 0.1
    Description

    Значение карты глубины, ниже которого Meshy устанавливает глубину равной нулю, от 0 до 1.

  • Name
    remove_background
    Type
    boolean
    по умолчанию true
    Description

    Обводить ли контур брелока по объекту, чтобы брелок повторял форму объекта. false использует вместо этого контур badge_shape. Meshy также использует badge_shape, если не удаётся определить контур объекта.

    Это отдельный параметр от параметра прототипа remove_background, который задаёт, имеет ли изображение прототипа прозрачный фон.

  • Name
    export_resolution
    Type
    integer
    по умолчанию 512
    Description

    Разрешение сетки экспортируемой модели, от 64 до 512. Meshy строит геометрию из карты глубины размером 512 пикселей, поэтому более тонкая сетка добавит грани без добавления деталей. 0 использует значение по умолчанию.

output

Необязательно. Задаёт формат файла, возвращаемый сборкой.

  • Name
    format
    Type
    string
    по умолчанию glb
    Description

    Формат файла, возвращаемый сборкой.

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

    • glb: один файл model.glb, в model_urls.glb
    • obj: zip-файл с model.obj, model.mtl и texture.png, в model_urls.obj
    • zip: zip-файл со всеми файлами, сгенерированными Meshy, в model_urls.bundle_zip

Возвращаемые значения

Поле result содержит ID новой задачи сборки. Получите задачу или используйте потоковую передачу, пока status не станет SUCCEEDED. Затем скачайте файл из единственной записи в model_urls.

Режимы сбоя

  • Name
    400 - Bad Request
    Description

    Запрос не может быть выполнен. Например:

    • input_task_id отсутствует или не является корректным ID задачи.
    • Статус задачи прототипа не SUCCEEDED. Если она ещё выполняется, подождите и повторите попытку. Если она завершилась неудачей или была отменена, создайте новую задачу прототипа.
    • Задача прототипа завершилась успешно, но не содержит изображения. Создайте новую задачу прототипа.
    • Поле options выходит за пределы диапазона или содержит недопустимое значение.

    Сообщение об ошибке указывает, какая проблема была обнаружена.

  • Name
    401 - Unauthorized
    Description

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

  • Name
    402 - Payment Required
    Description

    Применимо одно из следующего:

    • На аккаунте недостаточно кредитов.
    • API-ключ, рабочая область или участник достигли лимита кредитов.
    • Аккаунт находится на бесплатном плане.

    Проверьте свои кредиты и план, затем повторите попытку.

  • Name
    404 - Not Found
    Description

    input_task_id не соответствует ни одной задаче прототипа Keychain, созданной вашим аккаунтом через API. Прототип, созданный в веб-приложении, также возвращает 404. Отправьте ID result из ответа на создание прототипа.

  • Name
    429 - Too Many Requests
    Description

    Достигнут один из следующих лимитов:

    • Вы отправили больше запросов, чем допускает ваше ограничение частоты. Подождите несколько секунд, затем повторите попытку. См. Ограничения частоты.
    • Слишком много ваших задач находится в очереди или выполняется. Дождитесь завершения некоторых из них, затем повторите попытку.
    • На безлимитном плане без оставшихся кредитов вы достигли числа задач, которые могут выполняться без кредитов. Дождитесь завершения задачи или добавьте кредиты.

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

Получить задачу брелка

Возвращает задачу прототипа или сборки. Путь должен соответствовать стадии задачи. Задача сборки, запрошенная через /prototype/:id, возвращает 404, и то же самое происходит с задачей прототипа, запрошенной через /build/:id.

Описание полей см. в разделах Объект задачи прототипа брелка и Объект задачи сборки брелка.

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": 30,
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/model.glb?Expires=***"
  }
}

Параметры

  • Name
    id
    Type
    path
    Description

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

Возвращает

Объект задачи прототипа или объект задачи сборки, в соответствии со стадией, указанной в пути.

Режимы отказа

  • Name
    400 - Bad Request
    Description

    id не является действительным ID задачи. Отправьте ID result из ответа при создании.

  • Name
    403 - Forbidden
    Description

    В вашей команде включена Фильтрация IP, и Meshy пометил изображение задачи прототипа как нарушающее права интеллектуальной собственности третьих лиц. Задачи сборки и команды на тарифе Enterprise не получают эту ошибку. Создайте задачу прототипа на основе изображения, на использование которого у вас есть права.

  • Name
    404 - Not Found
    Description

    Задача брелка с этим ID не принадлежит вашему аккаунту, либо стадия задачи не соответствует указанному пути. Проверьте ID и используйте /prototype или /build в соответствии с задачей.

  • Name
    500 - Internal Server Error
    Description

    Meshy не смог выполнить проверку интеллектуальной собственности. Повторите запрос.


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

Удаление задачи брелока

Отменяет задачу брелока. Отмена задачи со статусом PENDING возвращает её кредиты. Задача со статусом IN_PROGRESS отменяется без возврата средств, поскольку её обработка уже началась воркером. Задачу с финальным статусом (SUCCEEDED, FAILED или CANCELED) отменить нельзя.

Путь должен соответствовать этапу задачи. Например, запрос DELETE к /prototype/:id с ID задачи build вернёт 404.

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).

Параметры пути

  • Name
    id
    Type
    path
    Description

    ID задачи, которую нужно отменить.

Возвращает

204 No Content с пустым телом ответа.

Варианты ошибок

  • Name
    400 - Bad Request
    Description

    Применимо одно из следующего:

    • id не является допустимым ID задачи. Отправьте ID result из ответа на запрос создания.
    • Задача уже имеет финальный статус (SUCCEEDED, FAILED или CANCELED), поэтому её нельзя отменить.
  • Name
    404 - Not Found
    Description

    Задача брелока с таким ID не принадлежит вашей учётной записи, либо этап задачи не соответствует пути. Проверьте ID и используйте /prototype или /build в соответствии с задачей.


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

Передача задачи Keychain в режиме стриминга

Передаёт обновления задачи Keychain в виде Server-Sent Events (SSE). Путь должен соответствовать этапу задачи. Если это не так, например, если указан ID задачи build по пути /prototype/:id/stream, поток отправляет одно событие error со status_code: 404 и закрывается.

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 following PENDING frame is shortened 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": 30,
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/model.glb?Expires=***"
  }
}

Параметры

  • Name
    id
    Type
    path
    Description

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

Возвращает

Поток объектов задач prototype или build. Каждое событие содержит полный объект задачи, в том виде, в котором его возвращает Получение задачи Keychain. Пока задача находится в статусе PENDING или IN_PROGRESS, её поля вывода всё ещё пусты (null, [] или {}), а finished_at равно null.

Если IP Filtering блокирует результат задачи, поток вместо него отправляет одно событие error с тем status_code, который вернул бы get-запрос.


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

Получение списка задач Keychain

Возвращает ваши задачи брелока для одного этапа, по одной странице за раз. Путь выбирает этап. /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=***"
    ]
  }
]

Параметры пути

  • Name
    stage
    Type
    path
    Обязательный
    Description

    Этап для получения списка, prototype или build.

Параметры запроса

  • Name
    page_num
    Type
    integer
    по умолчанию 1
    Description

    Страница для возврата, от 1 до 255. 0 возвращает первую страницу. Значение за пределами диапазона от 0 до 255 возвращает 400.

  • Name
    page_size
    Type
    integer
    по умолчанию 10
    Description

    Количество задач на странице, до 100. Значение от 101 до 255 возвращает 100 задач, а 0 использует значение по умолчанию. Значение за пределами диапазона от 0 до 255 возвращает 400.

  • Name
    sort_by
    Type
    string
    по умолчанию -created_at
    Description

    Порядок сортировки.

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

    • -created_at: сначала новые
    • +created_at: сначала старые

Возвращает

Массив объектов задач прототипа или объектов задач сборки, в соответствии с этапом, указанным в пути.


Объект задачи прототипа Keychain

Задача прототипа генерирует цветное концептуальное изображение из фотографии. Чтобы превратить изображение в 3D-модель, передайте ID задачи в эндпоинт сборки как input_task_id.

Свойства

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=***"
  ]
}
  • Name
    id
    Type
    string
    Description

    ID задачи. Не полагайтесь на его формат.

  • Name
    type
    Type
    string
    Description

    Тип задачи, всегда creative-lab-keychain-prototype.

  • Name
    name
    Type
    string
    Description

    Значение name, отправленное вами при создании задачи, или "", если вы его не отправляли.

  • Name
    name_text
    Type
    string
    Description

    Имя, добавленное Meshy на брелок, после удаления пробелов и невидимых символов форматирования. Отсутствует, если вы не отправляли name_text. Чтобы убедиться, что ваш HTTP-клиент правильно закодировал текст, сравните его с тем, что вы отправили.

  • Name
    status
    Type
    string
    Description

    Статус задачи.

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

    • PENDING: ожидание в очереди
    • IN_PROGRESS: генерация результата
    • SUCCEEDED: завершено, с результатом
    • FAILED: завершено, с причиной в task_error
    • CANCELED: завершено, без результата
  • Name
    progress
    Type
    integer
    Description

    Процент выполненной работы, от 0 до 100. Равен 0 до начала задачи и 100, когда она успешно завершается.

  • Name
    created_at
    Type
    timestamp
    Description

    Время создания задачи, в миллисекундах Unix.

  • Name
    started_at
    Type
    timestamp
    Description

    Время, когда воркер начал выполнение задачи, в миллисекундах Unix. До этого — null.

  • Name
    finished_at
    Type
    timestamp
    Description

    Время, когда задача достигла финального статуса, в миллисекундах Unix. До этого — null.

  • Name
    expires_at
    Type
    timestamp
    Description

    Время истечения срока действия результата задачи, в миллисекундах Unix. Это 3 дня после finished_at, либо 3 дня после created_at, пока задача не завершена. Для аккаунтов Enterprise, которые хранят результаты API бессрочно, это значение примерно на 100 лет позже. См. Хранение ресурсов.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Позиция задачи в очереди, пока она имеет статус PENDING. 1 означает, что она начнётся следующей. 0 после того, как задача покинула очередь, и всегда 0 в результатах списка.

  • Name
    task_error
    Type
    object
    Description

    Причина, по которой задача завершилась неудачей. null, если status не равен FAILED. См. Ошибки.

  • Name
    consumed_credits
    Type
    integer
    Description

    Количество кредитов, списанных за задачу, после учёта любого возврата. Запрос, возвращающий ошибку, не оплачивается. Для неудачной задачи значение равно 0, так как Meshy возвращает средства. Отмена возвращает средства за задачу только пока она находится в статусе PENDING. Если Meshy не может определить сумму списания, поле отсутствует в ответе на запрос получения или потоковой передачи, а запрос списка возвращает 500. В этом случае повторите запрос.

  • Name
    image_urls
    Type
    array of strings
    Description

    URL-адреса для скачивания концептуального изображения. Массив содержит один URL после успешного завершения задачи, а до этого пуст.


Объект задачи сборки брелока

Задача сборки генерирует 3D-брелок из успешно выполненной задачи-прототипа. Она возвращает один файл модели в запрошенном вами формате.

Свойства

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": 30,
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/model.glb?Expires=***"
  }
}
  • Name
    id
    Type
    string
    Description

    ID задачи. Не полагайтесь на его формат.

  • Name
    type
    Type
    string
    Description

    Тип задачи, всегда creative-lab-keychain-build.

  • Name
    name
    Type
    string
    Description

    Значение name, отправленное вами при создании задачи, или "", если вы его не отправляли.

  • Name
    status
    Type
    string
    Description

    Статус задачи.

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

    • PENDING: ожидание в очереди
    • IN_PROGRESS: генерация результата
    • SUCCEEDED: финальный статус, с результатом
    • FAILED: финальный статус, с причиной в task_error
    • CANCELED: финальный статус, без результата
  • Name
    progress
    Type
    integer
    Description

    Процент выполненной работы, от 0 до 100. Равен 0, пока задача не начата, и 100, когда она успешно завершена.

  • Name
    created_at
    Type
    timestamp
    Description

    Время создания задачи, в миллисекундах Unix.

  • Name
    started_at
    Type
    timestamp
    Description

    Время, когда воркер начал выполнение задачи, в миллисекундах Unix. До этого момента — null.

  • Name
    finished_at
    Type
    timestamp
    Description

    Время достижения задачей финального статуса, в миллисекундах Unix. До этого момента — null.

  • Name
    expires_at
    Type
    timestamp
    Description

    Время истечения срока действия результата задачи, в миллисекундах Unix. Это значение равно finished_at плюс 3 дня, а до завершения задачи — created_at плюс 3 дня. Для аккаунтов Enterprise, которые хранят результаты API бессрочно, это значение отстоит примерно на 100 лет вперёд. См. Хранение ресурсов.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Позиция задачи в очереди, пока она имеет статус PENDING. 1 означает, что она начнётся следующей. 0 после того, как задача покидает очередь, и всегда 0 в результатах списка.

  • Name
    task_error
    Type
    object
    Description

    Причина сбоя задачи. null, если status не равен FAILED. См. Ошибки.

  • Name
    consumed_credits
    Type
    integer
    Description

    Количество кредитов, списанных за задачу, после учёта любых возвратов. Запрос, вернувший ошибку, не оплачивается. У неудачной задачи это значение 0, так как Meshy возвращает кредиты. Отмена возвращает кредиты за задачу только пока она имеет статус PENDING. Если Meshy не может прочитать данные о списании, ответ на get- или stream-запрос не включает это поле, а запрос списка возвращает 500. В этом случае повторите запрос.

  • 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-файла со всеми файлами, сгенерированными Meshy. Присутствует, если output.format равен zip.