Мульти-зображення у 3D API — це функція, яка дозволяє інтегрувати можливості Meshy з Мульти-зображення у 3D у ваш додаток. У цьому розділі ви знайдете всю необхідну інформацію для початку роботи з цим API.
Ця кінцева точка дозволяє створити нове завдання Мульти-зображення у 3D. Перейдіть до
Об'єкт завдання Мульти-зображення у 3D, щоб дізнатися, які властивості входять до об'єкта завдання Мульти-зображення у 3D.
Параметри
Вимагається лише один із input_task_id або image_urls. Якщо надано обидва, input_task_id має пріоритет.
Name
input_task_id
Type
string
Обов'язковий
Description
Ідентифікатор завершеного завдання генерації зображення, вихід якого (1-4 зображення) повинен бути використаний як вхід. Це завдання повинно бути одним з наступних: Текст у зображення, Зображення у зображення, Текст у зображення Мультівид або Зображення у зображення Мультівид. Крім того, воно має бути виконане через API і мати статус SUCCEEDED.
Name
image_urls
Type
array
Обов'язковий
Description
Надайте від 1 до 4 зображень, які Meshy буде використовувати для створення моделі. Підтримуються формати .jpg, .jpeg, та .png. Усі зображення мають показувати той самий об'єкт з різних кутів для кращого результату.
Є два способи надати кожне зображення:
Публічний доступний URL: URL, що доступний з публічного інтернету.
Data URI: Базове64-кодоване Data URI зображення. Приклад Data URI: data:image/jpeg;base64,<your base64-encoded image data>.
Для meshy-7 (або latest), перше зображення використовується як основний (фронтальний) вигляд. Порядок решти зображень не має значення.
Name
ai_model
Type
string
за замовчуванням latest
Description
Ідентифікатор моделі, яку слід використовувати. Доступні значення: meshy-5, meshy-6, meshy-7, latest (Meshy 7).
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). Вищі роздільності захоплюють більше поверхневих деталей.
4k і 8k вимагають ai_modelmeshy-6, meshy-7 або latest. При 8k, карта емісії не виробляється.
Name
hd_texture
Type
boolean
⚠ застарілий
за замовчуванням false
Description
Використовуйте texture_resolution замість цього — еквівалентно texture_resolution: "4k". Коли встановлено обидва, texture_resolution має пріоритет.
Name
texture_prompt
Type
string
Description
Надайте текстовий prompt, щоб спрямувати процес текстурування. Максимум 600 символів.
Name
texture_image_url
Type
string
Description
Надайте 2D-зображення для спрямування процесу текстурування. Підтримуються формати .jpg, .jpeg, та .png.
Є два способи надати зображення:
Публічний доступний URL: URL, що доступний з публічного інтернету
Data URI: Базове64-кодоване Data URI зображення. Приклад Data URI: data:image/jpeg;base64,<your base64-encoded image data>
Текстурування зображення може не спрацювати оптимально, якщо є суттєві розбіжності між геометрією оригінального ассету та завантаженим зображенням. Може бути використано тільки одне з texture_image_url або texture_prompt для спрямування процесу текстурування. Якщо надані обидва параметри, за замовчуванням texture_prompt буде використано для текстурування моделі.
Name
should_remesh
Type
boolean
за замовчуванням false (meshy-6), true (інші)
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
Вкажіть режим пози для згенерованої моделі.
Доступні значення:
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 або latest.
Name
remove_lighting
Type
boolean
за замовчуванням true
Description
Видаляє відблиски і тіні з текстури основного кольору, забезпечуючи чистіший результат, який працює краще у власних налаштуваннях освітлення.
Підтримується тільки коли ai_model є meshy-6, meshy-7 або 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 зображень.
Невалідний формат зображення: Одне або більше зображень у image_urls мають недопустимі формати.
Недоступний URL: Один або більше image_urls не змогли бути завантажені.
Name
401 - Unauthorized
Description
Помилка автентифікації. Перевірте свій API-ключ.
Name
402 - Payment Required
Description
Недостатньо кредитів для виконання цього завдання.
Name
429 - Too Many Requests
Description
Ви перевищили обмеження частоти.
Запит
POST
/openapi/v1/multi-image-to-3d
# Простий запитcurlhttps://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>" ] }'# З текстуруванням PBR і форматом GLBcurlhttps://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>" ], "should_texture": true, "enable_pbr": true, "target_formats": ["glb"] }'
Ця кінцева точка дозволяє отримати завдання Мульти-зображення у 3D за умови дійсного id завдання.
Перейдіть до Об'єкт завдання Мульти-зображення у 3D, щоб дізнатися, які властивості входять до об'єкта завдання Мульти-зображення у 3D.
Параметри
Name
id
Type
path
Description
Унікальний ідентифікатор для завдання Мульти-зображення у 3D, яке потрібно отримати.
Ця кінцева точка потоково передає оновлення в режимі реального часу для завдання Мульти-зображення у 3D, використовуючи Серверні Надіслані Події (SSE).
Параметри
Name
id
Type
path
Description
Унікальний ідентифікатор для завдання Мульти-зображення у 3D для потокової передачі.
Об'єкт завдання Мульти-зображення у 3D — це робоча одиниця, яку Meshy відстежує для генерації 3D моделі з декількох зображень (від 1 до 4 включно). Зображення повинні бути одного і того ж об'єкта, бажано з різних видів або кутів. Об'єкт має наступні властивості:
Властивості
Name
id
Type
string
Description
Унікальний ідентифікатор для завдання. Ми використовуємо UUID, сортується як K, для ідентифікаторів завдання як деталь реалізації, але ви не повинні робити будь-які припущення про формат ідентифікатора.
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 до ремешу.
Доступний лише, коли завдання створено з обома параметрами 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
progress
Type
integer
Description
Прогрес завдання. Якщо завдання ще не розпочато, ця властивість буде 0. Після успішного виконання завдання це стане 100.
Name
started_at
Type
timestamp
Description
Мітка часу, коли завдання було розпочато, в мілісекундах. Якщо завдання ще не розпочато, ця властивість буде 0.
Мітка часу представляє кількість мілісекунд, що минули з 1 січня 1970 р. за UTC, відповідно до стандарту RFC 3339. Наприклад, п'ятниця, 1 вересня 2023 р., о 12:00:00 за Гринвічем представлено як 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-5, ця властивість буде опущена.
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 завдань (кредити повертаються у разі помилки).