API Мульти-зображення у 3D — це функція, яка дозволяє інтегрувати можливості Meshy з Мульти-зображення у 3D у вашу власну програму. У цьому розділі ви знайдете всю інформацію,
необхідну для початку роботи з цим API.
Ця кінцева точка дозволяє створити нове завдання Мульти-зображення у 3D. Зверніться до
Об'єкт завдання Мульти-зображення у 3D, щоб побачити, які
властивості включені в об'єкт завдання Мульти-зображення у 3D.
Параметри
Обов'язково потрібен лише один з input_task_id або image_urls. Якщо надано обидва, input_task_id має пріоритет.
Name
input_task_id
Type
string
Обов'язковий
Description
ID завершеного завдання генерації зображення, вихідні дані якого (1-4 зображення) слід використати як вхідні дані. Це завдання має бути одним з наступних: Текст у зображення, Зображення у зображення, Текст у зображення Мультивид, або Зображення у зображення Мультивид. Крім того, воно має бути виконане через API та мати статус SUCCEEDED.
Name
image_urls
Type
array
Обов'язковий
Description
Надайте від 1 до 4 зображень, які Meshy використає для створення моделі. Наразі підтримуються формати .jpg, .jpeg та .png. Для найкращих результатів усі зображення повинні відображати той самий об'єкт з різних кутів.
Є два способи надати кожне зображення:
Загальнодоступний URL: URL, доступний з публічного інтернету.
Data URI: закодований у base64 data URI зображення. Приклад data URI: data:image/jpeg;base64,<your base64-encoded image data>.
Для meshy-7.1 (або latest) перше зображення використовується як основний (передній) вигляд. Порядок решти зображень не має значення.
meshy-7 (застаріле): використовуйте замість цього meshy-7.1.
Name
geometry_resolution
Type
string
за замовчуванням standard
Description
Прохід генерації геометрії. 2k запускає Ultra-прохід на 2048³. Потребує meshy-7.1 або latest.
Доступні значення: standard, 2k
Name
ultra_mode
Type
boolean
⚠ застарілий
за замовчуванням false
Description
Використовуйте замість цього geometry_resolution. ultra_mode: true еквівалентно geometry_resolution: "2k".
Name
should_texture
Type
boolean
за замовчуванням true
Description
Визначає, чи генеруються текстури. Встановлення false пропускає фазу текстурування, надаючи сітку без текстур.
Застосовується лише коли should_texture = true
Name
enable_pbr
Type
boolean
за замовчуванням false
Description
Генерувати PBR-карти (metallic, roughness, normal) на додаток до базового кольору. Карта випромінювання (emission map) також включається, коли ai_model дорівнює meshy-6, за винятком texture_resolution: 8k. meshy-6-lite, meshy-7.1 та latest не створюють карту випромінювання.
Name
texture_resolution
Type
string
за замовчуванням 2k
Description
Роздільна здатність текстури базового кольору. Одна з 2k (2048×2048), 4k (4096×4096), або 8k (8192×8192). Вища роздільна здатність захоплює більше деталей поверхні.
4k та 8k вимагають ai_modelmeshy-6, meshy-7.1 або latest. При 8k карта випромінювання не створюється.
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,<your base64-encoded image data>
Текстурування зображенням може працювати не оптимально, якщо є суттєві відмінності геометрії між оригінальним асетом та завантаженим зображенням. Для керування процесом текстурування можна використовувати лише один з texture_image_url або texture_prompt. Якщо надано обидва параметри, за замовчуванням для текстурування моделі буде використано texture_prompt.
Name
texture_image_urls
Type
string[]
Description
Надайте від 1 до 4 зображень, що показують той самий об'єкт з різних видів, для керування текстуруванням. Перше зображення є основним (переднім) видом; порядок решти видів (лівий, задній, правий) не має значення.
Кожен елемент приймає ті самі формати, що й texture_image_url (загальнодоступний URL або base64 data URI, .jpg/.jpeg/.png).
Ці зображення керують лише текстурою і не залежать від image_urls — обидва списки можуть містити різні зображення та різну кількість зображень.
Потребує ai_modelmeshy-7.1 або latest. Не можна поєднувати з texture_image_url або texture_prompt.
Name
should_remesh
Type
boolean
за замовчуванням false (Meshy 6 and Meshy 7 models), true (others)
Description
Керує тим, чи увімкнено фазу ремешу. Для моделі найвищої якості ми рекомендуємо встановити should_remesh у false.
Застосовується лише коли should_remesh = true
Name
topology
Type
string
за замовчуванням triangle
Description
Вкажіть topology згенерованої моделі.
Доступні значення:
quad: Генерувати сітку з переважанням чотирикутників.
triangle: Генерувати децимовану трикутну сітку.
Name
target_polycount
Type
integer
за замовчуванням 30,000
Description
Вкажіть цільову кількість полігонів у згенерованій моделі. Фактична кількість полігонів може відрізнятися від цілі залежно від складності геометрії.
Допустимий діапазон значень залежить від рівня користувача:
від 100 до 300 000 (включно)
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
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, щоб зберегти точний вигляд вхідних зображень без будь-якої стильової обробки.
Підтримується лише коли ai_model дорівнює meshy-6, meshy-7.1 або latest.
Name
remove_lighting
Type
boolean
за замовчуванням true
Description
Видаляє відблиски та тіні з текстури базового кольору, забезпечуючи чистіший результат, який краще працює за умов налаштованого власного освітлення.
Підтримується лише коли ai_model дорівнює meshy-6, meshy-7.1 або latest.
Name
moderation
Type
boolean
за замовчуванням false
Description
Коли встановлено true, вхідний вміст буде автоматично перевірено на потенційно шкідливий вміст. Якщо виявлено шкідливий вміст, завдання не перейде до генерації.
Кожне зображення з image_urls та текст з texture_prompt будуть перевірені.
Name
target_formats
Type
string[]
Description
Вказує, які 3D-файлові формати включати у вихідні дані. Будуть згенеровані та повернуті лише запитані формати, що може скоротити час виконання завдання.
Доступні значення: glb, obj, fbx, stl, usdz, 3mf
Якщо не вказано, генеруються всі формати, крім 3mf. 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 не змінюється й продовжує вказувати на передній вигляд, тож наявні клієнти не зазнають впливу.
Додає приблизно 3 секунди до затримки виконання завдання.
Застосовується лише коли auto_size = true
Name
origin_at
Type
string
за замовчуванням bottom
Description
Позиція початку координат, коли увімкнено auto_size. Доступні значення: bottom, center.
Повертає
Властивість result відповіді містить id завдання новостворенного завдання Мульти-зображення у 3D.
Режими відмов
Name
400 - Bad Request
Description
Запит було неможливо прийняти. Поширені причини:
Відсутній параметр: Має бути надано image_urls або input_task_id.
Недійсне вхідне завдання: input_task_id повинен вказувати на завдання Текст у зображення, Зображення у зображення або варіант Мультивид зі статусом SUCCEEDED.
Недійсна кількість зображень: image_urls має містити від 1 до 4 зображень, а texture_image_urls — від 1 до 4.
Недійсний формат зображення: Одне або кілька зображень у image_urls мають непідтримувані формати.
Конфліктні вхідні дані текстури: texture_image_urls не можна поєднувати з texture_image_url або texture_prompt, і потребує should_texture: true.
Непідтримувана модель для мультивидової текстури: texture_image_urls потребує ai_modelmeshy-7.1 або latest.
Недосяжний URL: Один або кілька елементів image_urls або texture_image_urls не вдалося завантажити.
Непідтримувана роздільна здатність для мультизображеного вхідного сигналу: geometry_resolution: "4k" недоступна на цій кінцевій точці; використовуйте 2k або standard.
Name
401 - Unauthorized
Description
Автентифікація не вдалася. Будь ласка, перевірте свій API-ключ.
Name
402 - Payment Required
Description
Недостатньо кредитів для виконання цього завдання.
Name
429 - Too Many Requests
Description
Ви перевищили своє обмеження частоти.
Request
POST
/openapi/v1/multi-image-to-3d
# Simple requestcurlhttps://api.meshy.ai/openapi/v1/multi-image-to-3d \-XPOST \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "image_urls": [ "<your publicly accessible image url or base64-encoded data URI>", "<your second publicly accessible image url or base64-encoded data URI>" ] }'# With Ultra 2K geometry, PBR texturing and GLB formatcurlhttps://api.meshy.ai/openapi/v1/multi-image-to-3d \-XPOST \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "image_urls": [ "<your publicly accessible image url or base64-encoded data URI>", "<your second publicly accessible image url or base64-encoded data URI>" ], "ai_model": "meshy-7.1", "geometry_resolution": "2k", "should_texture": true, "enable_pbr": true, "target_formats": ["glb"] }'
Ця кінцева точка дозволяє отримати завдання Мульти-зображення у 3D за дійсним id завдання.
Зверніться до Об'єкта завдання Мульти-зображення у 3D, щоб дізнатися, які
властивості включені до об'єкта завдання Мульти-зображення у 3D.
Параметри
Name
id
Type
path
Description
Унікальний ідентифікатор завдання Мульти-зображення у 3D, яке потрібно отримати.
Ця кінцева точка остаточно видаляє задачу Мульти-зображення у 3D, включно з усіма пов'язаними моделями та даними. Цю дію неможливо скасувати.
Параметри шляху
Name
id
Type
path
Description
ID задачі Мульти-зображення у 3D, яку потрібно видалити.
Статус задачі
Задача, яка все ще перебуває у статусі PENDING, видаляється, а кредити,
витрачені під час створення, повертаються.
Задачу, яка вже перебуває у статусі IN_PROGRESS, видалити неможливо: запит
відхиляється з кодом 409 Conflict, і задача продовжує виконуватися. Кредити за
задачу, виконання якої вже почав воркер, не підлягають поверненню, тому видалення
її під час виконання коштуватиме вам і кредитів, і результату. Дочекайтеся, поки
вона досягне статусу SUCCEEDED, FAILED або CANCELED, а потім видаліть її.
Задача у кінцевому статусі (SUCCEEDED, FAILED або CANCELED) видаляється
без повернення коштів.
Повертає
Повертає 200 OK у разі успіху або 409 Conflict, якщо задача має статус
IN_PROGRESS.
// 200 OK on success, with an empty body.//// 409 Conflict when the task is IN_PROGRESS — the task is left running:{"message":"Task is IN_PROGRESS and cannot be deleted. Credits for a task the worker has already started are not refundable; wait for it to reach SUCCEEDED, FAILED or CANCELED, then delete it."}
Об'єкт задачі Мульти-зображення у 3D — це робоча одиниця, яку Meshy відстежує для генерації 3D-моделі з кількох зображень (від 1 до 4 включно). Зображення мають бути одного й того ж об'єкта, бажано з різних ракурсів або кутів.
Об'єкт має такі властивості:
Властивості
Name
id
Type
string
Description
Унікальний ідентифікатор задачі. Хоча як деталь реалізації ми використовуємо k-сортований UUID для ідентифікаторів задач, ви не повинні робити жодних припущень щодо формату id.
Name
type
Type
string
Description
Тип задачі Мульти-зображення у 3D. Значення — multi-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 перед remesh.
Доступний лише коли задачу було створено з обома параметрами should_remesh: true та save_pre_remeshed_model: true.
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 до PNG-зображення 512×512, відрендереного з тими ж матеріалами та освітленням, що й thumbnail_url. Корисно для попереднього перегляду моделі з кількох кутів у пакетних конвеєрах без завантаження GLB.
Присутнє лише коли задачу було створено з multi_view_thumbnails: true і вона досягла стану SUCCEEDED. Старіші задачі та задачі, створені без цієї опції, не будуть містити це поле.
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_urls
Type
string[]
Description
URL для завантаження референсних зображень текстур, які були використані для створення задачі, у порядку їх надання. Присутні лише коли задачу було створено з texture_image_urls.
Name
ultra_mode
Type
boolean
⚠ застарілий
Description
Застаріле; використовуйте geometry_resolution замість цього.
Name
geometry_resolution
Type
string
Description
Рівень Ultra, з яким виконувалась задача (2k); відсутній для standard.
Name
progress
Type
integer
Description
Прогрес задачі. Якщо задача ще не розпочата, ця властивість буде 0. Коли задача завершиться успішно, значення стане 100.
Name
started_at
Type
timestamp
Description
Мітка часу, коли задача була розпочата, у мілісекундах. Якщо задача ще не розпочата, ця властивість буде 0.
Мітка часу представляє кількість мілісекунд, що минули з 1 січня 1970 UTC, відповідно до
стандарту RFC 3339.
Наприклад, п'ятниця, 1 вересня 2023 12:00:00 за GMT представлена як 1693569600000. Це стосується
усіх міток часу в Meshy API.
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 для завантаження зображення карти металевості.
Якщо задача створена з enable_pbr: false, ця властивість буде відсутня.
Name
normal
Type
string
Description
URL для завантаження зображення карти нормалей.
Якщо задача створена з enable_pbr: false, ця властивість буде відсутня.
Name
roughness
Type
string
Description
URL для завантаження зображення карти шорсткості.
Якщо задача створена з enable_pbr: false, ця властивість буде відсутня.
Name
emission
Type
string
Description
URL для завантаження зображення карти випромінювання.
Якщо задача створена з enable_pbr: false, або ai_model дорівнює meshy-6-lite, ця властивість буде відсутня.
Name
preceding_tasks
Type
integer
Description
Кількість попередніх задач.
Значення цього поля має сенс лише якщо статус задачі — PENDING.
Name
task_error
Type
object
Description
Деталі помилки для невдалих задач. Дивіться Помилки для повного опису об'єкта task_error.
Name
consumed_credits
Type
integer
Description
Кількість кредитів, витрачених на цю задачу. Присутнє, коли статус задачі — PENDING, IN_PROGRESS, або SUCCEEDED. Повертає 0 для задач зі статусом FAILED (кредити повертаються при невдачі).