Зображення у 3D API — це функція, яка дозволяє інтегрувати можливості Meshy перетворення зображень у 3D у вашій власній програмі. У цьому розділі ви знайдете всю необхідну інформацію для початку роботи з цим API.
Ця кінцева точка дозволяє створити нове завдання Зображення у 3D. Див. Об’єкт завдання Зображення у 3D, щоб дізнатися, які властивості включені в об'єкт завдання Зображення у 3D.
Параметри
Тільки один з input_task_id або image_url є обов'язковим. Якщо обидва надані, input_task_id має пріоритет.
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>.
meshy-t2 (за замовчуванням, рекомендовано): модель Smart Topology — чистіша topology, рідко розділені частини, трикутний вивід, і кількість граней, які можна встановити за допомогою target_polycount.
meshy-t1: стара низькополігональна модель; не підтримує встановлення кількості граней за допомогою target_polycount.
Name
ultra_mode
Type
boolean
за замовчуванням false
Description
Вмикає Ultra генерацію для геометрії вищої точності з детальнішою поверхнею.
Підтримується лише тоді, коли ai_model є meshy-7 (або latest).
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_model: meshy-5. При 8k карта випромінювання не створюється.
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>
Текстурування зображень може працювати не оптимально, якщо існують суттєві розбіжності геометрії між оригіналом asset та завантаженим зображенням. Можна використовувати лише один з texture_image_url або texture_prompt для спрямування процесу текстурування. Якщо надаються обидва параметри, то за замовчуванням буде використано texture_prompt, щоб текстурувати модель. Текстурування за допомогою тексту або зображення коштуватиме 10 кредитів за завдання.
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, щоб зберегти точний вигляд вхідного зображення без будь-якої обробки стилю.
Підтримується лише тоді, коли ai_model є meshy-6, meshy-7 або latest.
Name
remove_lighting
Type
boolean
за замовчуванням true
Description
Видаляє світлі та тіньові ефекти з базового кольору текстури, що дає чистіший результат, який краще працює під кастомними умовами освітлення.
Підтримується лише тоді, коли ai_model є meshy-6.
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
Коли не вказано, всі формати, крім 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, додатково генерується попередній перегляд з чотирьох кардинальних ракурсів (перед, праворуч, заду, ліворуч) і повертаються їхні URL на 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_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
# Простий запит з обов'язковими параметрамиcurlhttps://api.meshy.ai/openapi/v1/image-to-3d \-XPOST \-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-posescurlhttps://api.meshy.ai/openapi/v1/image-to-3d \-XPOST \-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"] }'
Ця кінцева точка дозволяє отримати завдання Зображення у 3D, маючи дійсний id завдання. Див. Об’єкт завдання Зображення у 3D, щоб дізнатися, які властивості включені в об'єкт завдання Зображення у 3D.
Параметри
Name
id
Type
path
Description
Унікальний ідентифікатор для завдання Зображення у 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 виходу перед ремешем.
Доступна лише тоді, коли завдання створено з одночасно включеним 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-адреса до прозорої (RGBA) версії thumbnail_url. Присутня лише тоді, коли завдання створено з alpha_thumbnail: true, і прозорий попередній перегляд було успішно згенеровано; в іншому випадку це поле пропускається.
Name
thumbnail_urls
Type
object
Description
Завантажувані URL-адреси чотирьох кардинальних ракурсів мініатюр згенерованої 3D-моделі. Кожне значення є підписаною URL-адресою до 512×512 PNG, зрендереної з тими ж матеріалами та освітленням, як 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
Підказка, яка була використана для управління процесом текстурування.
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.
Мітка часу представляє кількість мілісекунд, які пройшли з 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-5, meshy-7, або latest, ця властивість буде пропущена.
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 (кредити повертаються у разі помилки).