Мульти-зображення у 3D API
Згенеруйте 3D-модель з одного до чотирьох зображень одного й того самого об'єкта, знятих з різних ракурсів.
Створення задачі Мульти-зображення у 3D
Створює задачу Мульти-зображення у 3D. Задача виконується у фоновому режимі. Про типову тривалість виконання задачі див. Час обробки. Про поля, які має задача, див. Об'єкт задачі Мульти-зображення у 3D.
Request
# Simple request
curl https://api.meshy.ai/openapi/v1/multi-image-to-3d \
-X POST \
-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 format
curl https://api.meshy.ai/openapi/v1/multi-image-to-3d \
-X POST \
-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"]
}'
# Textured with Meshy N1 from the input images, the first as the front view
curl https://api.meshy.ai/openapi/v1/multi-image-to-3d \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"image_urls": [
"<your front view image url or base64-encoded data URI>",
"<your back view image url or base64-encoded data URI>"
],
"ai_model": "meshy-7.1",
"texture_model": "meshy-n1"
}'
Response
{
"result": "018a210d-8ba4-705c-b111-1f1776f7f578"
}
Параметри
- Name
- input_task_id
- Type
- string
- Обов'язковий
- Description
Обов'язковий, якщо не надіслано
image_urls. ID задачі Текст у зображення або Зображення у зображення, включно з мультивидовою. Meshy використовує від одного до чотирьох її зображень як вхідні дані. Задача має бути створена вами через API та мати статусSUCCEEDED.
- Name
- image_urls
- Type
- array
- Обов'язковий
- Description
Обов'язковий, якщо не надіслано
input_task_id. Від одного до чотирьох зображень, кожне у вигляді публічного URL або Data URI, наприкладdata:image/jpeg;base64,<ваші дані зображення, закодовані в base64>. Якщо надіслано обидва, Meshy використовуєinput_task_id.Кожне зображення має бути файлом
.jpg,.jpeg,.pngабо.webpрозміром не більше 20 МБ, зі стороною щонайменше 32 пікселі та не більше 178 956 970 пікселів (ширина × висота). Якщо зображень більше чотирьох, повертається400.Для найкращих результатів зображення мають показувати один і той самий об'єкт з різних ракурсів. З
meshy-7.1абоlatestMeshy використовує перше зображення як вигляд спереду, а порядок інших не має значення.
- Name
- ai_model
- Type
- string
- за замовчуванням latest
- Description
AI-модель, яка генерує 3D-модель.
Доступні значення:
latest: Meshy 7.1meshy-7.1meshy-6meshy-6-litemeshy-7: застаріле, замість нього надсилайтеmeshy-7.1
- Name
- geometry_resolution
- Type
- string
- за замовчуванням standard
- Description
Скільки деталізації геометрії генерувати.
Доступні значення:
standard2k: запускає прохід Ultra з роздільною здатністю 2048³. Потребуєmeshy-7.1,latestабо застарілуmeshy-7.
- Name
- ultra_mode
- Type
- boolean
- ⚠ застарілий
- за замовчуванням false
- Description
Замість цього надсилайте
geometry_resolution.ultra_mode: true— це те саме, щоgeometry_resolution: "2k".
- Name
- should_texture
- Type
- boolean
- за замовчуванням true
- Description
Чи генерувати текстури.
trueповертає текстуровану модель, аfalseпропускає крок текстурування і повертає сітку без текстур.
should_texture = true- Name
- texture_model
- Type
- string
- за замовчуванням depends on ai_model
- Description
AI-модель, яка текстурує 3D-модель з кількох ракурсів у межах тієї самої задачі. Якщо не вказати, використовується модель текстурування за замовчуванням для вашої
ai_model. Це не змінює вартість у кредитах.Доступні значення:
meshy-7: Meshy 7, з PBR-картами та текстурами до 8Kmeshy-n1: Meshy N1, базова текстура кольору 2K лише з референсних зображень
Кожна
ai_modelприймає обидві. Текстурований запит зmeshy-6абоmeshy-6-liteповертає400, так само як і опція, яку обрана модель текстурування не підтримує. Приshould_texture: falseMeshy ігноруєtexture_model, але невідоме значення все одно повертає400.З
meshy-n1Meshy текстурує зtexture_image_urlsабоtexture_image_url, або з вхідних зображень, якщо не надіслано жодного з них. Перше зображення є виглядом спереду. Згенерована модель з понад 7 999 999 трикутниками призводить до невдачі задачі, і Meshy повертає кредити.Див. Моделі, щоб дізнатися, що робить кожна модель текстурування і яку обрати.
- Name
- enable_pbr
- Type
- boolean
- за замовчуванням false
- Description
Чи генерувати також металевість, шорсткість та карти нормалей на додаток до базового кольору. Модель текстурування Meshy 6 також генерує карту випромінювання, крім випадку
texture_resolution: 8k. Зtexture_model: meshy-n1значенняtrueповертає400.
- Name
- texture_resolution
- Type
- string
- за замовчуванням 2k
- Description
Розмір текстури базового кольору. Більший розмір дає змогу відобразити більше деталей поверхні.
Доступні значення:
2k: 2048×20484k: 4096×40968k: 8192×8192
4kі8kпотребують моделі текстурування Meshy 7 або Meshy 6, та з іншими повертають400. При8kMeshy не генерує карту випромінювання.
- Name
- hd_texture
- Type
- boolean
- ⚠ застарілий
- за замовчуванням false
- Description
Замість цього надсилайте
texture_resolution.hd_texture: true— це те саме, щоtexture_resolution: "4k". Якщо надіслано обидва, Meshy використовуєtexture_resolution.
- Name
- texture_prompt
- Type
- string
- Description
Текст, що спрямовує текстурування, до 800 символів. Довший текст повертає
400. Зtexture_model: meshy-n1його надсилання повертає400.
- Name
- texture_image_url
- Type
- string
- Description
Одне 2D-зображення, що спрямовує текстурування, у вигляді публічного URL або Data URI, наприклад
data:image/jpeg;base64,<ваші дані зображення, закодовані в base64>. Зображення має бути файлом.jpg,.jpeg,.pngабо.webpрозміром не більше 20 МБ, зі стороною щонайменше 32 пікселі та не більше 178 956 970 пікселів (ширина × висота).Якщо надіслано і
texture_image_url, іtexture_prompt, Meshy використовуєtexture_prompt. Зtexture_model: meshy-n1Meshy текстурує з цього зображення як вигляду спереду.Текстура може вийти не дуже вдалою, якщо форма на зображенні сильно відрізняється від 3D-моделі.
- Name
- texture_image_urls
- Type
- string[]
- Description
Від одного до чотирьох зображень об'єкта з різних ракурсів, що спрямовують текстурування. Meshy використовує перше зображення як вигляд спереду. Порядок інших ракурсів (зліва, ззаду, справа) не має значення.
Кожне зображення відповідає тим самим правилам, що й
texture_image_url. Це публічний URL або Data URI у форматі.jpg,.jpeg,.pngабо.webp, розміром не більше 20 МБ, зі стороною щонайменше 32 пікселі та не більше 178 956 970 пікселів (ширина × висота).Ці зображення спрямовують лише текстуру і не залежать від
image_urls. Ці два списки можуть містити різні зображення та різну їх кількість.texture_image_urlsпотребує моделі текстурування Meshy 7 або Meshy N1. Надсилайте з одним із цих:ai_modelзі значеннямmeshy-7.1,latestабо застарілимmeshy-7texture_modelзі значеннямmeshy-7абоmeshy-n1
Його не можна надсилати разом з
texture_image_urlабоtexture_prompt.
- Name
- should_remesh
- Type
- boolean
- за замовчуванням true (meshy-6-lite), false (other models)
- Description
Чи виконувати ремеш моделі після генерації. Для найвищої якості 3D-моделі встановіть значення
false.
should_remesh = true- Name
- topology
- Type
- string
- за замовчуванням triangle
- Description
Тип граней ремешованої моделі.
Доступні значення:
quad: сітка з переважанням чотирикутниківtriangle: децимована трикутна сітка
З
texture_model: meshy-n1значенняquadповертає400, коли модель ремешується, щоmeshy-6-liteробить за замовчуванням.
- Name
- target_polycount
- Type
- integer
- за замовчуванням 30000
- Description
Бажана кількість граней, від
100до300000. Результат може відрізнятися від цільового значення залежно від геометрії моделі. Значення поза межами діапазону повертає400.
- Name
- decimation_mode
- Type
- integer
- Description
Адаптивна кількість граней, за рівнем. Якщо встановлено, Meshy ігнорує
target_polycount.Доступні значення:
1: ультра2: висока3: середня4: низька
- Name
- save_pre_remeshed_model
- Type
- boolean
- за замовчуванням false
- Description
Чи також зберегти GLB з версії до ремешу, повернутий у
model_urls.pre_remeshed_glb.
- Name
- symmetry_mode
- Type
- string
- ⚠ застарілий
- за замовчуванням auto
- Description
Не вказуйте. Не впливає на результат.
Доступні значення:
off: без симетріїauto: симетрія на основі вхідної геометріїon: примусова симетрія
- Name
- pose_mode
- Type
- string
- за замовчуванням ""
- Description
Поза згенерованої моделі.
Доступні значення:
a-pose: поза At-pose: поза T""(порожній рядок): без конкретної пози
- Name
- is_a_t_pose
- Type
- boolean
- ⚠ застарілий
- за замовчуванням false
- Description
Замість цього надсилайте
pose_mode. Чи генерувати модель у позі A чи T.
- Name
- image_enhancement
- Type
- boolean
- за замовчуванням true
- Description
Чи оптимізувати вхідні зображення перед генерацією.
falseзберігає точний вигляд вхідних зображень без будь-якої стильової обробки. Підтримується лише зmeshy-6,meshy-7.1абоlatest. Надсилання цього параметра зmeshy-6-liteповертає400.
- Name
- remove_lighting
- Type
- boolean
- за замовчуванням true
- Description
Чи видаляти відблиски та тіні з текстури базового кольору. Чистіший результат краще поводиться за вашого власного освітлення. Використовується лише моделлю текстурування Meshy 6, а при
texture_resolution: 8kосвітлення видаляється завжди. Зtexture_model: meshy-n1значенняtrueповертає400. Зai_model: meshy-6-liteта її моделлю текстурування за замовчуванням надсилання цього параметра повертає400.
- Name
- moderation
- Type
- boolean
- за замовчуванням false
- Description
Чи перевіряти вхідні дані на наявність шкідливого контенту. Meshy перевіряє кожне вхідне зображення,
texture_image_urlабо кожне зображення вtexture_image_urls, а також текст уtexture_prompt. Якщо Meshy виявляє шкідливий контент, запит повертає400, і Meshy не створює задачу.
- Name
- target_formats
- Type
- string[]
- Description
3D-формати файлів для генерації. Meshy генерує і повертає лише перелічені вами формати, що може скоротити час виконання задачі.
Доступні значення:
glbobjfbxstlusdz3mf
Якщо не вказати, Meshy генерує всі формати, крім
3mf. Meshy генерує3mfлише якщо він вказаний у списку.
- Name
- auto_size
- Type
- boolean
- за замовчуванням false
- Description
Чи оцінювати реальну висоту об'єкта за допомогою AI-зору та масштабувати модель відповідно до неї. Meshy розміщує початок координат внизу, якщо не вказано
origin_at.
auto_size = true- Name
- origin_at
- Type
- string
- за замовчуванням bottom
- Description
Де розмістити початок координат моделі:
bottomабоcenter.
- Name
- alpha_thumbnail
- Type
- boolean
- за замовчуванням false
- Description
Чи також рендерити попередній перегляд із прозорим фоном (RGBA), що повертається в
alpha_thumbnail_urlпри отриманні задачі.thumbnail_urlне змінюється.
- Name
- multi_view_thumbnails
- Type
- boolean
- за замовчуванням false
- Description
Чи також рендерити попередні перегляди спереду, справа, ззаду та зліва, що повертаються в
thumbnail_urlsпри отриманні задачі.thumbnail_urlне змінюється і й надалі показує вигляд спереду. Це додає близько 5 секунд до виконання задачі.
Повертає
Поле result відповіді містить ID нової задачі Мульти-зображення у 3D.
Режими збою
- Name
400 - Bad Request- Description
Запит не може виконатися. Повідомлення про помилку вказує, яку саме проблему виявлено. Наприклад:
- Відсутній параметр: не надіслано ні
image_urls, ніinput_task_id. - Недійсна вхідна задача:
input_task_idне є задачею Текст у зображення або Зображення у зображення зі статусомSUCCEEDED, або мультивидовою. - Недійсна кількість зображень:
image_urlsабоtexture_image_urlsне містить від 1 до 4 зображень. - Недійсний формат зображення: зображення в
image_urlsмає непідтримуваний формат. - Конфліктні вхідні дані текстурування:
texture_image_urlsнадіслано разом зtexture_image_url, зtexture_promptабо зshould_texture: false. - Непідтримувана модель для мультивидового текстурування:
texture_image_urlsнадіслано зai_modelзі значеннямmeshy-6абоmeshy-6-lite, якщо тількиtexture_modelне єmeshy-7абоmeshy-n1. - Недоступний URL: Meshy не може завантажити зображення з
image_urlsабоtexture_image_urls. - Зображення завелике: зображення в
image_urls,texture_image_urlабоtexture_image_urlsперевищує 20 МБ. - Недійсний розмір зображення: зображення в
image_urls,texture_image_urlабоtexture_image_urlsмає сторону коротшу за 32 пікселі або більше ніж 178 956 970 пікселів (ширина × висота). - Непідтримувана роздільна здатність для мульти-зображення:
geometry_resolutionдорівнює"4k", що ця кінцева точка не підтримує. Використовуйте2kабоstandard. - Непідтримувана модель для опцій зображення:
image_enhancementнадіслано зai_model: "meshy-6-lite", абоremove_lightingнадіслано зai_model: "meshy-6-lite"та її моделлю текстурування за замовчуванням. - Недійсна модель текстурування:
texture_modelне є дійсною назвою моделі текстурування. - Модель текстурування недоступна: текстурований запит надіслав
texture_modelзі значеннямmeshy-6абоmeshy-6-lite. Мульти-зображення у 3D приймає лише моделі текстурування, які текстурують з кількох ракурсів. Надсилайтеmeshy-7абоmeshy-n1, або не вказуйтеtexture_model. - Непідтримувана опція для моделі текстурування: запит запитує в моделі текстурування опцію, яку вона не підтримує, наприклад
enable_pbr: trueзmeshy-n1або текстуру4kзmeshy-6-lite. Див. Моделі.
Виправте запит і надішліть його знову. Див. Помилки.
- Відсутній параметр: не надіслано ні
- Name
401 - Unauthorized- Description
API-ключ відсутній або недійсний. Перевірте заголовок
Authorization.
- Name
402 - Payment Required- Description
Наприклад:
- Недостатньо кредитів: на рахунку недостатньо кредитів для цієї задачі, або досягнуто ліміту кредитів. Перевірте баланс кредитів, потім повторіть спробу.
- Безплатний план: для створення задачі потрібен платний план. Оновіть свій план у налаштуваннях підписки, потім повторіть спробу.
- Name
403 - Forbidden- Description
Модерація контенту заблокувала prompt або вхідне зображення. Змініть вхідні дані, потім повторіть спробу.
- Name
404 - Not Found- Description
input_task_idне відповідає жодній з ваших задач. Перевірте ID задачі, потім надішліть запит знову.
- Name
429 - Too Many Requests- Description
Ви перевищили обмеження частоти. Зачекайте, потім повторіть спробу. Див. Обмеження частоти.
Отримати завдання Мульти-зображення у 3D
Повертає завдання Мульти-зображення у 3D за його ID.
Request
curl https://api.meshy.ai/openapi/v1/multi-image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "multi-image-to-3d",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
"fbx": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***",
"obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
"usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
"stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***",
"pre_remeshed_glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/pre_remeshed_model.glb?Expires=***"
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
"thumbnail_urls": {
"front": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_front.png?Expires=***",
"right": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_right.png?Expires=***",
"back": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_back.png?Expires=***",
"left": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_left.png?Expires=***"
},
"texture_prompt": "",
"progress": 100,
"started_at": 1692771667037,
"created_at": 1692771650657,
"expires_at": 1692771679037,
"finished_at": 1692771669037,
"status": "SUCCEEDED",
"texture_urls": [
{
"base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***",
"metallic": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX",
"normal": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX",
"roughness": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX"
}
],
"preceding_tasks": 0,
"task_error": null,
"consumed_credits": 30
}
Параметри
- Name
- id
- Type
- path
- Description
ID завдання з відповіді на створення.
Повертає
Видалення завдання Мульти-зображення у 3D
Остаточно видаляє завдання Мульти-зображення у 3D, включно з його моделями та даними. Скасувати видалення неможливо.
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/multi-image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
// 200 OK on success, with an empty body.
//
// 409 Conflict when the task is IN_PROGRESS. The task keeps 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."
}
Параметри шляху
- Name
- id
- Type
- path
- Description
ID завдання, яке потрібно видалити.
Статус завдання
Видалення завдання зі статусом PENDING повертає кредити, витрачені на його створення.
Завдання зі статусом IN_PROGRESS видалити неможливо. Запит поверне 409 Conflict,
а завдання продовжить виконуватися. Meshy не повертає кредити за завдання, яке вже почалося,
тому видалення коштувало б вам і кредитів, і результату. Дочекайтеся, поки воно
досягне статусу SUCCEEDED, FAILED або CANCELED, а потім видаліть його.
Видалення завдання в кінцевому статусі (SUCCEEDED, FAILED або CANCELED)
не повертає витрачені на нього кредити.
Повертає
200 OK, коли завдання видалено, або 409 Conflict, коли завдання
має статус IN_PROGRESS.
Список завдань Мульти-зображення у 3D
Повертає список ваших завдань Мульти-зображення у 3D.
Request
curl https://api.meshy.ai/openapi/v1/multi-image-to-3d?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
[
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "multi-image-to-3d",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
"fbx": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***",
"obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
"usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
"pre_remeshed_glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/pre_remeshed_model.glb?Expires=***"
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
"thumbnail_urls": {
"front": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_front.png?Expires=***",
"right": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_right.png?Expires=***",
"back": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_back.png?Expires=***",
"left": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_left.png?Expires=***"
},
"texture_prompt": "",
"progress": 100,
"started_at": 1692771667037,
"created_at": 1692771650657,
"expires_at": 1692771679037,
"finished_at": 1692771669037,
"status": "SUCCEEDED",
"texture_urls": [
{
"base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***",
"metallic": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX",
"normal": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX",
"roughness": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX"
}
],
"preceding_tasks": 0,
"task_error": null,
"consumed_credits": 30
}
]
Параметри
- Name
- page_num
- Type
- integer
- за замовчуванням 1
- Description
Номер сторінки для повернення, до
255. Більше значення поверне400.
- Name
- page_size
- Type
- integer
- за замовчуванням 10
- Description
Кількість завдань на сторінці, до
100.
- Name
- sort_by
- Type
- string
- Description
Порядок сортування.
Доступні значення:
+created_at: спочатку найстаріші-created_at: спочатку найновіші
Повертає
Список об'єктів завдань Мульти-зображення у 3D з пагінацією.
Трансляція (stream) задачі Мульти-зображення у 3D
Транслює оновлення задачі Мульти-зображення у 3D у вигляді Server-Sent Events (SSE).
Request
curl -N https://api.meshy.ai/openapi/v1/multi-image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response Stream
// Error event example
event: error
data: {
"status_code": 404,
"message": "Task not found"
}
// Message event examples illustrate task progress.
// These examples are shortened. Each event holds the full task object.
event: message
data: {
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"progress": 0,
"status": "PENDING"
}
event: message
data: {
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "multi-image-to-3d",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
"fbx": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***",
"obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
"usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
"stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***",
"pre_remeshed_glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/pre_remeshed_model.glb?Expires=***"
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
"thumbnail_urls": {
"front": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_front.png?Expires=***",
"right": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_right.png?Expires=***",
"back": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_back.png?Expires=***",
"left": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_left.png?Expires=***"
},
"texture_prompt": "",
"progress": 100,
"started_at": 1692771667037,
"created_at": 1692771650657,
"expires_at": 1692771679037,
"finished_at": 1692771669037,
"status": "SUCCEEDED",
"texture_urls": [
{
"base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***",
"metallic": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX",
"normal": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX",
"roughness": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX"
}
],
"preceding_tasks": 0,
"task_error": null,
"consumed_credits": 30
}
Параметри
- Name
- id
- Type
- path
- Description
ID задачі з відповіді на створення.
Повертає
Потік об'єктів задачі Мульти-зображення у 3D у вигляді Server-Sent Events.
Кожна подія містить повний об'єкт задачі, у тій самій формі, що повертає кінцева точка Get. Поки задача має статус PENDING або IN_PROGRESS, її поля результату ще не мають значень.
Об'єкт завдання Мульти-зображення у 3D
Об'єкт завдання Мульти-зображення у 3D описує одну генерацію 3D-моделі з одного до чотирьох зображень об'єкта. Він містить статус, progress і файли моделі, коли завдання виконано успішно.
Властивості
Example Multi-Image to 3D Task Object
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "multi-image-to-3d",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
"fbx": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***",
"obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
"usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
"stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***",
"pre_remeshed_glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/pre_remeshed_model.glb?Expires=***"
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
"thumbnail_urls": {
"front": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_front.png?Expires=***",
"right": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_right.png?Expires=***",
"back": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_back.png?Expires=***",
"left": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_left.png?Expires=***"
},
"texture_prompt": "",
"progress": 100,
"started_at": 1692771667037,
"created_at": 1692771650657,
"expires_at": 1692771679037,
"finished_at": 1692771669037,
"status": "SUCCEEDED",
"texture_urls": [
{
"base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***",
"metallic": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX",
"normal": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX",
"roughness": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX"
}
],
"preceding_tasks": 0,
"task_error": null,
"consumed_credits": 30
}
- Name
- id
- Type
- string
- Description
ID завдання. Розглядайте його як непрозорий рядок і не покладайтеся на його формат.
- Name
- type
- Type
- string
- Description
Тип завдання, завжди
multi-image-to-3d.
- Name
- model_urls
- Type
- object
- Description
URL-адреси для завантаження згенерованої 3D-моделі, по одній на кожен формат файлу. Формат, який завдання не згенерувало, не має ключа, замість порожнього рядка.
- Name
glb- Type
- string
- Description
Файл GLB.
- Name
fbx- Type
- string
- Description
Файл FBX.
- Name
obj- Type
- string
- Description
Файл OBJ.
- Name
usdz- Type
- string
- Description
Файл USDZ.
- Name
mtl- Type
- string
- Description
Файл MTL, повертається разом із файлом OBJ, коли модель має текстури.
- Name
stl- Type
- string
- Description
Файл STL.
- Name
3mf- Type
- string
- Description
Файл 3MF. Присутній лише якщо
target_formatsвключає3mf.
- Name
pre_remeshed_glb- Type
- string
- Description
Файл 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і Meshy згенерував прозоре прев'ю.
- Name
- thumbnail_urls
- Type
- object
- Description
URL-адреси для завантаження прев'ю 3D-моделі з чотирьох сторін. Кожна — це підписана URL-адреса на PNG-зображення 512×512, відрендерене з тими ж матеріалами та освітленням, що й
thumbnail_url. Ви можете використовувати їх для перегляду моделі з кількох ракурсів без завантаження GLB.Присутні лише якщо ви створили завдання з
multi_view_thumbnails: trueі завдання досягло статусуSUCCEEDED. Завдання, створене безmulti_view_thumbnails: true, не має цього поля.- 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
Час початку завдання, у мілісекундах Unix. Дорівнює
0, доки завдання не почалося.
- Name
- created_at
- Type
- timestamp
- Description
Час створення завдання, у мілісекундах Unix.
- Name
- expires_at
- Type
- timestamp
- Description
Час, коли закінчується термін дії результатів завдання, у мілісекундах Unix.
- Name
- finished_at
- Type
- timestamp
- Description
Час завершення завдання, у мілісекундах Unix. Дорівнює
0, доки завдання не завершиться.
- Name
- status
- Type
- string
- Description
Статус завдання, один із
PENDING,IN_PROGRESS,SUCCEEDED,FAILEDабоCANCELED.
- Name
- texture_urls
- Type
- array
- Description
URL-адреси для завантаження текстурних карт, згенерованих завданням, як масив об'єктів. Зазвичай містить один об'єкт. Кожен об'єкт має такі поля:
- Name
base_color- Type
- string
- Description
Карта основного кольору.
- Name
metallic- Type
- string
- Description
Карта металевості. Не включається, якщо ви створили завдання з
enable_pbr: false.
- Name
normal- Type
- string
- Description
Карта нормалей. Не включається, якщо ви створили завдання з
enable_pbr: false.
- Name
roughness- Type
- string
- Description
Карта шорсткості. Не включається, якщо ви створили завдання з
enable_pbr: false.
- Name
emission- Type
- string
- Description
Карта випромінювання. Включається лише якщо ви створили завдання з усіма цими параметрами:
ai_model: meshy-6, з його текстурною моделлю за замовчуваннямenable_pbr: truetexture_resolutionрівня2kабо4k
- Name
- preceding_tasks
- Type
- integer
- Description
Кількість завдань попереду цього в черзі. Значення має сенс лише поки завдання має статус
PENDING.
- Name
- task_error
- Type
- object
- Description
Деталі помилки, коли завдання завершується невдало. Дорівнює
null, якщо статус неFAILED. Див. Помилки.
- Name
- consumed_credits
- Type
- integer
- Description
Кількість кредитів, використаних завданням. Присутнє, коли статус
PENDING,IN_PROGRESSабоSUCCEEDED. Дорівнює0для завдання зі статусомFAILED, оскільки Meshy повертає кредити, коли завдання завершується невдало.