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

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


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

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

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

Параметри

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

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

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

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

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

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

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

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

    • standard: Звичайна високодетальна генерація 3D-сітки.
    • smart-topology: Виберіть модель Smart Topology за допомогою ai_model (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.
  • 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-карти (металевість, шорсткість, нормалі) на додачу до базового кольору. Карта випромінювання (emission map) також включається, коли 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

    Надайте текстовий prompt для керування процесом текстурування. Максимум 800 символів.

  • Name
    texture_image_url
    Type
    string
    Description

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

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

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

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

    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

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

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

    • 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, завдання додатково рендерить чотири мініатюри з основних ракурсів (спереду, справа, ззаду, зліва) та повертає їх у полі 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: Base64-рядок сформований некоректно.
    • Недійсне поєднання параметрів: enable_pbr підтримується лише коли should_texture має значення true.
  • Name
    401 - Unauthorized
    Description

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

  • Name
    402 - Payment Required
    Description

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

  • Name
    429 - Too Many Requests
    Description

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

Request

POST
/openapi/v1/image-to-3d
# Simple request with required params
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>"
  }'

# With remesh, PBR, and A-pose
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}"

Відповідь

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

Відповідь

// Returns 200 Ok on success.

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

Відповідь

[
  {
    "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" за допомогою Server-Sent Events (SSE).

Параметри

  • Name
    id
    Type
    path
    Description

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

Повертає

Повертає потік Об'єктів завдання "Зображення у 3D" як Server-Sent Events.

Для завдань зі статусом 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

// Error event example
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": "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 для ідентифікаторів завдань як деталь реалізації, ви не повинні робити жодних припущень щодо формату id.

  • 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, повертається разом з експортами 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-адреса до версії thumbnail_url з прозорим фоном (RGBA). Присутня лише коли завдання було створено з 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

    Текстовий prompt, який використовувався для керування процесом текстурування.

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