API Змінити розмір
API Змінити розмір дає змогу змінювати розмір наявних 3D-моделей до реальних розмірів. Ви можете вказати точну висоту, обмеження найдовшої сторони або дозволити AI автоматично оцінити відповідний розмір.
Створити завдання зміни розміру
Ця кінцева точка створює нове завдання зміни розміру.
Параметри
Потрібен лише один із input_task_id або model_url. Якщо надано обидва, input_task_id має пріоритет.
- Name
- input_task_id
- Type
- string
- Обов'язковий
- Description
ID завершеного завдання 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. Вихідний формат збереже оригінальний формат вхідної моделі.
Потрібен рівно один mode зміни розміру: 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-зір, щоб автоматично оцінити реальну висоту об’єкта та відповідно змінити розмір моделі. Початок координат за замовчуванням будеbottom, якщоorigin_atне встановлено явно.
- Name
- origin_at
- Type
- string
- за замовчуванням bottom
- Description
Положення початку координат після зміни розміру.
Доступні значення:
bottom,center.
Повертає
Властивість result у відповіді містить id новоствореного завдання зміни розміру.
Режими відмови
400 - Bad Request
Запит був неприйнятним. Поширені причини:
- Відсутній параметр: Потрібно надати або
model_url, абоinput_task_id. - Відсутній mode зміни розміру: Потрібно вказати принаймні один із
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-ключ.
402 - Payment Required
Недостатньо кредитів для виконання цього завдання.
429 - Too Many Requests
Ви перевищили своє обмеження частоти.
Request
# 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"
}'
Response
{
"result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}
Отримати завдання Змінити розмір
Ця кінцева точка отримує завдання зміни розміру за його ID.
Параметри
- Name
- id
- Type
- path
- Description
ID завдання зміни розміру, яке потрібно отримати.
Повертає
Об’єкт завдання Змінити розмір.
Request
curl https://api.meshy.ai/openapi/v1/resize/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
{
"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
ID завдання зміни розміру, яке потрібно видалити.
Повертає
Повертає 200 OK у разі успіху.
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/resize/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
// 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: Сортувати за часом створення у низхідному порядку.
Повертає
Повертає список із пагінацією об’єктів завдання «Змінити розмір».
Request
curl https://api.meshy.ai/openapi/v1/resize?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
[
{
"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.
Request
curl -N https://api.meshy.ai/openapi/v1/resize/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response Stream
// 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
progress завдання (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.