Image to 3D API
Перетворіть зображення на 3D-модель, з текстурою або без неї, у форматах на ваш вибір. Надішліть зображення або скористайтеся результатом завдання Текст у зображення чи Зображення у зображення.
Створення задачі Зображення у 3D
Створює задачу Зображення у 3D. Задача виконується у фоновому режимі. Про типову тривалість виконання задачі див. Час обробки.
Request
# Simple request with required params
curl 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 Ultra 4K geometry, remesh, PBR, and A-pose
curl 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>",
"ai_model": "meshy-7.1",
"geometry_resolution": "4k",
"enable_pbr": true,
"should_remesh": true,
"target_polycount": 100000,
"should_texture": true,
"pose_mode": "a-pose",
"target_formats": ["glb"]
}'
# Textured with Meshy N1 from the input image
curl 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>",
"ai_model": "meshy-7.1",
"texture_model": "meshy-n1"
}'
Response
{
"result": "018a210d-8ba4-705c-b111-1f1776f7f578"
}
Параметри
- Name
- input_task_id
- Type
- string
- Обов'язковий
- Description
Обов'язковий, якщо ви не надсилаєте
image_url. ID задачі Текст у зображення або Зображення у зображення, зображення з якої ви хочете використати як вхідні дані. Задача має бути створена вами через API, мати статусSUCCEEDEDі містити рівно одне зображення.
- Name
- image_url
- Type
- string
- Обов'язковий
- Description
Обов'язковий, якщо ви не надсилаєте
input_task_id. Зображення для перетворення на 3D-модель, у вигляді публічного URL або base64-закодованого data URI, наприкладdata:image/jpeg;base64,<your base64-encoded image data>. Якщо надіслати обидва, Meshy використовуєinput_task_id.Зображення має бути файлом JPG, JPEG, PNG або WebP розміром не більше 20 МБ, не менше 32 пікселів з кожного боку та не більше 178 956 970 пікселів (ширина × висота).
- Name
- model_type
- Type
- string
- за замовчуванням standard
- Description
Тип 3D-сітки для генерації.
Доступні значення:
standard: сітка з високою деталізацієюsmart-topology: сітка з моделі Smart Topology, яку ви обираєте черезai_model(meshy-t2абоmeshy-t2.5)
З
smart-topologyMeshy ігноруєshould_remesh,save_pre_remeshed_modelіdecimation_mode, та приймає лишеtopology: triangle.
- Name
- ai_model
- Type
- string
- за замовчуванням latest
- Description
AI-модель, що генерує 3D-модель. Доступні значення залежать від
model_type.Стандартні моделі (
model_type: standard):latest: Meshy 7.1meshy-7.1meshy-6meshy-6-litemeshy-7(застаріле): використовуйте натомістьmeshy-7.1
Моделі Smart Topology (
model_type: smart-topology) створюють трикутники, з кількістю граней, яку можна задати черезtarget_polycount:meshy-t2: чистіша topology та природно розділені частиниmeshy-t2.5(за замовчуванням): чіткіша деталізація для ігрових ассетів
- Name
- geometry_resolution
- Type
- string
- за замовчуванням standard
- Description
Прохід генерації геометрії.
Доступні значення:
standard2k: запускає прохід Ultra на 2048³4k: запускає прохід Ultra на 4096³, для максимальної деталізації поверхні
2kвимагаєmeshy-7.1,latest, або застарілуmeshy-7.4kвимагаєmeshy-7.1абоlatest.
- 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 базова кольорова текстура лише з референсних зображеньmeshy-6-lite: Meshy 6 Lite, 2K текстура за найнижчою вартістюmeshy-6: Meshy 6, лише як типова модель дляai_model: meshy-6
Кожна
ai_modelприймаєmeshy-7,meshy-n1іmeshy-6-lite. Параметр, який обрана модель текстурування не підтримує, повертає400. Зmeshy-n1, згенерована модель з понад 7 999 999 трикутниками призводить до невдачі задачі, і Meshy повертає за неї кредити. Приshould_texture: falseMeshy ігноруєtexture_model, але невідоме значення все одно повертає400.Див. Моделі про те, що робить кожна модель текстурування та яку обрати.
- Name
- enable_pbr
- Type
- boolean
- за замовчуванням false
- Description
Чи генерувати також PBR-карти (металевість, шорсткість та карту нормалей) окрім базового кольору.
trueвимагаєshould_texture: true, і повертає400приshould_texture: false. Зtexture_model: meshy-n1,trueповертає400.Модель текстурування Meshy 6 також генерує карту випромінювання (emission map), окрім випадку
texture_resolution: 8k.
- 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
Зображення, що спрямовує текстуру, у вигляді публічного URL або base64-закодованого data URI, наприклад
data:image/jpeg;base64,<your base64-encoded image data>. Зображення має бути файлом JPG, JPEG, PNG або WebP розміром не більше 20 МБ, не менше 32 пікселів з кожного боку та не більше 178 956 970 пікселів (ширина × висота).Meshy спрямовує текстуру лише за одним з
texture_promptіtexture_image_url. Якщо надіслати обидва, Meshy використовуєtexture_prompt. Про вартість текстурування в кредитах див. Ціни.З
texture_model: meshy-n1Meshy текстурує з цього зображення як вигляду спереду, або з вхідного зображення, якщо його не вказано.Текстурування із зображення може працювати погано, якщо форма зображення сильно відрізняється від геометрії 3D-моделі.
- 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: децимована трикутна сітка
Вивід Smart Topology — лише трикутники, тому
quadзmeshy-t2абоmeshy-t2.5повертає400. Зtexture_model: meshy-n1,quadповертає400, коли модель ремешиться, щоmeshy-6-liteробить за замовчуванням.
- Name
- decimation_mode
- Type
- integer
- Description
Адаптивна кількість граней, за рівнем. Якщо встановити це, Meshy ігнорує
target_polycount.Доступні значення:
1: ultra2: high3: medium4: low
- Name
- save_pre_remeshed_model
- Type
- boolean
- за замовчуванням false
- Description
Чи також зберігати GLB моделі з моменту до фази ремешу. Meshy повертає його у
model_urls.pre_remeshed_glb.
- Name
- target_polycount
- Type
- integer
- Description
Цільова кількість граней. Результат може відрізнятися від цілі залежно від геометрії моделі.
Застосовується у двох окремих випадках:
- Ремеш: коли
should_remeshмає значенняtrueдля моделіstandard, Meshy децимує сітку приблизно до цієї кількості. Якщо встановитиdecimation_mode, Meshy використовує його та ігноруєtarget_polycount. - Smart Topology: коли
model_typeмає значенняsmart-topology, аai_model—meshy-t2абоmeshy-t2.5, Meshy генерує модель з такою кількістю граней. Ремеш не виконується, іshould_remeshне потрібен.
Діапазон і значення за замовчуванням залежать від випадку:
Випадок Діапазон За замовчуванням Ремеш 100–30000030000meshy-t2100–150004000meshy-t2.5100–3000015000Значення поза діапазоном повертає
400.- Ремеш: коли
- Name
- symmetry_mode
- Type
- string
- ⚠ застарілий
- за замовчуванням auto
- Description
Не вказуйте, оскільки це не впливає на результат. Його значення керували симетрією під час генерації:
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
- surface_mode
- Type
- string
- ⚠ застарілий
- Description
Використовуйте натомість
ai_model. Це не впливає на результат, оскільки обрана ним генерація моделі більше не підтримується.Допустимі значення —
organicіhard. Будь-яке інше значення повертає400.
- Name
- image_enhancement
- Type
- boolean
- за замовчуванням true
- Description
Чи оптимізувати вхідне зображення перед генерацією.
falseзберігає точний вигляд вхідного зображення, без стильової обробки.Працює лише з
meshy-6,meshy-7.1абоlatest. Зmeshy-6-liteабоmodel_type: smart-topologyповертає400.
- Name
- remove_lighting
- Type
- boolean
- за замовчуванням true
- Description
Чи видаляти відблиски та тіні з базової кольорової текстури. Результат чистіший і краще поводиться під вашим власним освітленням.
Діє лише з моделлю текстурування Meshy 6, а модель текстурування, яка це не підтримує, повертає
400дляtrue. Зmodel_type: smart-topology, або зai_model: meshy-6-liteта її типовою моделлю текстурування, надсилання цього параметра повертає400.
- Name
- moderation
- Type
- boolean
- за замовчуванням false
- Description
Чи перевіряти ці вхідні дані на шкідливий вміст перед генерацією:
image_urltexture_image_urltexture_prompt
Якщо Meshy виявляє шкідливий вміст, запит повертає
400, і Meshy не створює задачу.
- Name
- target_formats
- Type
- string[]
- Description
Формати файлів для генерації. Meshy генерує та повертає лише перелічені формати, що може скоротити час виконання задачі. Якщо не вказати, Meshy генерує всі формати, крім
3mf, який ви отримаєте лише якщо вкажете його.Доступні значення:
glbobjfbxstlusdz3mf
- Name
- auto_size
- Type
- boolean
- за замовчуванням false
- Description
Чи оцінювати реальну висоту об'єкта за допомогою AI-зору та змінювати розмір моделі відповідно до неї. Meshy розміщує початок координат знизу, якщо ви не вкажете
origin_at.
- 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 секунд до виконання задачі.
auto_size = true- Name
- origin_at
- Type
- string
- за замовчуванням bottom
- Description
Куди розмістити початок координат моделі:
bottomабоcenter.
Результати
Поле result у відповіді містить ID нової задачі Зображення у 3D.
Режими відмови
- Name
400 - Bad Request- Description
Запит не може бути виконаний. Повідомлення про помилку вказує, яку проблему виявлено. Наприклад:
- Відсутній параметр: не надіслано ні
image_url, ніinput_task_id. - Недійсна вхідна задача:
input_task_idне є задачею Текст у зображення або Зображення у зображення зі статусомSUCCEEDED, що створила рівно одне зображення. - Недійсний формат зображення: зображення
image_urlне є файлом JPG, JPEG, PNG або WebP. - Недоступний URL: Meshy не може завантажити зображення
image_url, оскільки URL повертає404або час очікування вичерпано. - Зображення завелике: зображення
image_urlабоtexture_image_urlперевищує 20 МБ. - Недійсний розмір зображення: сторона зображення
image_urlабоtexture_image_urlкоротша за 32 пікселі, або воно має понад 178 956 970 пікселів (ширина × висота). - Недійсний data URI: рядок base64 сформовано некоректно.
- Недійсна комбінація параметрів:
enable_pbrмає значенняtrue, аshould_texture—false. - Непідтримувана модель для Ultra:
geometry_resolutionмає значення2kабо4k, ізai_model, яка не може це виконати. - Непідтримувана модель для параметрів зображення: один з таких випадків:
image_enhancementнадіслано зai_model: "meshy-6-lite"абоmodel_type: "smart-topology".remove_lightingнадіслано зmodel_type: "smart-topology", або зai_model: "meshy-6-lite"та її типовою моделлю текстурування.
- Недійсна модель текстурування:
texture_modelне є одним з доступних значень. - Модель текстурування недоступна:
texture_modelмає значенняmeshy-6зai_model, відмінною відmeshy-6. Надішлітьmeshy-7,meshy-n1абоmeshy-6-lite, або не вказуйте цей параметр. - Непідтримувана опція для моделі текстурування: запит вимагає від моделі текстурування опцію, яку вона не підтримує, наприклад
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/image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "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",
"emission": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.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/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.
List Image to 3D tasks
Повертає список ваших завдань Зображення у 3D.
Request
curl https://api.meshy.ai/openapi/v1/image-to-3d?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
[
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "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",
"emission": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.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.
Потокова передача задачі Зображення у 3D
Передає оновлення задачі Зображення у 3D у вигляді подій Server-Sent Events (SSE).
Request
curl -N https://api.meshy.ai/openapi/v1/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": "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",
"emission": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.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 Image to 3D Task Object
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "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": "",
"texture_image_url": "",
"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",
"emission": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX"
}
],
"preceding_tasks": 0,
"task_error": null,
"consumed_credits": 30
}
- Name
- id
- Type
- string
- Description
ID завдання. Розглядайте його як непрозорий рядок і не покладайтеся на його формат.
- Name
- type
- Type
- string
- Description
Тип завдання, завжди
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-адреса для завантаження прев'ю-зображення 3D моделі. Коли присутній
thumbnail_urls, це те саме зображення, що йthumbnail_urls.front. Meshy зберігає це поле для зворотної сумісності.
- 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_url
- Type
- string
- Description
URL-адреса для завантаження зображення, яке скеровувало текстуру.
- Name
- ultra_mode
- Type
- boolean
- ⚠ застарілий
- Description
Замість цього читайте
geometry_resolution.
- Name
- geometry_resolution
- Type
- string
- Description
Рівень Ultra, на якому виконувалося завдання,
2kабо4k. Завдання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
Карти текстур, згенеровані завданням, у вигляді масиву об'єктів. Зазвичай містить один об'єкт із такими полями:
- 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-адреса для завантаження карти випромінювання. Meshy включає її, лише якщо ви створили завдання з усім наведеним нижче:
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. Для завданняFAILEDдорівнює0, оскільки Meshy повертає кредити, коли завдання завершується невдало.