Creative Lab — API лампы

Преобразуйте текстовый prompt или исходную фотографию в пригодный для 3D-печати абажур в два этапа: прототип создает стилизованное матово-белое концептуальное изображение, затем сборка превращает это концептуальное изображение в полый STL-абажур (при необходимости в паре с базовым диском для крепления источника света). Эти два этапа связаны через input_task_id.

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

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

Создать задачу прототипа лампы

Сгенерируйте единое концептуальное изображение абажура матово-белого цвета — либо из текстового prompt (text-to-3D), либо из референс-фотографии (image-to-3D). Возвращаемый ID задачи — это значение, которое вы передаете как input_task_id в эндпоинт сборки. См. Объект задачи прототипа лампы для структуры ответа.

Параметры

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

    Текстовый prompt, описывающий желаемый объект для абажура. Требуется, если image_url не указан. Максимум 800 символов.

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

    Исходное фото, которое Meshy использует как визуальный референс для абажура. Требуется, если text не указан. В настоящее время мы поддерживаем форматы .jpg, .jpeg, .png и .webp.

    Есть два способа предоставить изображение:

    • Публично доступный URL: URL, доступный из публичного интернета.
    • Data URI: Data URI изображения, закодированный в base64. Пример Data URI: data:image/jpeg;base64,<your base64-encoded image data>.
  • Name
    image_subject
    Type
    string
    по умолчанию character
    Description

    Подсказка категории объекта для пути image-to-3D. Доступные значения:

    • character (по умолчанию) — одиночный персонаж / объект (фигурка, животное, маскот и т. д.).
    • landscape — уличная сцена / панорамный объект (гора, городской пейзаж, лес и т. д.).

    Игнорируется для пути text-to-3D.

  • Name
    name
    Type
    string
    Description

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

Возвращает

Свойство result ответа содержит id задачи только что созданной задачи прототипа лампы. Опрашивайте эндпоинт Получить задачу или подпишитесь на stream, пока задача не достигнет SUCCEEDED, затем передайте этот ID в эндпоинт сборки как input_task_id.

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

  • Name
    400 - Bad Request
    Description

    Запрос был неприемлем. Распространенные причины:

    • Отсутствующий параметр: Требуется ровно одно из text или image_url.
    • Переданы оба: Передача одновременно text и image_url отклоняется — они взаимоисключающие.
    • Недопустимый формат изображения: Предоставленный image_url не относится к поддерживаемым форматам (.jpg, .jpeg, .png, .webp).
    • Размеры изображения вне допустимого диапазона: Изображение слишком маленькое, превышает максимальный размер файла или превышает максимальное количество пикселей.
    • Недоступный URL: image_url не удалось скачать (404 или timeout).
    • Недопустимый Data URI: Строка base64 имеет неверный формат.
    • Контент помечен: Входное изображение было помечено NSFW или moderation интеллектуальной собственности.
    • Текст слишком длинный: text превышает 800 символов.
    • Недопустимый image_subject: Не является одним из character / landscape.
  • Name
    401 - Unauthorized
    Description

    Аутентификация не удалась. Проверьте свой API-ключ.

  • Name
    402 - Payment Required
    Description

    Недостаточно кредитов для выполнения этой задачи.

  • Name
    429 - Too Many Requests
    Description

    Вы превысили свое ограничение частоты.

Request

POST
/openapi/creative-lab/lamp/v1/prototype
# Stage 1 (image-to-3D): generate a matte-white lampshade concept image
curl https://api.meshy.ai/openapi/creative-lab/lamp/v1/prototype \
  -X POST \
  -H "Authorization: Bearer ${YOUR_API_KEY}" \
  -H 'Content-Type: application/json' \
  -d '{
    "image_url": "<your publicly accessible image url or base64-encoded data URI>",
    "image_subject": "character"
  }'

# Stage 1 (text-to-3D): generate from a text prompt
curl https://api.meshy.ai/openapi/creative-lab/lamp/v1/prototype \
  -X POST \
  -H "Authorization: Bearer ${YOUR_API_KEY}" \
  -H 'Content-Type: application/json' \
  -d '{
    "text": "a stylized owl perched on a tree branch under moonlight"
  }'

Response

{
  "result": "018a210d-8ba4-705c-b111-1f1776f7f578"
}
Prototype example
Start with a source photo, then generate the prototype image used by the lamp build stage.
Исходное фото кота, используемое как входные данные Creative Lab Lamp
Prototype input
Выходной прототип Creative Lab Lamp, сгенерированный из исходного фото
Prototype output

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

Создать задачу сборки лампы

Сгенерируйте финальный пригодный для 3D-печати абажур из успешно выполненной задачи прототипа. Сборка запускает конвейер image-to-3D на концепт-изображении прототипа, затем выполняет постобработку сетки через процессор лампы, чтобы сделать ее полой, выровнять верх, при необходимости вырезать основание и (когда выбран пресет крепления) создать отдельный базовый диск для источника света. См. Объект задачи сборки лампы для формы ответа.

Параметры

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

    ID задачи прототипа, созданной через этот же OpenAPI endpoint. Прототип должен быть создан с тем же API-ключом, должен достичь SUCCEEDED и должен создать ровно одно изображение-кандидат.

    Задачи прототипов, созданные через веб-приложение, не принимаются — endpoint сборки принимает только задачи прототипов, созданные через POST /openapi/creative-lab/lamp/v1/prototype, и отклоняет любой другой источник с 404.

  • Name
    name
    Type
    string
    Description

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

options

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

  • Name
    diameter_mm
    Type
    number
    по умолчанию 80
    Description

    Целевой максимальный размер ограничивающего параллелепипеда абажура в миллиметрах. Сетка равномерно масштабируется для соответствия. Диапазон: [50, 400].

  • Name
    thickness_mm
    Type
    number
    по умолчанию 1.5
    Description

    Толщина стенки полого абажура в миллиметрах. Диапазон: (0, 10].

  • Name
    cut_amount_percent
    Type
    number
    по умолчанию 35
    Description

    Процент высоты абажура, который нужно выровнять сверху, чтобы печать могла стоять на столе. Диапазон: [1, 100].

  • Name
    light_source_preset
    Type
    string
    по умолчанию bambu_mh001_60mm
    Description

    Пресет крепления источника света, определяющий, нужно ли создавать базовый диск вместе с абажуром (и какой именно). Доступные значения:

    • bambu_mh001_60mm (по умолчанию) — создает базовый диск 60 мм, рассчитанный на совместимое крепление источника света. Результат включает model_urls.base_stl.
    • none — без крепления, без базового диска. model_urls.base_stl опускается.
  • Name
    fixture_offset_x_mm
    Type
    number
    по умолчанию 0
    Description

    Горизонтальное смещение по оси X выреза крепления относительно центра абажура в миллиметрах. Имеет смысл только когда light_source_presetnone. Диапазон: [-80, 80].

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

    Вертикальное смещение по оси Z выреза крепления относительно нижней части абажура в миллиметрах. Диапазон: [-80, 80].

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

    Поворот вокруг оси X, применяемый к импортированной сетке перед обработкой, в градусах. Диапазон: [-360, 360].

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

    Поворот вокруг оси Y, применяемый к импортированной сетке перед обработкой, в градусах. Диапазон: [-360, 360].

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

    Поворот вокруг оси Z, применяемый к импортированной сетке перед обработкой, в градусах. Диапазон: [-360, 360].

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

    Когда true и output.format равен zip, включает result.json процессора лампы (содержащий измеренные метрики сетки + итоговый набор опций) внутрь пакета. Игнорируется, когда output.format равен stl.

output

Необязательный селектор формата передачи. По умолчанию используется stl.

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

    Пакет артефактов, возвращаемый сборкой. Доступные значения:

    • stl (по умолчанию) — возвращает абажур как model_urls.lamp_stl, а также model_urls.base_stl, когда light_source_presetnone.
    • zip — упаковывает каждый артефакт, создаваемый процессором (lamp.stl, необязательный base.stl, необязательный result.json), в один zip-файл и возвращает его в model_urls.bundle_zip.

Возвращает

Свойство result в ответе содержит id задачи новой созданной задачи сборки лампы. Опрашивайте endpoint Получить задачу или подпишитесь на поток, пока задача не достигнет SUCCEEDED, затем скачайте артефакты из model_urls.

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

  • Name
    400 - Bad Request
    Description

    Запрос был неприемлемым. Частые причины:

    • Отсутствующий параметр: input_task_id обязателен.
    • Недействительный UUID: input_task_id не является действительным UUID.
    • Родительская задача не выполнена успешно: указанная задача прототипа еще не достигла SUCCEEDED.
    • Нет кандидата: задача прототипа завершилась успешно, но не создала изображение-кандидат.
    • Опции вне диапазона: одно из полей options вышло за пределы допустимого диапазона или набора enum.
  • Name
    401 - Unauthorized
    Description

    Аутентификация не удалась. Проверьте ваш API-ключ.

  • Name
    402 - Payment Required
    Description

    Недостаточно кредитов для выполнения этой задачи.

  • Name
    404 - Not Found
    Description

    Указанная задача прототипа не существует, принадлежит другому пользователю или была создана через веб-приложение (в цепочку сборки могут переходить только задачи прототипов в API-mode).

  • Name
    429 - Too Many Requests
    Description

    Вы превысили свое ограничение частоты.

Request

POST
/openapi/creative-lab/lamp/v1/build
# Stage 2: chain build off a succeeded prototype task
curl https://api.meshy.ai/openapi/creative-lab/lamp/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": {
      "diameter_mm": 120,
      "thickness_mm": 2,
      "light_source_preset": "bambu_mh001_60mm",
      "cut_amount_percent": 30
    },
    "output": {
      "format": "stl"
    }
  }'

Response

{
  "result": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb"
}
Build example
The build task turns the selected prototype image into a printable lampshade model.
Creative Lab Lamp build model preview
Build model preview

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

Получить задачу лампы

Получить задачу прототипа или сборки по действительному id задачи. Путь URL должен соответствовать этапу задачи — задача сборки, полученная через /prototype/:id, возвращает 404, и наоборот.

См. Объект задачи прототипа лампы и Объект задачи сборки лампы для форматов ответа.

Параметры

  • Name
    id
    Type
    path
    Description

    Уникальный идентификатор задачи лампы, которую нужно получить.

Возвращает

Ответ содержит объект задачи лампы. Формат зависит от того, какой этап был запрошен.

Request

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

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

Prototype Response

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "creative-lab-lamp-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-lamp-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": {
    "lamp_stl": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/lamp.stl?Expires=***",
    "base_stl": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/base.stl?Expires=***"
  }
}

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

Удалить задачу лампы

Отменить задачу лампы. Если задача всё ещё находится в состоянии 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/lamp/v1/prototype/018a210d-8ba4-705c-b111-1f1776f7f578
curl --request DELETE \
  --url https://api.meshy.ai/openapi/creative-lab/lamp/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/lamp/v1/(prototype|build)/:id/stream

Потоковая передача задачи лампы

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

Параметры

  • Name
    id
    Type
    path
    Description

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

Возвращает

Возвращает поток объектов задач Прототип лампы или Сборка лампы в виде Server-Sent Events. Для задач PENDING или IN_PROGRESS поток ответа будет включать только необходимые поля progress и status.

Request

GET
/openapi/creative-lab/lamp/v1/build/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/stream
curl -N https://api.meshy.ai/openapi/creative-lab/lamp/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.
// For PENDING or IN_PROGRESS tasks, the response stream will not include all fields.
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-lamp-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": {
    "lamp_stl": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/lamp.stl?Expires=***",
    "base_stl": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/base.stl?Expires=***"
  }
}

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

Список задач лампы

Получите пагинированный список ваших задач лампы для одного этапа. Путь URL выбирает этап — /prototype возвращает задачи прототипа; /build возвращает задачи сборки. Задачи с другого этапа не включаются ни в один из ответов.

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

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

    Либо prototype, либо build. Коллекция возвращает только задачи, этап которых соответствует URL — запрос /prototype никогда не возвращает задачи сборки, и наоборот.

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

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

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

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

    Ограничение размера страницы. Максимально допустимое значение — 50 элементов.

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

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

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

Возвращает

Возвращает пагинированный список объекта задачи для конкретного этапа — либо объект задачи прототипа лампы при выводе списка /prototype, либо объект задачи сборки лампы при выводе списка /build.

Request

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

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

Response (List Prototype Tasks)

[
  {
    "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "type": "creative-lab-lamp-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=***"
    ]
  }
]

Объект задачи прототипа лампы

Объект задачи прототипа лампы — это рабочая единица, которую Meshy отслеживает для создания стилизованного матово-белого концепт-изображения либо из текстового prompt, либо из исходной фотографии. Выходные данные этого этапа передаются в этап сборки через input_task_id.

Свойства

  • Name
    id
    Type
    string
    Description

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

  • Name
    type
    Type
    string
    Description

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

  • Name
    name
    Type
    string
    Description

    Имя задачи, указанное при ее создании. Пустая строка, если имя не было указано.

  • 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 Lamp Prototype Task Object

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "creative-lab-lamp-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=***"
  ]
}

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

Объект задачи сборки лампы — это рабочая единица, которую Meshy отслеживает, чтобы сгенерировать финальный пригодный для 3D-печати абажур из успешно выполненной задачи прототипа. Сборка запускает конвейер черновой генерации image-to-3D + текстуры на концепт-изображении прототипа, затем выполняет постобработку сетки через процессор лампы, чтобы сделать ее полой, выровнять и (при необходимости) вырезать основание для крепления.

Свойства

  • Name
    id
    Type
    string
    Description

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

  • Name
    type
    Type
    string
    Description

    Тип задачи. Значение: creative-lab-lamp-build.

  • Name
    name
    Type
    string
    Description

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

  • 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

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

  • 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 и options.light_source_preset:

    • Name
      lamp_stl
      Type
      string
      Description

      Загружаемый URL-адрес для абажура lamp.stl. Присутствует, когда output.format был stl (по умолчанию).

    • Name
      base_stl
      Type
      string
      Description

      Загружаемый URL-адрес для основания крепления base.stl. Присутствует, когда output.format был stl и options.light_source_preset не был none. Отсутствует, когда пресет крепления был none.

    • Name
      bundle_zip
      Type
      string
      Description

      Загружаемый URL-адрес zip-пакета со всеми артефактами, которые выдает обработчик (lamp.stl, необязательный base.stl и — когда options.include_result_json равно trueresult.json). Присутствует, когда output.format был zip. Когда присутствует bundle_zip, lamp_stl / base_stl отсутствуют.

Example Lamp Build Task Object

{
  "id": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb",
  "type": "creative-lab-lamp-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": {
    "lamp_stl": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/lamp.stl?Expires=***",
    "base_stl": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/base.stl?Expires=***"
  }
}