Resize API
Ang Resize API ay nagbibigay-daan sa iyo na i-resize ang mga umiiral na 3D model patungo sa totoong-mundong dimensyon. Maaari kang magtakda ng eksaktong taas, isang constraint sa pinakamahabang gilid, o hayaan ang AI na awtomatikong tantyahin ang angkop na sukat.
Create a Resize Task
Ang endpoint na ito ay lumilikha ng bagong resize task.
Ang task ay tumatakbo sa background. Para sa karaniwang tagal nito, tingnan ang Processing Times.
Mga Parameter
Isa lamang sa input_task_id o model_url ang kinakailangan. Kung parehong ibinigay, ang input_task_id ang may priority.
- Name
- input_task_id
- Type
- string
- Kinakailangan
- Description
Ang ID ng isang nakumpletong Meshy task na ang model ay nais mong i-resize. Ang task ay dapat may status na
SUCCEEDED. Ang output format ay magiging GLB.
- Name
- model_url
- Type
- string
- Kinakailangan
- Description
Isang publicly accessible na URL o data URI na tumuturo sa isang 3D model file. Mga suportadong format:
.glb,.gltf,.obj,.fbx,.stl. Para sa Data URI, gamitin ang MIME type:application/octet-stream. Ang isang.glb,.obj,.fbxo.stlURL ay pananatilihin ang format nito sa output; ang isang.gltfURL o data URI ay gagawa ng GLB.Maximum na laki ng file: 400 MB para sa isang
httpohttpsURL, 100 MB para sa isangdata:URI.Ang isang GLB, glTF, FBX o OBJ file na higit sa 100 MB ay maaaring magkaroon ng hanggang 10,000,000 faces. Ang mga faces ay binibilang bilang mga triangle: ang isang quad ay binibilang bilang 2, at ang isang mesh na iginuhit nang higit sa isang beses ay binibilang nang isang beses kada kopya. Sa higit sa 100 MB, ang isang FBX file ay dapat binary FBX 7.1 o mas bago, at ang isang GLB o glTF file ay hindi dapat gumamit ng Draco compression.
Eksaktong isang resize mode ang kinakailangan: resize_height, resize_longest_side, o auto_size. Ang tatlong parameter na ito ay mutually exclusive.
- Name
- resize_height
- Type
- number
- Description
I-resize ang model sa isang tiyak na taas na sinusukat sa metro.
- Name
- resize_longest_side
- Type
- number
- Description
I-resize ang model upang ang pinakamahabang gilid nito ay tumugma sa value na ito, sinusukat sa metro. Ang aspect ratio ay napapanatili.
- Name
- auto_size
- Type
- boolean
- Description
Kapag naka-set sa
true, ginagamit ng serbisyo ang AI vision upang awtomatikong tantyahin ang real-world na taas ng object at i-resize ang model alinsunod dito. Ang origin ay magde-default sabottommaliban kung angorigin_atay tahasang naka-set.
- Name
- origin_at
- Type
- string
- default bottom
- Description
Posisyon ng origin pagkatapos ng pag-resize.
Mga available na value:
bottom,center.
Mga Ibabalik
Ang result property ng response ay naglalaman ng id ng bagong likhang resize task.
Mga Mode ng Kabiguan
400 - Bad Request
Hindi katanggap-tanggap ang request. Mga karaniwang dahilan:
- Nawawalang parameter: Dapat ibigay ang
model_urloinput_task_id. - Nawawalang resize mode: Dapat tukuyin ang kahit isa sa
resize_height,resize_longest_side, oauto_size. - Mutually exclusive na mga parameter: Ang
resize_height,resize_longest_side, atauto_sizeay hindi maaaring pagsamahin. - Invalid na input task: Ang
input_task_iday dapat tumukoy sa isang matagumpay na task. - Invalid na model format: Ang
model_urlay tumuturo sa isang file na may hindi suportadong extension. - Hindi maabot na URL: Hindi ma-download ang
model_url. - Masyadong malaki ang model file: Ang
model_urlfile ay lumampas sa 400 MB (httpohttpsURL) o 100 MB (data:URI). - Masyadong maraming faces: Ang
model_urlfile ay higit sa 100 MB at may higit sa 10,000,000 faces. Bawasan ang face count, pagkatapos ay ipadala muli ang file. - ASCII FBX na higit sa 100 MB: Ang
model_urlfile ay isang ASCII FBX na higit sa 100 MB. Ipadala ito bilang binary FBX o GLB. - Hindi mabasang model file: Ang
model_urlfile ay higit sa 100 MB at hindi mabasa ang header nito, halimbawa isang Draco-compressed GLB o glTF, o isang binary FBX na mas luma sa 7.1. - Masyadong kumplikado ang model header: Ang
model_urlfile ay higit sa 100 MB at ang header nito ay may masyadong maraming mesh, node o record na dapat suriin. Bawasan ang bilang ng mga object sa file, pagkatapos ay ipadala ito muli.
401 - Unauthorized
Nabigo ang authentication. Mangyaring suriin ang iyong API key.
402 - Payment Required
Hindi sapat na credits upang maisagawa ang task na ito.
429 - Too Many Requests
Nalagpasan mo na ang iyong rate limit.
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"
}
Kunin ang isang Resize Task
Ang endpoint na ito ay kumukuha ng isang resize task gamit ang ID nito.
Mga Parameter
- Name
- id
- Type
- path
- Description
Ang ID ng resize task na kukunin.
Ibinabalik
Ang Resize Task object.
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
}
I-delete ang Resize Task
Permanenteng binubura ng endpoint na ito ang isang resize task, kasama ang lahat ng kaugnay na modelo at datos. Hindi na maaaring bawiin ang aksyong ito.
Path Parameters
- Name
- id
- Type
- path
- Description
Ang ID ng resize task na ide-delete.
Katayuan ng Task
Ang isang task na nasa PENDING pa ay binubura at ire-refund ang credits na
nagastos noong oras ng paggawa nito.
Ang isang task na IN_PROGRESS na ay hindi na maaaring burahin: tatanggihan ang
request na may 409 Conflict at magpapatuloy pa ring tumakbo ang task. Hindi na
maaaring i-refund ang credits para sa isang task na nasimulan na ng worker, kaya
kung ito ay bubura habang tumatakbo pa, mawawala sa iyo ang credits at ang resulta
nito. Hintayin munang maabot nito ang SUCCEEDED, FAILED, o CANCELED, bago ito
burahin.
Ang isang task na nasa terminal state (SUCCEEDED, FAILED, o CANCELED) ay
binubura nang walang refund.
Ibinabalik
Nagbabalik ng 200 OK kapag matagumpay, o 409 Conflict kapag ang task ay
IN_PROGRESS.
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/resize/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-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 is left 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."
}
I-list ang mga Resize Task
Ang endpoint na ito ay nagbibigay-daan sa iyo na kumuha ng listahan ng mga resize task.
Mga Parameter
- Name
- page_num
- Type
- integer
- default 1
- Description
Numero ng pahina para sa pagination.
- Name
- page_size
- Type
- integer
- default 10
- Description
Limitasyon sa laki ng pahina. Ang pinakamataas na pinapayagan ay
100na item.
- Name
- sort_by
- Type
- string
- Description
Field na gagamitin sa pag-sort. Mga available na value:
+created_at: I-sort ayon sa oras ng paglikha sa pataas na pagkakasunod-sunod.-created_at: I-sort ayon sa oras ng paglikha sa pababang pagkakasunod-sunod.
Mga Ibinabalik
Nagbabalik ng isang pinaged na listahan ng The Resize Task Objects.
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
}
]
Mag-stream ng Resize Task
Ang endpoint na ito ay nagst-stream ng real-time na mga update para sa isang resize task gamit ang Server-Sent Events (SSE).
Mga Parameter
- Name
- id
- Type
- path
- Description
Natatanging identifier para sa resize task na i-stream.
Ibinabalik
Nagbabalik ng stream ng The Resize Task Objects bilang Server-Sent Events.
Para sa mga task na PENDING o IN_PROGRESS, ang response stream ay magsasama lamang ng mga kinakailangang field na progress at 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
}
The Resize Task Object
Ang Resize Task object ay kumakatawan sa isang resize job.
Mga Katangian
id· string
Natatanging identifier para sa task.
type· string
Uri ng task. Ang value ay resize.
model_urls· object
Mada-download na URL para sa na-resize na model file. Kapag gumagamit ng input_task_id, ang output ay palaging GLB. Kapag gumagamit ng model_url, ang isang .glb, .obj, .fbx o .stl input ay napapanatili ang format nito, at ang isang .gltf input o data URI ay gumagawa ng GLB.
progress· integer
Progreso ng task (0-100).
status· string
Status ng task. Mga posibleng value: PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
preceding_tasks· integer
Ang bilang ng mga naunang task. Makabuluhan lamang kapag ang status ay PENDING.
created_at· timestamp
Timestamp kung kailan nalikha ang task, sa milliseconds.
started_at· timestamp
Timestamp kung kailan nasimulan ang task, sa milliseconds. 0 kung hindi pa nasisimulan.
finished_at· timestamp
Timestamp kung kailan natapos ang task, sa milliseconds. 0 kung hindi pa natatapos.
task_error· object
Error object kung nabigo ang task. Tingnan ang Errors para sa karagdagang detalye.
consumed_credits· integer
Ang bilang ng credits na nagamit ng task na ito (1 credit bawat resize task). Nagbabalik ng 0 para sa mga FAILED na task.