API «Изменить размер»
API «Изменить размер» позволяет изменять размер существующих 3D-моделей до реальных физических размеров. Вы можете указать точную высоту, ограничение по самой длинной стороне или позволить ИИ автоматически оценить подходящий размер.
Создать задачу изменения размера
Этот эндпоинт создает новую задачу изменения размера.
Параметры
Обязателен только один из 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, сервис использует компьютерное зрение ИИ, чтобы автоматически оценить реальную высоту объекта и соответствующим образом изменить размер модели. Начало координат по умолчанию будет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.