Зображення у 3D API

Зображення у 3D API — це функція, яка дозволяє інтегрувати можливості Meshy перетворення зображень у 3D у вашій власній програмі. У цьому розділі ви знайдете всю необхідну інформацію для початку роботи з цим API.


POST/openapi/v1/image-to-3d

Створити завдання Зображення у 3D

Ця кінцева точка дозволяє створити нове завдання Зображення у 3D. Див. Об’єкт завдання Зображення у 3D, щоб дізнатися, які властивості включені в об'єкт завдання Зображення у 3D.

Параметри

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

    Ідентифікатор завершеного завдання з генерації зображень, виходу якого потрібно використовувати як вхідне зображення. Це завдання має бути одним із наступних: Текст у зображення або Зображення у зображення. Крім того, воно має бути запущено через API, мати статус SUCCEEDED і створити рівно одне зображення.

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

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

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

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

    Укажіть тип генерації 3D-сітки.

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

    • standard: Регулярна високодетальна генерація 3D-сітки.
    • smart-topology: Виберіть модель Smart Topology з ai_model (meshy-t1 або meshy-t2).
    • lowpoly (застаріле): Генерує низькополігональну сітку, оптимізовану для чистіших полігонів. Ми рекомендуємо використовувати smart-topology натомість.
  • Name
    ai_model
    Type
    string
    за замовчуванням latest
    Description

    ID моделі, яку потрібно використовувати. Доступні значення залежать від model_type.

    Стандартне покоління (model_type: standard):

    • meshy-5, meshy-6, meshy-7, latest (Meshy 7)

    Генерація Smart Topology (model_type: smart-topology):

    • meshy-t2 (за замовчуванням, рекомендовано): модель Smart Topology — чистіша topology, рідко розділені частини, трикутний вивід, і кількість граней, які можна встановити за допомогою target_polycount.
    • meshy-t1: стара низькополігональна модель; не підтримує встановлення кількості граней за допомогою target_polycount.
  • Name
    ultra_mode
    Type
    boolean
    за замовчуванням false
    Description

    Вмикає Ultra генерацію для геометрії вищої точності з детальнішою поверхнею.

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

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

Застосовується лише коли should_texture = true
  • Name
    enable_pbr
    Type
    boolean
    за замовчуванням false
    Description

    Генерація PBR-карт (металічність, шорсткість, нормалі) на додаток до базового кольору. Карта випромінювання також включена, коли ai_model є meshy-6, за винятком при texture_resolution: 8k. meshy-7 та latest не створюють карту випромінювання.

  • Name
    texture_resolution
    Type
    string
    за замовчуванням 2k
    Description

    Дозвіл текстури базового кольору. Один із 2k (2048×2048), 4k (4096×4096) або 8k (8192×8192). Вищі дозволи захоплюють більше деталей поверхні.

  • Name
    hd_texture
    Type
    boolean
    застарілий
    за замовчуванням false
    Description

    Використовуйте texture_resolution натомість — еквівалентний texture_resolution: "4k". Коли обидва встановлені, texture_resolution має перевагу.

  • Name
    texture_prompt
    Type
    string
    Description

    Надання текстового підказки для спрямування процесу текстурування. Максимум 600 символів.

  • Name
    texture_image_url
    Type
    string
    Description

    Надання 2D-зображення для спрямування процесу текстурування. Наразі ми підтримуємо формати .jpg, .jpeg і .png.

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

    • Публічно доступний URL: URL, який доступний з публічного інтернету
    • Data URI: базовий кодований Data URI зображення. Приклад Data URI: data:image/jpeg;base64,<your base64-encoded image data>
  • Name
    should_remesh
    Type
    boolean
    за замовчуванням false (meshy-6, meshy-7), true (інше)
    Description

    Керує включенням етапу ремешу. Для отримання моделі найвищої якості ми рекомендуємо встановити should_remesh на false.

Застосовується лише коли should_remesh = true
  • Name
    topology
    Type
    string
    за замовчуванням triangle
    Description

    Вкажіть topology створеної моделі.

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

    • quad: Генерація сітки, орієнтованої на квадрати.
    • triangle: Генерація декімованої трикутної сітки.
  • Name
    decimation_mode
    Type
    integer
    Description

    Включення адаптивної декімації шляхом встановлення рівня кількості полігонів. Коли встановлено, target_polycount ігнорується.

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

    • 1: Адаптивний — ультра кількість полігонів.
    • 2: Адаптивний — висока кількість полігонів.
    • 3: Адаптивний — середня кількість полігонів.
    • 4: Адаптивний — низька кількість полігонів.
  • Name
    save_pre_remeshed_model
    Type
    boolean
    за замовчуванням false
    Description

    Коли встановлено на true, Meshy також зберігає додатковий GLB файл перед завершенням фази ремешу.

  • Name
    target_polycount
    Type
    integer
    Description

    Цільове число полігонів (граней) у результаті. Фактична кількість може відхилятися від цілі в залежності від geometry.

    target_polycount набирає сили у двох незалежних випадках:

    • Ремеш — з should_remesh: true на standard моделі. Сітка переробляється (декімується) приблизно до цієї кількості. Діапазон від 100 до 300 000, за замовчуванням 30 000. Якщо встановлено decimation_mode, він має пріоритет, а target_polycount ігнорується.
    • Smart Topology — з model_type: smart-topology та ai_model: meshy-t2. Модель генерується безпосередньо при цій кількості граней; ремеш не запускається, і should_remesh не потрібний. Діапазон від 100 до 15 000, за замовчуванням 4 000.
  • Name
    symmetry_mode
    Type
    string
    застарілий
    за замовчуванням auto
    Description

    Застаріле. Цей параметр більше не впливає на вивід.

    Поле symmetry_mode контролює поведінку симетрії під час процесу генерації моделей.

    Дійсні значення:

    • off: Вимкнути симетрію.
    • auto: Автоматично визначити та застосовувати симетрію на основі вхідної геометрії.
    • on: Зобов’язує симетрію під час генерації.
  • Name
    pose_mode
    Type
    string
    за замовчуванням ""
    Description

    Вкажіть режим прив'язки для створеної моделі.

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

    • a-pose: Створити модель у позі A.
    • t-pose: Створити модель у позі T.
    • "" (порожній рядок): Не застосовувати конкретну пози.
  • Name
    is_a_t_pose
    Type
    boolean
    застарілий
    за замовчуванням false
    Description

    Використовуйте замість pose_mode. Чи слід створювати модель у позі A/T.

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

    Оптимізує вхідне зображення для кращих результатів. Встановіть false, щоб зберегти точний вигляд вхідного зображення без будь-якої обробки стилю.

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

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

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

    Коли встановлено true, вхідний контент буде автоматично перевірено на наявність потенційно шкідливого контенту. Якщо буде виявлено шкідливий контент, завдання не перейде до генерації.

    Конент із вхідних даних image_url, texture_image_url та texture_prompt буде перевірено.

  • Name
    target_formats
    Type
    string[]
    Description

    Вказує, які 3D формати файлів потрібно включити у вихідний результат. Тільки запитані формати будуть згенеровані та повернені, що може скоротити час виконання завдання. Коли цей параметр пропущено, включаються всі підтримувані формати.

    Доступні значення: glb, obj, fbx, stl, usdz, 3mf

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

    Коли встановлено true, служба використовує AI-зір, щоб автоматично оцінити реальну висоту об’єкта і відповідно змінити розмір моделі. Початок координат за замовчуванням буде bottom, якщо origin_at не встановлено явно.

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

    Коли встановлено true, додатково генерується прозора (RGBA) версія попереднього перегляду і повертається як alpha_thumbnail_url у відповіді GET. Існуюче поле thumbnail_url залишається без змін.

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

    Коли встановлено true, додатково генерується попередній перегляд з чотирьох кардинальних ракурсів (перед, праворуч, заду, ліворуч) і повертаються їхні URL на thumbnail_urls у відповіді GET. Існуюче поле thumbnail_url залишається без змін і продовжує вказувати на передній вигляд, тому існуючі клієнти не зазнають впливу.

Застосовується лише коли auto_size = true
  • Name
    origin_at
    Type
    string
    за замовчуванням bottom
    Description

    Положення початку координат, коли auto_size увімкнено.

    Доступні значення: bottom, center.

Повернення

Властивість result відповіді містить id завдання нового завдання Зображення у 3D.

Помилки

  • Name
    400 - Bad Request
    Description

    Запит був неприйнятний. Загальні причини:

    • Відсутній параметр: Потрібно надати або image_url, або input_task_id.
    • Недійсне вхідне завдання: input_task_id має посилатися на завдання Текст у зображення або Зображення у зображення зі статусом SUCCEEDED, яке виробляє рівно одне зображення.
    • Непідтримуваний формат зображення: Надаване image_url не є підтримуваним (.jpg, .jpeg, .png).
    • Неприступний URL: image_url не може бути завантажено (404 або timeout).
    • Неправильне Data URI: Базове64 строка неправильної форми.
    • Неправильне поєднання параметрів: enable_pbr підтримується лише тоді, коли should_texture дійсний.
  • Name
    401 - Unauthorized
    Description

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

  • Name
    402 - Payment Required
    Description

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

  • Name
    429 - Too Many Requests
    Description

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

Запит

POST
/openapi/v1/image-to-3d
# Простий запит з обов'язковими параметрами
curl https://api.meshy.ai/openapi/v1/image-to-3d \
  -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>"
  }'

# З ремешем, PBR і A-poses
curl https://api.meshy.ai/openapi/v1/image-to-3d \
  -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>",
    "enable_pbr": true,
    "should_remesh": true,
    "target_polycount": 100000,
    "should_texture": true,
    "pose_mode": "a-pose",
    "target_formats": ["glb"]
  }'

Response

{
  "result": "018a210d-8ba4-705c-b111-1f1776f7f578"
}

GET/openapi/v1/image-to-3d/:id

Отримати завдання Зображення у 3D

Ця кінцева точка дозволяє отримати завдання Зображення у 3D, маючи дійсний id завдання. Див. Об’єкт завдання Зображення у 3D, щоб дізнатися, які властивості включені в об'єкт завдання Зображення у 3D.

Параметри

  • Name
    id
    Type
    path
    Description

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

Повернення

Відповідь містить об'єкт завдання Зображення у 3D. Перевірте розділ Об’єкт завдання Зображення у 3D для деталей.

Запит

GET
/openapi/v1/image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578
curl https://api.meshy.ai/openapi/v1/image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578 \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Response

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "image-to-3d",
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
    "fbx": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***",
    "obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
    "usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
    "stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***",
    "pre_remeshed_glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/pre_remeshed_model.glb?Expires=***"
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
  "thumbnail_urls": {
    "front": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_front.png?Expires=***",
    "right": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_right.png?Expires=***",
    "back": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_back.png?Expires=***",
    "left": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_left.png?Expires=***"
  },
  "texture_prompt": "",
  "progress": 100,
  "started_at": 1692771667037,
  "created_at": 1692771650657,
  "expires_at": 1692771679037,
  "finished_at": 1692771669037,
  "status": "SUCCEEDED",
  "texture_urls": [
    {
      "base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***",
      "metallic": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX",
      "normal": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX",
      "roughness": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX",
      "emission": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX"
    }
  ],
  "preceding_tasks": 0,
  "task_error": {
    "message": ""
  },
  "consumed_credits": 30
}

DELETE/openapi/v1/image-to-3d/:id

Видалити завдання Зображення у 3D

Ця кінцева точка назавжди видаляє завдання Зображення у 3D, включно з усіма асоційованими моделями та даними. Ця дія незворотна.

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

  • Name
    id
    Type
    path
    Description

    Ідентифікатор завдання Зображення у 3D для видалення.

Повернення

Повертає 200 OK у разі успіху.

Запит

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

Response

// Повертає 200 Ok у разі успіху.

GET/openapi/v1/image-to-3d

Список завдань Зображення у 3D

Ця кінцева точка дозволяє отримувати список завдань Зображення у 3D.

Параметри

Додаткові атрибути

  • Name
    page_num
    Type
    integer
    Description

    Номер сторінки для пагінації. Починається і за замовчуванням дорівнює 1.

  • Name
    page_size
    Type
    integer
    Description

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

  • Name
    sort_by
    Type
    string
    Description

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

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

Повернення

Повертає список з пагінацією Об’єктів завдання Зображення у 3D.

Запит

GET
/openapi/v1/image-to-3d
curl https://api.meshy.ai/openapi/v1/image-to-3d?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response

[
  {
    "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "type": "image-to-3d",
    "model_urls": {
      "glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
      "fbx": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***",
      "obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
      "usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
      "pre_remeshed_glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/pre_remeshed_model.glb?Expires=***"
    },
    "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
    "thumbnail_urls": {
      "front": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_front.png?Expires=***",
      "right": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_right.png?Expires=***",
      "back": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_back.png?Expires=***",
      "left": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_left.png?Expires=***"
    },
    "texture_prompt": "",
    "progress": 100,
    "started_at": 1692771667037,
    "created_at": 1692771650657,
    "expires_at": 1692771679037,
    "finished_at": 1692771669037,
    "status": "SUCCEEDED",
    "texture_urls": [
      {
        "base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***",
        "metallic": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX",
        "normal": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX",
        "roughness": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX",
        "emission": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX"
      }
    ],
    "preceding_tasks": 0,
    "task_error": {
      "message": ""
    },
    "consumed_credits": 30
  }
]

GET/openapi/v1/image-to-3d/:id/stream

Потокове оновлення завдання Зображення у 3D

Ця кінцева точка передає в реальному часі оновлення завдання Зображення у 3D з використанням серверних подій (SSE).

Параметри

  • Name
    id
    Type
    path
    Description

    Унікальний ідентифікатор для завдання Зображення у 3D, щоб передати.

Повернення

Повертає потік Об’єктів завдання Зображення у 3D як серверні події.

Для завдань PENDING або IN_PROGRESS потік відповіді міститиме лише поля progress і status, необхідні для завдання.

Запит

GET
/openapi/v1/image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578/stream
curl -N https://api.meshy.ai/openapi/v1/image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response Stream

// Приклад помилки події
event: error
data: {
  "status_code": 404,
  "message": "Завдання не знайдено"
}

// Приклади подій повідомлень ілюструють прогрес завдання.
// Для завдань PENDING або IN_PROGRESS потік відповіді не включатиме всі поля.
event: message
data: {
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "progress": 0,
  "status": "PENDING"
}

event: message
data: {
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "image-to-3d",
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
    "fbx": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***",
    "obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
    "usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
    "stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***",
    "pre_remeshed_glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/pre_remeshed_model.glb?Expires=***"
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
  "thumbnail_urls": {
    "front": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_front.png?Expires=***",
    "right": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_right.png?Expires=***",
    "back": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_back.png?Expires=***",
    "left": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_left.png?Expires=***"
  },
  "texture_prompt": "",
  "progress": 100,
  "started_at": 1692771667037,
  "created_at": 1692771650657,
  "expires_at": 1692771679037,
  "finished_at": 1692771669037,
  "status": "SUCCEEDED",
  "texture_urls": [
    {
      "base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***",
      "metallic": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX",
      "normal": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX",
      "roughness": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX",
      "emission": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX"
    }
  ],
  "preceding_tasks": 0,
  "task_error": {
    "message": ""
  },
  "consumed_credits": 30
}

Об'єкт завдання Зображення у 3D

Об'єкт Завдання Зображення у 3D — це робочий блок, за яким Meshy відстежує для генерації 3D-моделі з зображення вхідних даних. Об'єкт має наступні властивості:

Властивості

  • Name
    id
    Type
    string
    Description

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

  • Name
    type
    Type
    string
    Description

    Тип завдання Зображення у 3D. Значення — image-to-3d.

  • Name
    model_urls
    Type
    object
    Description

    Завантажувані URL-адреси до тканини 3D моделі, згенерованої Meshy. Властивість для формату буде пропущено, якщо формат не згенерований, замість повернення пустого рядка.

    • Name
      glb
      Type
      string
      Description

      Завантажувана URL-адреса до файла GLB.

    • Name
      fbx
      Type
      string
      Description

      Завантажувана URL-адреса до файла FBX.

    • Name
      obj
      Type
      string
      Description

      Завантажувана URL-адреса до файла OBJ.

    • Name
      usdz
      Type
      string
      Description

      Завантажувана URL-адреса до файла USDZ.

    • Name
      mtl
      Type
      string
      Description

      Завантажувана URL-адреса до файла MTL, повертається разом з EXXпортами OBJ, коли є текстури.

    • Name
      stl
      Type
      string
      Description

      Завантажувана URL-адреса до файла STL.

    • Name
      3mf
      Type
      string
      Description

      Завантажувана URL-адреса до файла 3MF. Присутня лише тоді, коли 3mf запитується через target_formats.

    • Name
      pre_remeshed_glb
      Type
      string
      Description

      Завантажувана URL-адреса до оригінального GLB виходу перед ремешем.

  • Name
    thumbnail_url
    Type
    string
    Description

    Завантажувана URL-адреса до мініатюри зображення моделі. Еквівалентно thumbnail_urls.front, коли присутня, збережено для зворотньої сумісності.

  • Name
    alpha_thumbnail_url
    Type
    string
    Description

    Завантажувана URL-адреса до прозорої (RGBA) версії thumbnail_url. Присутня лише тоді, коли завдання створено з alpha_thumbnail: true, і прозорий попередній перегляд було успішно згенеровано; в іншому випадку це поле пропускається.

  • Name
    thumbnail_urls
    Type
    object
    Description

    Завантажувані URL-адреси чотирьох кардинальних ракурсів мініатюр згенерованої 3D-моделі. Кожне значення є підписаною URL-адресою до 512×512 PNG, зрендереної з тими ж матеріалами та освітленням, як thumbnail_url. Корисно для попереднього перегляду моделі з кількох ракурсів в пакетних конвеєрах без завантаження GLB.

    • Name
      front
      Type
      string
      Description

      Вид спереду, ротація на 0° навколо вертикальної осі (збігається з thumbnail_url).

    • Name
      right
      Type
      string
      Description

      Вид справа, ротація на 90°.

    • Name
      back
      Type
      string
      Description

      Вид ззаду, ротація на 180°.

    • Name
      left
      Type
      string
      Description

      Вид зліва, ротація на 270°.

  • Name
    texture_prompt
    Type
    string
    Description

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

  • Name
    texture_image_url
    Type
    string
    Description

    Завантажувана URL-адреса до текстури зображення, що була використана для управління процесом текстурування.

  • Name
    ultra_mode
    Type
    boolean
    Description

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

  • Name
    progress
    Type
    integer
    Description

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

  • Name
    started_at
    Type
    timestamp
    Description

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

  • Name
    created_at
    Type
    timestamp
    Description

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

  • Name
    expires_at
    Type
    timestamp
    Description

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

  • Name
    finished_at
    Type
    timestamp
    Description

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

  • Name
    status
    Type
    string
    Description

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

  • Name
    texture_urls
    Type
    array
    Description

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

    • Name
      base_color
      Type
      string
      Description

      Завантажувана URL-адреса до зображення базового кольору карти.

    • Name
      metallic
      Type
      string
      Description

      Завантажувана URL-адреса до зображення металічної карти.

    • Name
      normal
      Type
      string
      Description

      Завантажувана URL-адреса до зображення нормальної карти.

    • Name
      roughness
      Type
      string
      Description

      Завантажувана URL-адреса до зображення карти шорсткості.

    • Name
      emission
      Type
      string
      Description

      Завантажувана URL-адреса до зображення емісійної карти.

  • 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 (кредити повертаються у разі помилки).

Example Image to 3D Task Object

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "image-to-3d",
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
    "fbx": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***",
    "obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
    "usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
    "stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***",
    "pre_remeshed_glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/pre_remeshed_model.glb?Expires=***"
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
  "thumbnail_urls": {
    "front": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_front.png?Expires=***",
    "right": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_right.png?Expires=***",
    "back": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_back.png?Expires=***",
    "left": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_left.png?Expires=***"
  },
  "texture_prompt": "",
  "texture_image_url": "",
  "progress": 100,
  "started_at": 1692771667037,
  "created_at": 1692771650657,
  "expires_at": 1692771679037,
  "finished_at": 1692771669037,
  "status": "SUCCEEDED",
  "texture_urls": [
    {
      "base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***",
      "metallic": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX",
      "normal": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX",
      "roughness": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX",
      "emission": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX"
    }
  ],
  "preceding_tasks": 0,
  "task_error": {
    "message": ""
  },
  "consumed_credits": 30
}