Creative Lab — API для лампы

Превратите исходную фотографию в абажур лампы, готовый для 3D-печати, в два этапа: prototype создаёт стилизованное матово-белое концептуальное изображение и превращает его в полую 3D-модель (GLB), а затем build запускает обработчик лампы на этой модели, чтобы получить печатаемые детали в формате 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

Создание задачи прототипа лампы

Сгенерируйте одно матово-белое концептуальное изображение из референсного фото и конвертируйте его в полую 3D-модель абажура лампы. Ответ содержит как концептуальное изображение (image_urls), так и 3D-модель (model_urls.glb с thumbnail_url). Возвращённый 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
    image_subject
    Type
    string
    по умолчанию character
    Description

    Подсказка категории объекта, определяющая prompt стилизации. Доступные значения:

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

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

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

    При значении true изображение прототипа возвращается в виде прозрачного RGBA PNG с удалённым фоном, что позволяет накладывать объект на любой фон.

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

Свойство 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 некорректно сформирована.
    • Контент отмечен модерацией: входное изображение было отмечено moderation NSFW или интеллектуальной собственности.
    • Недопустимое значение 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: concept image + hollow 3D lampshade model from a source photo
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"
  }'

Response

{
  "result": "018a210d-8ba4-705c-b111-1f1776f7f578"
}
Prototype example
Начните с исходного фото; прототип возвращает концептуальное изображение и полую 3D-модель, которую обрабатывает этап сборки.
Source cat photo used as the Creative Lab Lamp input
Prototype input
Creative Lab Lamp prototype output generated from the source photo
Prototype output

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

Создание задачи сборки лампы

Генерирует финальные детали для 3D-печати из успешно завершённой задачи прототипа. Сборка запускает обработчик лампы для 3D-модели прототипа: он масштабирует модель до diameter_mm, выравнивает нижнюю часть на cut_amount_percent, делает полой до thickness_mm, открывает нижнюю часть и — если выбран пресет крепления — добавляет опорную пластину с отверстием под крепление и отдельное крепление для источника света. Форму ответа см. в разделе The Lamp Build Task Object.

Параметры

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

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

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

  • Name
    name
    Type
    string
    Description

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

options

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

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

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

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

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

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

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

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

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

    • bambu_mh001_60mm (по умолчанию) — плафон с открытым дном плюс опорная пластина с отверстием под крепление 60 мм, оба — в model_urls.lamp_stl, и крепление источника света — в model_urls.base_stl.
    • none — единый герметичный плафон в model_urls.lamp_stl; 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 (глубина) отверстия крепления на опорной пластине относительно центра плафона, в миллиметрах. Имеет значение только если light_source_presetnone. Диапазон: [-80, 80].

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

    Поворот вокруг оси X, применяемый к модели перед обработкой, в градусах. Три поворота применяются как углы Эйлера XYZ вокруг центра модели. Диапазон: [-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 задачи вновь созданной задачи сборки лампы. Опрашивайте эндпоинт Get a Task или подпишитесь на поток, пока задача не достигнет статуса SUCCEEDED, затем скачайте артефакты из model_urls.

Режимы сбоя

  • Name
    400 - Bad Request
    Description

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

    • Отсутствует параметр: требуется input_task_id.
    • Некорректный UUID: input_task_id не является допустимым UUID.
    • Родительская задача не завершена успешно: указанная задача прототипа ещё не достигла статуса SUCCEEDED.
    • Нет модели: задача прототипа завершилась успешно, но не сгенерировала 3D-модель.
    • Параметры вне допустимого диапазона: одно из полей 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/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"
}
Пример сборки
Задача сборки превращает 3D-модель прототипа в детали плафона, готовые для печати.
Предпросмотр модели сборки лампы в Creative Lab
Предпросмотр модели сборки

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": 30,
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***"
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
  "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": 6,
  "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.

Запрос

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}"

Ответ

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

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

Потоковая передача задачи Lamp

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

Параметры

  • Name
    id
    Type
    path
    Description

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

Возвращает

Возвращает поток объектов задач Lamp Prototype или Lamp Build в виде 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": 6,
  "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": 30,
    "model_urls": {
      "glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***"
    },
    "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
    "image_urls": [
      "https://assets.meshy.ai/***/concept.png?Expires=***"
    ]
  }
]

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

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

Свойства

  • Name
    id
    Type
    string
    Description

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

  • 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

    Прогресс выполнения задачи. Если задача ещё не начата, это свойство будет равно 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. Для задач со статусом FAILED возвращается 0 (кредиты возвращаются при неудаче).

  • Name
    model_urls
    Type
    object
    Description

    Ссылки для скачивания 3D-модели, созданной по концептуальному изображению. Присутствует после успешного завершения задачи; до этого — {}.

    • Name
      glb
      Type
      string
      Description

      Ссылка для скачивания полой матово-белой модели плафона лампы в формате GLB. Именно эту модель обрабатывает этап сборки.

  • Name
    thumbnail_url
    Type
    string
    Description

    Ссылка для скачивания отрендеренного превью 3D-модели. Пустая строка, пока задача не завершится успешно.

  • Name
    image_urls
    Type
    array of strings
    Description

    Ссылки для скачивания вариантов концептуального изображения, созданных этой задачей прототипа. В настоящее время 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": 30,
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***"
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
  "image_urls": [
    "https://assets.meshy.ai/***/concept.png?Expires=***"
  ]
}

Объект задачи сборки лампы (Lamp Build Task)

Объект Lamp Build Task — это единица работы, которую Meshy отслеживает для генерации финального 3D-печатаемого абажура из успешно завершённой задачи прототипа. Сборка запускает процессор лампы для 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

    Прогресс выполнения задачи. Если задача ещё не начата, это свойство будет равно 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

    Ссылки для скачивания сгенерированных артефактов, ключом служит имя артефакта. Набор ключей зависит от output.format и options.light_source_preset:

    • Name
      lamp_stl
      Type
      string
      Description

      Ссылка для скачивания lamp.stl: абажур с открытым дном вместе с опорной пластиной, несущей отверстие фиксатора, либо единый герметичный абажур, если options.light_source_preset был none. Присутствует, если output.format был stl (значение по умолчанию).

    • Name
      base_stl
      Type
      string
      Description

      Ссылка для скачивания base.stl — крепления фиксатора источника света. Присутствует, если output.format был stl и options.light_source_preset не был none. Отсутствует, если пресет фиксатора был none.

    • Name
      bundle_zip
      Type
      string
      Description

      Ссылка для скачивания 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": 6,
  "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=***"
  }
}