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: Data URI зображення, закодований у base64. Приклад Data URI: data:image/jpeg;base64,<your base64-encoded image data>.
Name
model_type
Type
string
за замовчуванням standard
Description
Укажіть тип генерації 3D-сітки.
Доступні значення:
standard: Звичайна генерація 3D-сітки з високою деталізацією.
lowpoly: Генерує низькополігональну сітку, оптимізовану для чистіших полігонів.
Коли вибрано lowpoly, ai_model, topology, target_polycount, should_remesh, save_pre_remeshed_model ігноруються.
Name
ai_model
Type
string
за замовчуванням latest
Description
ID моделі для використання. Доступні значення: meshy-5, meshy-6, latest (Meshy 6).
Name
should_texture
Type
boolean
за замовчуванням true
Description
Визначає, чи генеруються текстури. Установлення значення false пропускає фазу текстурування, надаючи сітку без текстур.
Застосовується лише коли should_texture = true
Name
enable_pbr
Type
boolean
за замовчуванням false
Description
Генерувати PBR-карти (металічність, шорсткість, нормалі) на додаток до базового кольору. Карта емісії також включається, коли ai_model має значення meshy-6 або latest.
Name
hd_texture
Type
boolean
за замовчуванням false
Description
Генерувати текстуру базового кольору з роздільною здатністю 4K (4096×4096) для вищої деталізації.
Підтримується лише коли ai_model має значення meshy-6 або latest. PBR-карти завжди генеруються у 2K.
Name
texture_prompt
Type
string
Description
Надайте текстовий prompt, щоб скерувати процес текстурування. Максимум 600 символів.
Name
texture_image_url
Type
string
Description
Надайте 2D-зображення, щоб скерувати процес текстурування. Наразі ми підтримуємо формати .jpg, .jpeg і .png.
Є два способи надати зображення:
Публічно доступний URL: URL, доступний із публічного інтернету
Data URI: Data URI зображення, закодований у base64. Приклад Data URI: data:image/jpeg;base64,<your base64-encoded image data>
Текстурування за зображенням може працювати не оптимально, якщо між оригінальним асетом і завантаженим зображенням є суттєві відмінності геометрії. Для керування процесом текстурування можна використовувати лише один із texture_image_url або texture_prompt. Якщо надано обидва параметри, тоді texture_prompt буде використано для текстурування моделі за замовчуванням. Текстурування за допомогою тексту або зображення коштуватиме 10 кредитів за задачу.
Name
should_remesh
Type
boolean
за замовчуванням false (meshy-6), true (others)
Description
Контролює, чи вмикати фазу Ремеш. Коли встановлено false, API повертає трикутну сітку найвищої точності.
Застосовується лише коли 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
Укажіть pose 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 або latest.
Name
remove_lighting
Type
boolean
за замовчуванням true
Description
Видаляє відблиски й тіні з текстури базового кольору, створюючи чистіший результат, який краще працює з користувацькими налаштуваннями освітлення.
Підтримується лише коли ai_model має значення meshy-6 або latest.
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 paramscurl 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-posecurl 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"] }'
Ця кінцева точка дає змогу отримати завдання Зображення у 3D за дійсним id завдання.
Зверніться до Об'єкта завдання Зображення у 3D, щоб побачити, які
властивості входять до об'єкта завдання Зображення у 3D.
Параметри
Name
id
Type
path
Description
Унікальний ідентифікатор завдання Зображення у 3D, яке потрібно отримати.
Повертає
Відповідь містить об'єкт завдання Зображення у 3D. Перегляньте
розділ Об'єкт завдання Зображення у 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 до 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_url
Type
string
Description
URL для завантаження зображення текстури, яке використовувалося для керування процесом текстурування.
Name
progress
Type
integer
Description
progress завдання. Якщо завдання ще не запущено, ця властивість буде 0. Після успішного завершення завдання вона стане 100.
Name
started_at
Type
timestamp
Description
Мітка часу, коли завдання було запущено, у мілісекундах. Якщо завдання ще не запущено, ця властивість буде 0.
Мітка часу представляє кількість мілісекунд, що минули з 1 січня 1970 року UTC, відповідно до
стандарту RFC 3339.
Наприклад, п’ятниця, 1 вересня 2023 року, 12:00:00 PM 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, цю властивість буде пропущено.
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 (кредити відшкодовуються в разі невдачі).