API Зображення у 3D — це функція, яка дозволяє інтегрувати можливості Meshy для Зображення у 3D у ваш власний додаток. У цьому розділі ви знайдете всю необхідну інформацію для початку роботи з цим API.
Ця кінцева точка дозволяє створити нове завдання Зображення у 3D. Зверніться до
Об'єкт завдання Зображення у 3D, щоб дізнатися, які
властивості включені до об'єкта завдання Зображення у 3D.
Параметри
Обов'язковим є лише один із параметрів input_task_id або image_url. Якщо надано обидва, input_task_id має пріоритет.
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-кодовані дані зображення>.
meshy-t2 (за замовчуванням): модель Smart Topology — чистіша topology, природно розділені частини, вихід у трикутниках та кількість граней, яку можна встановити через 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-карти (металевість, шорсткість, нормалі) на додачу до базового кольору. Карта випромінювання (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). Вища роздільна здатність передає більше деталей поверхні.
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
Надайте текстовий 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-кодовані дані зображення>
Текстурування за зображенням може працювати неоптимально, якщо є суттєві відмінності геометрії між оригінальним активом та завантаженим зображенням. Лише один з параметрів texture_image_url або texture_prompt може використовуватись для керування процесом текстурування. Якщо надано обидва параметри, за замовчуванням для текстурування моделі використовуватиметься texture_prompt. Текстурування через текст або зображення коштуватиме 10 кредитів за завдання.
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, щоб зберегти точний вигляд вхідного зображення без будь-якої обробки стилю.
Підтримується лише коли 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, завдання додатково рендерить чотири мініатюри з основних ракурсів (спереду, справа, ззаду, зліва) та повертає їх у полі 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: 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 paramscurlhttps://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>" }'# With remesh, PBR, and A-posecurlhttps://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 для ідентифікаторів завдань як деталь реалізації, ви не повинні робити жодних припущень щодо формату 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 перед ремешингом.
Доступно лише коли завдання було створено з обома 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-адреса до 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
Текстовий 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.
Мітка часу представляє кількість мілісекунд, що минули з 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 (кредити повертаються у разі невдачі).