API для зміни розміру
API для зміни розміру дозволяє змінити розмір існуючих 3D моделей до реальних розмірів. Ви можете вказати точну висоту, обмеження на найдовшу сторону або дозволити AI автоматично оцінити відповідний розмір.
Створення завдання на зміну розміру
Цей endpoint створює нове завдання на зміну розміру.
Параметри
Лише один з input_task_id або model_url є обов'язковим. Якщо обидва надані, input_task_id має пріоритет.
- Name
- input_task_id
- Type
- string
- Обов'язковий
- Description
Ідентифікатор завершеного завдання Meshy, модель якого ви бажаєте змінити. Завдання повинно мати статус
SUCCEEDED. Формат виводу буде GLB.
- Name
- model_url
- Type
- string
- Обов'язковий
- Description
Публічно доступний URL або Data URI, що вказує на файл 3D моделі. Підтримувані формати:
.glb,.gltf,.obj,.fbx,.stl. Для Data URI використовуйте MIME type:application/octet-stream. Формат виводу збереже оригінальний формат вхідної моделі.
Точно один режим зміни розміру є обов'язковим: resize_height, resize_longest_side або auto_size. Ці три параметри взаємовиключні.
- Name
- resize_height
- Type
- number
- Description
Змінити розмір моделі до певної висоти, виміряної в метрах.
- Name
- resize_longest_side
- Type
- number
- Description
Змінити розмір моделі так, щоб її найдовша сторона відповідала цьому значенню, виміряному в метрах. Співвідношення сторін зберігається.
- Name
- auto_size
- Type
- boolean
- Description
Якщо встановлено
true, сервіс використовує AI vision для автоматичного оцінювання реальної висоти об'єкта та відповідно змінює розмір моделі. Початок координат за замовчуванням будеbottom, якщоorigin_atне встановлено явно.
- Name
- origin_at
- Type
- string
- за замовчуванням bottom
- Description
Позиція початку координат після зміни розміру.
Доступні значення:
bottom,center.
Повертає
Властивість result відповіді містить id новоствореного завдання на зміну розміру.
Режими відмови
400 - Bad Request
Запит був неприйнятним. Поширені причини:
- Відсутній параметр: Або
model_url, абоinput_task_idповинні бути надані. - Відсутній режим зміни розміру: Принаймні один з
resize_height,resize_longest_sideабоauto_sizeповинен бути вказаний. - Взаємовиключні параметри:
resize_height,resize_longest_sideтаauto_sizeне можуть бути об'єднані. - Недійсне вхідне завдання:
input_task_idповинен посилатися на успішне завдання. - Недійсний формат моделі:
model_urlвказує на файл з непідтримуваним розширенням. - Недосяжний URL:
model_urlне може бути завантажено.
401 - Unauthorized
Автентифікація не вдалася. Будь ласка, перевірте ваш API key.
402 - Payment Required
Недостатньо кредитів для виконання цього завдання.
429 - Too Many Requests
Ви перевищили своє обмеження частоти.
Запит
# Simple: resize to a specific height
curl https://api.meshy.ai/openapi/v1/resize \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"resize_height": 1.8
}'
# Advanced: resize longest side with custom origin
curl https://api.meshy.ai/openapi/v1/resize \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"model_url": "https://example.com/model.glb",
"resize_longest_side": 2.0,
"origin_at": "center"
}'
Відповідь
{
"result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}
Отримати завдання зміни розміру
Ця кінцева точка отримує завдання зміни розміру за його ID.
Параметри
- Name
- id
- Type
- path
- Description
ID завдання зміни розміру, яке потрібно отримати.
Повертає
Об'єкт завдання зміни розміру.
Запит
curl https://api.meshy.ai/openapi/v1/resize/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Відповідь
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "resize",
"model_urls": {
"glb": "https://assets.meshy.ai/.../model.glb?Expires=..."
},
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
"consumed_credits": 1
}
Видалити завдання Змінити розмір
Ця кінцева точка назавжди видаляє завдання зміни розміру, включаючи всі пов'язані моделі та дані. Ця дія є незворотною.
Параметри шляху
- Name
- id
- Type
- path
- Description
Ідентифікатор завдання зміни розміру, яке потрібно видалити.
Повертає
Повертає 200 OK у разі успіху.
Запит
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/resize/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Відповідь
// Returns 200 Ok on success.
Перелік завдань зі зміни розміру
Ця кінцева точка дозволяє отримати список завдань зі зміни розміру.
Параметри
- Name
- page_num
- Type
- integer
- за замовчуванням 1
- Description
Номер сторінки для пагінації.
- Name
- page_size
- Type
- integer
- за замовчуванням 10
- Description
Ліміт розміру сторінки. Максимально дозволено
50елементів.
- Name
- sort_by
- Type
- string
- Description
Поле для сортування. Доступні значення:
+created_at: Сортувати за часом створення у порядку зростання.-created_at: Сортувати за часом створення у порядку спадання.
Повертає
Повертає список з пагінацією Об'єктів завдань зі зміни розміру.
Запит
curl https://api.meshy.ai/openapi/v1/resize?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Відповідь
[
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "resize",
"model_urls": {
"glb": "https://assets.meshy.ai/.../model.glb?Expires=..."
},
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
"consumed_credits": 1
}
]
Потокове передавання завдання зміни розміру
Ця кінцева точка передає оновлення в реальному часі для завдання зміни розміру за допомогою Server-Sent Events (SSE).
Параметри
- Name
- id
- Type
- path
- Description
Унікальний ідентифікатор для завдання зміни розміру для потокового передавання.
Повертає
Повертає потік Об'єктів завдання зміни розміру як Server-Sent Events.
Для завдань зі статусом PENDING або IN_PROGRESS, потік відповіді міститиме лише необхідні поля progress та status.
Запит
curl -N https://api.meshy.ai/openapi/v1/resize/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Потік відповіді
// Message event examples illustrate task progress.
event: message
data: {
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"progress": 0,
"status": "PENDING"
}
event: message
data: {
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "resize",
"model_urls": {
"glb": "https://assets.meshy.ai/.../model.glb?Expires=..."
},
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
"consumed_credits": 1
}
Об'єкт завдання "Змінити розмір"
Об'єкт завдання "Змінити розмір" представляє завдання зміни розміру.
Властивості
id· string
Унікальний ідентифікатор завдання.
type· string
Тип завдання. Значення - resize.
model_urls· object
Завантажуване URL для файлу моделі зі зміненим розміром. При використанні input_task_id, вихід завжди GLB. При використанні model_url, вихід зберігає оригінальний формат.
progress· integer
Прогрес завдання (0-100).
status· string
Статус завдання. Можливі значення: PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
preceding_tasks· integer
Кількість попередніх завдань. Має значення лише коли статус - PENDING.
created_at· timestamp
Мітка часу, коли завдання було створено, у мілісекундах.
started_at· timestamp
Мітка часу, коли завдання було розпочато, у мілісекундах. 0, якщо не розпочато.
finished_at· timestamp
Мітка часу, коли завдання було завершено, у мілісекундах. 0, якщо не завершено.
task_error· object
Об'єкт помилки, якщо завдання не вдалося. Дивіться Помилки для отримання додаткової інформації.
consumed_credits· integer
Кількість кредитів, спожитих цим завданням (1 кредит за завдання зміни розміру). Повертає 0 для завдань зі статусом FAILED.