Resize API
I-resize ang isang 3D model sa isang totoong-mundong sukat, sa metro. Itakda ang taas nito o ang haba ng pinakamahabang gilid nito, o hayaan ang Meshy na tantiyahin ang totoong-mundong taas ng bagay.
Gumawa ng Resize task
Gumagawa ng Resize task. Tumatakbo ang task sa background. Para sa karaniwang tagal ng isang task, tingnan ang Processing times.
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"
}
Mga Parameter
- Name
- input_task_id
- Type
- string
- Kinakailangan
- Description
Kinakailangan maliban kung ipapadala mo ang
model_url. Ang ID ng task na gumawa ng 3D model, halimbawa isang Text to 3D, Image to 3D, Remesh, o Retexture task. Dapat ang task ay galing sa API at may status naSUCCEEDED. Ibinabalik ni Meshy ang na-resize na model bilang GLB file.
- Name
- model_url
- Type
- string
- Kinakailangan
- Description
Kinakailangan maliban kung ipapadala mo ang
input_task_id. Ang model na i-resize, bilang isang pampublikong URL o isang data URI. Kung ipapadala mo ang pareho, gagamitin ni Meshy anginput_task_id.Dapat ang model ay isang GLB, glTF, OBJ, FBX, o STL file na hanggang 400 MB mula sa isang
httpohttpsURL, o 100 MB bilang data URI. Para sa data URI, gamitin ang MIME type naapplication/octet-stream.Ang file na higit sa 100 MB ay dapat ding sumunod sa mga sumusunod na patakaran:
- Ang isang GLB, glTF, FBX, o OBJ file ay maaaring magkaroon ng hanggang 10,000,000 faces lamang. Binibilang ni Meshy ang faces bilang mga triangle, kaya ang isang quad ay binibilang bilang 2, at ang isang mesh na naguguhit nang higit sa isang beses ay binibilang isang beses bawat kopya.
- Ang FBX file ay dapat binary FBX 7.1 o mas bago.
- Ang GLB o glTF file ay hindi dapat gumamit ng Draco compression.
Ang GLB, OBJ, FBX, o STL file ay pinapanatili ang kanyang format sa resulta. Ang
.gltffile o data URI ay ibinabalik bilang GLB.
Magpadala ng eksaktong isa sa resize_height, resize_longest_side, o auto_size. Ang hindi pagpapadala ng alinman sa mga ito, o pagpapadala ng higit sa isa, ay magbabalik ng 400.
- Name
- resize_height
- Type
- number
- Description
Ang bagong taas ng model sa metro, higit sa 0. Ang negatibong value ay magbabalik ng
400.
- Name
- resize_longest_side
- Type
- number
- Description
Ang bagong haba ng pinakamahabang gilid ng model sa metro, higit sa 0. Ang negatibong value ay magbabalik ng
400. Pinapanatili ni Meshy ang aspect ratio ng model.
- Name
- auto_size
- Type
- boolean
- Description
Kung tatantyahin ang tunay na taas ng bagay sa totoong mundo gamit ang AI vision at i-resize ang model ayon dito. Maliban kung itinakda mo ang
origin_at, inilalagay ni Meshy ang origin sa ibaba.
- Name
- origin_at
- Type
- string
- default bottom
- Description
Kung saan ilalagay ang origin ng model matapos i-resize,
bottomocenter.
Ibinabalik
Ang result field ng response ay naglalaman ng ID ng bagong Resize task.
Mga mode ng kabiguan
- Name
400 - Bad Request- Description
Hindi matatakbo ang request. Sinasabi ng error message kung anong problema ang natagpuan nito. Halimbawa:
- Missing parameter: Hindi ipinadala ang
model_urloinput_task_id. - Missing resize mode: Wala sa
resize_height,resize_longest_side, atauto_sizeang ipinadala. - Mutually exclusive parameters: Ang request ay may higit sa isa sa
resize_height,resize_longest_side, atauto_size. Magpadala lamang ng isa. - Negative size: Negatibo ang
resize_heightoresize_longest_side. - Invalid input task: Ang
input_task_iday hindi isang matagumpay na API task na may model file. - Invalid model format: Ang
model_urlfile ay may hindi suportadong extension. - Unreachable URL: Hindi ma-download ni Meshy ang
model_urlfile. - Model file too large: Ang
model_urlfile ay higit sa 400 MB mula sa isanghttpohttpsURL, o higit sa 100 MB bilang data URI. - Too many faces: Ang
model_urlfile ay higit sa 100 MB at may higit sa 10,000,000 faces. Bawasan ang bilang ng faces, pagkatapos ay ipadala muli ang file. - ASCII FBX over 100 MB: Ang
model_urlfile ay isang ASCII FBX na higit sa 100 MB. Ipadala ito bilang binary FBX o GLB. - Unreadable model file: Ang
model_urlfile ay higit sa 100 MB, at hindi mabasa ni Meshy ang header nito. Halimbawa, ito ay isang Draco-compressed GLB o glTF, o isang binary FBX na mas luma kaysa 7.1. - Model header too complex: 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 bagay sa file, pagkatapos ay ipadala muli ito.
Ayusin ang request, pagkatapos ay ipadala muli ito. Tingnan ang Errors.
- Missing parameter: Hindi ipinadala ang
- Name
401 - Unauthorized- Description
Nawawala o hindi valid ang API key. Suriin ang
Authorizationheader.
- Name
402 - Payment Required- Description
Halimbawa:
- Insufficient credits: Walang sapat na credits ang account para sa task na ito, o naabot ng account ang limitasyon ng credit. Suriin ang iyong credit balanse, pagkatapos ay subukan muli.
- Free plan: Nangangailangan ng bayad na plano ang paggawa ng task. I-upgrade ang iyong plano sa iyong subscription settings, pagkatapos ay subukan muli.
- Name
403 - Forbidden- Description
Ang
input_task_iday isang bas-relief model, na hindi kayang i-resize ng endpoint na ito. Ang mensahe ayThis model type does not support this operation. Magpadala ng ibang model.
- Name
404 - Not Found- Description
Ang
input_task_iday hindi tumutugma sa alinman sa iyong mga task. Suriin ang task ID, pagkatapos ay ipadala muli ang request.
- Name
429 - Too Many Requests- Description
Nalagpasan mo ang iyong rate limit. Maghintay, pagkatapos ay subukan muli. Tingnan ang Rate limits.
Kumuha ng Resize task
Ibinabalik ang isang Resize task gamit ang ID nito.
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
}
Mga Parameter
- Name
- id
- Type
- path
- Description
Ang task ID mula sa create response.
Ibinabalik
Ang Resize task object.
Mag-delete ng Resize task
Permanenteng nagde-delete ng Resize task, kasama na ang mga model at data nito. Hindi mo na maaaring i-undo ang isang delete.
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 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."
}
Mga path parameter
- Name
- id
- Type
- path
- Description
Ang ID ng task na ide-delete.
Status ng task
Ang pag-delete sa isang PENDING na task ay nagre-refund ng mga credits na ginamit nito noong ginawa mo ito.
Ang isang IN_PROGRESS na task ay hindi maaaring i-delete. Ang request ay magbabalik ng 409 Conflict,
at magpapatuloy ang pagtakbo ng task. Hindi nagre-refund ang Meshy para sa isang task na nasimulan na,
kaya ang pag-delete nito ay magiging dahilan ng pagkawala mo ng credits at ng resulta nito. Hintayin munang
umabot ito sa SUCCEEDED, FAILED, o CANCELED, bago ito i-delete.
Ang pag-delete ng isang task na nasa huling status na (SUCCEEDED, FAILED, o CANCELED)
ay hindi nagre-refund ng credits nito.
Mga ibinabalik
200 OK kapag na-delete na ang task, o 409 Conflict kapag ang task ay
IN_PROGRESS.
I-list ang mga Resize task
Nagbabalik ng listahan ng iyong mga Resize task.
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
}
]
Mga Parameter
- Name
- page_num
- Type
- integer
- default 1
- Description
Ang numero ng pahinang ibabalik, hanggang
255. Ang mas malaking value ay magbabalik ng400.
- Name
- page_size
- Type
- integer
- default 10
- Description
Ang bilang ng mga task kada pahina, hanggang
100.
- Name
- sort_by
- Type
- string
- Description
Ang pagkakaayos ng pagsunod-sunod.
Mga available na value:
+created_at: pinakaluma muna-created_at: pinakabago muna
Mga Ibinabalik
Isang paginated na listahan ng Resize task objects.
I-stream ang isang Resize task
Nagsa-stream ng mga update ng isang Resize task bilang Server-Sent Events (SSE).
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
}
Mga Parameter
- Name
- id
- Type
- path
- Description
Ang task ID mula sa create response.
Ibinabalik
Isang stream ng mga Resize task object bilang Server-Sent Events.
Ang bawat event ay may hawak na kumpletong task object, sa parehong hugis na ibinabalik ng Get endpoint. Habang ang task ay PENDING o IN_PROGRESS, ang mga result field nito ay wala pang mga value.
Ang Resize na task object
Ang isang Resize task object ay naglalarawan ng isang pag-resize ng isang 3D model. Ito ang naghahawak ng status, ng progress, at ng model file kapag nagtagumpay ang task.
Mga Property
- Name
- id
- Type
- string
- Description
Ang task ID. Ituring itong isang opaque na string, at huwag umasa sa format nito.
- Name
- type
- Type
- string
- Description
Ang uri ng task, palaging
resize.
- Name
- model_urls
- Type
- object
- Description
Download URL para sa na-resize na model file. Para sa
input_task_id, laging GLB ang file. Para samodel_url, mananatili sa orihinal nitong format ang GLB, OBJ, FBX, o STL na file, at ang.gltfna file o data URI ay babalik bilang GLB.
- Name
- progress
- Type
- integer
- Description
Kung gaano karaming bahagi ng task ang nagawa na, bilang isang porsyento. Ito ay
0hanggang magsimula ang task at100kapag ito ay nagtagumpay.
- Name
- status
- Type
- string
- Description
Ang status ng task, isa sa
PENDING,IN_PROGRESS,SUCCEEDED,FAILED, oCANCELED.
- Name
- preceding_tasks
- Type
- integer
- Description
Ang bilang ng mga task na nasa unahan ng task na ito sa queue. Makabuluhan lamang ang value na ito habang ang task ay
PENDING.
- Name
- created_at
- Type
- timestamp
- Description
Oras kung kailan nilikha ang task, sa Unix milliseconds.
- Name
- started_at
- Type
- timestamp
- Description
Oras kung kailan nagsimula ang task, sa Unix milliseconds. Ito ay
0hanggang magsimula ang task.
- Name
- finished_at
- Type
- timestamp
- Description
Oras kung kailan natapos ang task, sa Unix milliseconds. Ito ay
0hanggang matapos ang task.
- Name
- expires_at
- Type
- timestamp
- Description
Oras kung kailan mag-e-expire ang mga download URL ng task, sa Unix milliseconds. Ito ay
0hanggang matapos ang task.
- Name
- texture_urls
- Type
- array
- Description
Mga download URL para sa texture maps ng model, kapag nagtagumpay ang task: isang array ng mga object, isa para sa bawat texture set. Ang bawat object ay may
base_colorURL, at maaari ring magkaroon ngmetallic,roughness,normal,emission, atmetallic_roughnessna mga URL. Ito aynullhanggang magtagumpay ang task, at isang walang laman na array kapag ang model ay walang texture maps.
- Name
- task_error
- Type
- object
- Description
Ang mga detalye ng error kapag nabigo ang task. Tingnan ang Errors.
- Name
- consumed_credits
- Type
- integer
- Description
Ang bilang ng credits na ginamit ng task, na
1para sa isang Resize na task. Ito ay0para sa isangFAILEDna task.