API брелока Creative Lab
Превратите фотографию в брелок для 3D-печати с цветным рельефом за два этапа. Задача прототипа создаёт из фотографии цветное концептуальное изображение. Задача сборки превращает это изображение в рельефную 3D-модель и принимает идентификатор задачи прототипа в качестве input_task_id.
POST /openapi/creative-lab/keychain/v1/prototypePOST /openapi/creative-lab/keychain/v1/build
Create a Keychain prototype task
Создаёт одно цветное концептуальное изображение из фотографии. Чтобы построить 3D-модель, передайте ID этой задачи в эндпоинт сборки в качестве input_task_id. Описание полей задачи см. в разделе Объект задачи прототипа Keychain.
Request
# 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"
}


Параметры
- 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, отправленный в эндпоинт сборки.Если текст не является обычным ASCII, отправляйте тело запроса в кодировке UTF-8 с заголовком
Content-Type: application/json; charset=utf-8. Некоторые HTTP-клиенты, например Windows PowerShellInvoke-RestMethod, по умолчанию кодируют тело в ISO-8859-1. Это превращает каждый не-латинский символ в?ещё до того, как запрос достигнет Meshy, и Meshy не может отличить его от имени, которое вы намеревались отправить.
- 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 не создаёт задачу и возвращает все списанные кредиты. Повторите запрос.
Создать задачу сборки Keychain
Создаёт 3D-печатаемый брелок на основе успешно выполненной задачи прототипа. Meshy преобразует концепт-изображение прототипа в рельеф карты глубины и возвращает один файл модели в выбранном вами формате. Поля задачи описаны в разделе Объект задачи сборки Keychain.
Request
# 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"
}

Параметры
- 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, либо если не удаётся определить контур объекта.Доступные значения:
circlerounded-recthexagonshieldstar
- 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
Кривая, которая сопоставляет значения карты глубины с высотой рельефа.
Доступные значения:
lineargammas-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.glbobj: zip-файл сmodel.obj,model.mtlиtexture.png, вmodel_urls.objzip: 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. Отправьте IDresultиз ответа на создание прототипа.
- Name
429 - Too Many Requests- Description
Достигнут один из следующих лимитов:
- Вы отправили больше запросов, чем допускает ваше ограничение частоты. Подождите несколько секунд, затем повторите попытку. См. Ограничения частоты.
- Слишком много ваших задач находится в очереди или выполняется. Дождитесь завершения некоторых из них, затем повторите попытку.
- На безлимитном плане без оставшихся кредитов вы достигли числа задач, которые могут выполняться без кредитов. Дождитесь завершения задачи или добавьте кредиты.
Получить задачу брелка
Возвращает задачу прототипа или сборки. Путь должен соответствовать стадии задачи. Задача сборки, запрошенная через /prototype/:id, возвращает 404, и то же самое происходит с задачей прототипа, запрошенной через /build/:id.
Описание полей см. в разделах Объект задачи прототипа брелка и Объект задачи сборки брелка.
Request
# 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 задачи. Отправьте IDresultиз ответа при создании.
- Name
403 - Forbidden- Description
В вашей команде включена Фильтрация IP, и Meshy пометил изображение задачи прототипа как нарушающее права интеллектуальной собственности третьих лиц. Задачи сборки и команды на тарифе Enterprise не получают эту ошибку. Создайте задачу прототипа на основе изображения, на использование которого у вас есть права.
- Name
404 - Not Found- Description
Задача брелка с этим ID не принадлежит вашему аккаунту, либо стадия задачи не соответствует указанному пути. Проверьте ID и используйте
/prototypeили/buildв соответствии с задачей.
- Name
500 - Internal Server Error- Description
Meshy не смог выполнить проверку интеллектуальной собственности. Повторите запрос.
Удаление задачи брелока
Отменяет задачу брелока. Отмена задачи со статусом PENDING возвращает её кредиты. Задача со статусом IN_PROGRESS отменяется без возврата средств, поскольку её обработка уже началась воркером. Задачу с финальным статусом (SUCCEEDED, FAILED или CANCELED) отменить нельзя.
Путь должен соответствовать этапу задачи. Например, запрос DELETE к /prototype/:id с ID задачи build вернёт 404.
Request
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 задачи. Отправьте IDresultиз ответа на запрос создания.- Задача уже имеет финальный статус (
SUCCEEDED,FAILEDилиCANCELED), поэтому её нельзя отменить.
- Name
404 - Not Found- Description
Задача брелока с таким ID не принадлежит вашей учётной записи, либо этап задачи не соответствует пути. Проверьте ID и используйте
/prototypeили/buildв соответствии с задачей.
Передача задачи Keychain в режиме стриминга
Передаёт обновления задачи Keychain в виде Server-Sent Events (SSE). Путь должен соответствовать этапу задачи. Если это не так, например, если указан ID задачи build по пути /prototype/:id/stream, поток отправляет одно событие error со status_code: 404 и закрывается.
Request
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-запрос.
Получение списка задач Keychain
Возвращает ваши задачи брелока для одного этапа, по одной странице за раз. Путь выбирает этап. /prototype возвращает только задачи прототипа, а /build возвращает только задачи сборки.
Request
# 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_errorCANCELED: завершено, без результата
- 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_errorCANCELED: финальный статус, без результата
- 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.