Remesh API
Buuin muli ang mesh ng isang 3D model gamit ang bagong topology at face count, at i-export ito sa mga format na iyong pipiliin. Ang model ay maaaring manggaling sa ibang Meshy task, tulad ng Image to 3D o Text to 3D, o mula sa isang model file.
Create a Remesh task
Gumagawa ng Remesh task. Tumatakbo ang task sa background. Para malaman kung gaano karaming oras karaniwang tumatagal ang isang task, tingnan ang Processing times.
Para i-convert ang format ng isang modelo o i-resize ito, gamitin ang Convert API o ang Resize API. Gumagana pa rin ang mga deprecated na parameter sa pahinang ito, pero dapat gamitin ng mga bagong integrasyon ang mga endpoint na iyon.
Request
# Basic remesh with custom formats and resize
curl https://api.meshy.ai/openapi/v1/remesh \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"target_formats": ["glb", "fbx"],
"topology": "quad",
"target_polycount": 50000,
"resize_height": 1.0,
"origin_at": "bottom"
}'
# Quad remesh with auto-size
curl https://api.meshy.ai/openapi/v1/remesh \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"target_formats": ["glb", "fbx"],
"topology": "quad",
"target_polycount": 50000,
"auto_size": true
}'
Response
{
"result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}
Mga Parameter
- Name
- input_task_id
- Type
- string
- Kinakailangan
- Description
Kinakailangan maliban kung ipadala mo ang
model_url. Ang ID ng task kung saang modelo mo gustong i-remesh, halimbawa isang Text to 3D, Image to 3D, Retexture, o Remesh task. Dapat ang task ay isang ginawa mo gamit ang API at may status naSUCCEEDED.
- Name
- model_url
- Type
- string
- Kinakailangan
- Description
Kinakailangan maliban kung ipadala mo ang
input_task_id. Ang modelong ire-remesh, bilang isang pampublikong URL o isang data URI. Kung parehas mong ipapadala, ginagamit ng Meshy anginput_task_id.Dapat ang modelo ay isang GLB, glTF, OBJ, FBX, o STL file na hindi hihigit sa 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 mahigit 100 MB ay dapat ding sumunod sa mga sumusunod na patakaran:
- Ang GLB, glTF, FBX, o OBJ file ay maaaring magkaroon ng hanggang 10,000,000 faces. Binibilang ng Meshy ang faces bilang mga triangle, kaya ang isang quad ay binibilang bilang 2, at ang isang mesh na naguhit 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.
- Name
- target_formats
- Type
- string[]
- default ["glb"]
- Description
Ang mga file format na gagawin.
Mga available na value:
glbfbxobjusdzblendstl3mf
- Name
- topology
- Type
- string
- default triangle
- Description
Ang uri ng face ng na-remesh na modelo.
Mga available na value:
quad: isang mesh na quad-dominanttriangle: isang na-decimate na triangle mesh
- Name
- target_polycount
- Type
- integer
- default 30000
- Description
Ang bilang ng mga face na target, mula
100hanggang300000. Maaaring magkaiba ang resulta sa target, depende sa heometriya ng modelo. Ang value na labas sa saklaw ay nagbabalik ng400.
- Name
- decimation_mode
- Type
- integer
- Description
Adaptive na bilang ng face, ayon sa antas. Kapag itinakda mo ito, hindi papansinin ng Meshy ang
target_polycount.Mga available na value:
1: ultra2: mataas3: katamtaman4: mababa
- Name
- resize_height
- Type
- number
- ⚠ lipas na
- default 0
- Description
Gamitin ang Resize API sa halip. Ang taas na iresize ang modelo, sa metro. Magpadala ng hindi hihigit sa isa sa
resize_height,resize_longest_side, atauto_size.
- Name
- resize_longest_side
- Type
- number
- ⚠ lipas na
- default 0
- Description
Gamitin ang Resize API sa halip. Ang haba na iresize ang pinakamahabang gilid ng bounding box ng modelo, sa metro. Magpadala ng hindi hihigit sa isa sa
resize_height,resize_longest_side, atauto_size.
- Name
- auto_size
- Type
- boolean
- ⚠ lipas na
- default false
- Description
Gamitin ang Resize API sa halip. Kung tatantyahin ang tunay na taas ng bagay gamit ang AI vision at ire-resize ang modelo dito. Magpadala ng hindi hihigit sa isa sa
resize_height,resize_longest_side, atauto_size.
- Name
- origin_at
- Type
- string
- ⚠ lipas na
- default bottom
- Description
Gamitin ang Resize API sa halip. Kung saan ilalagay ang origin ng modelo,
bottomocenter. Nalalapat ang default kapag ipinadala mo angresize_height,resize_longest_side, oauto_size. Kung wala sa mga ito, ililipat lamang ng Meshy ang origin kung ipapadala mo angorigin_at.
- Name
- convert_format_only
- Type
- boolean
- ⚠ lipas na
- Description
Gamitin ang Convert API sa halip. Kung ic-convert lamang ang modelo sa
target_formats. Kapagtrue, hindi papansinin ng Meshy angtopology,target_polycount,decimation_mode,resize_height,resize_longest_side, atauto_size, pero susuriin pa rin ang kanilang mga value, kaya ang di-balidong value ay nagbabalik ng400. Saconvert_format_only: true, ang walang laman onullnatarget_formatsay nagbabalik ng400.
- Name
- alpha_thumbnail
- Type
- boolean
- default false
- Description
Kung magre-render din ng preview na may transparent na background (RGBA), ibinabalik sa
alpha_thumbnail_urlkapag kinuha mo ang task. Hindi nagbabago angthumbnail_url.
Mga Ibinabalik
Ang field na result ng tugon ay naghahawak ng ID ng bagong Remesh task.
Mga Paraan ng Pagkabigo
- Name
400 - Bad Request- Description
Hindi matatakbo ang request. Sinasabi ng mensahe ng error kung aling problema ang nahanap nito. Halimbawa:
- Nawawalang parameter: Hindi ipinadala ang alinman sa
model_urloinput_task_id. - Di-balidong input task: Ang
input_task_iday hindi isang matagumpay na API task, o hindi sinusuportahan ng AI model nito ang remeshing. - Di-balidong format ng modelo: Ang
model_urlfile ay may hindi suportadong extension. - Hindi maabot na URL: Hindi ma-download ng Meshy ang
model_urlfile. - Masyadong malaki ang model file: Ang
model_urlfile ay mahigit 400 MB mula sa isanghttpohttpsURL, o mahigit 100 MB bilang data URI. - Sobra-sobra ang faces: Ang
model_urlfile ay mahigit 100 MB at may higit sa 10,000,000 faces. Bawasan ang bilang ng faces, pagkatapos ipadala muli ang file. - ASCII FBX na mahigit 100 MB: Ang
model_urlfile ay isang ASCII FBX na mahigit 100 MB. Ipadala ito bilang binary FBX o GLB. - Hindi mabasang model file: Ang
model_urlfile ay mahigit 100 MB, at hindi mabasa ng Meshy ang header nito. Halimbawa, ito ay 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 mahigit 100 MB, at ang header nito ay may masyadong maraming mesh, node, o record na susuriin. Bawasan ang bilang ng mga bagay sa file, pagkatapos ipadala muli ito. - Di-balidong topology: Ang
topologyay hindiquadotriangle. - Magkasalungat na parameter: Ang request ay may higit sa isa sa
auto_size,resize_height, atresize_longest_side. Magpadala lamang ng isa.
Ayusin ang request, pagkatapos ipadala itong muli. Tingnan ang Errors.
- Nawawalang parameter: Hindi ipinadala ang alinman sa
- Name
401 - Unauthorized- Description
Nawawala o di-balido ang API key. Suriin ang
Authorizationheader.
- Name
402 - Payment Required- Description
Halimbawa:
- Hindi sapat na credits: Ang account ay walang sapat na credits para sa task na ito, o naabot ng account ang limitasyon ng credit. Suriin ang iyong balanse ng credit, pagkatapos subukan muli.
- Libreng plano: Ang paggawa ng task ay nangangailangan ng bayad na plano. I-upgrade ang iyong plano sa iyong mga setting ng subscription, pagkatapos subukan muli.
- Name
403 - Forbidden- Description
Ang
input_task_iday isang bas-relief na modelo, na hindi kayang i-remesh ng endpoint na ito. Ang mensahe ayThis model type does not support this operation. Magpadala ng ibang modelo.
- Name
404 - Not Found- Description
Ang
input_task_iday hindi tumugma sa alinman sa iyong mga task. Suriin ang ID ng task, pagkatapos ipadala muli ang request.
- Name
429 - Too Many Requests- Description
Nalampasan mo ang iyong rate limit. Maghintay, pagkatapos subukan muli. Tingnan ang Rate limits.
Kumuha ng Remesh na gawain
Ibinabalik ang isang Remesh na gawain gamit ang ID nito.
Request
curl https://api.meshy.ai/openapi/v1/remesh/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "remesh",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
"fbx": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.fbx?Expires=***",
"obj": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.obj?Expires=***",
"usdz": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.usdz?Expires=***",
"blend": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.blend?Expires=***",
"stl": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.stl?Expires=***"
},
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null
}
Mga Parameter
- Name
- id
- Type
- path
- Description
Ang task ID mula sa create response.
Ibinabalik
Ang Remesh task object.
I-delete ang isang Remesh task
Permanenteng binubura ang isang Remesh task, kasama ang mga model at data nito. Hindi mo na maaaring bawiin ang pagbura.
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/remesh/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."
}
Path parameters
- Name
- id
- Type
- path
- Description
Ang ID ng task na ide-delete.
Status ng task
Kapag binura mo ang isang PENDING na task, ire-refund ang mga credits na nagamit noong ginawa mo ito.
Hindi maaaring i-delete ang isang IN_PROGRESS na task. Ibabalik ng request ang 409 Conflict,
at magpapatuloy ang pagtakbo ng task. Hindi nire-refund ng Meshy ang task na nasimulan na,
kaya kapag binura mo ito, mawawala sa iyo kapwa ang credits at ang resulta. Hintayin itong
umabot sa SUCCEEDED, FAILED, o CANCELED, bago ito i-delete.
Ang pagbura ng task na nasa final status (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.
List Remesh tasks
Nagbabalik ng listahan ng iyong mga Remesh task.
Request
curl https://api.meshy.ai/openapi/v1/remesh?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
[
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "remesh",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
"fbx": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.fbx?Expires=***",
"obj": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.obj?Expires=***",
"usdz": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.usdz?Expires=***",
"blend": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.blend?Expires=***",
"stl": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.stl?Expires=***"
},
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null
}
]
Mga Parameter
- Name
- page_num
- Type
- integer
- default 1
- Description
Ang numero ng pahina na 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 pagsasaayos.
Mga available na value:
+created_at: pinakaluma muna-created_at: pinakabago muna
Mga Ibinabalik
Isang paginated na listahan ng Remesh task objects.
I-stream ang isang Remesh task
Ini-stream ang mga update ng isang Remesh task bilang Server-Sent Events (SSE).
Request
curl -N https://api.meshy.ai/openapi/v1/remesh/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response Stream
// Error event example
event: error
data: {
"status_code": 404,
"message": "Task not found"
}
// Message event examples illustrate task progress.
// These examples are shortened. Each event holds the full task object.
event: message
data: {
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"progress": 0,
"status": "PENDING"
}
event: message
data: {
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "remesh",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
"fbx": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.fbx?Expires=***",
"obj": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.obj?Expires=***",
"usdz": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.usdz?Expires=***",
"blend": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.blend?Expires=***",
"stl": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.stl?Expires=***"
},
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
}
Mga Parameter
- Name
- id
- Type
- path
- Description
Ang task ID mula sa response ng paglikha (create).
Ibinabalik
Isang stream ng Remesh task objects bilang Server-Sent Events.
Ang bawat event ay naglalaman ng kumpletong task object, sa parehong anyo na ibinabalik ng Get endpoint. Habang ang task ay PENDING o IN_PROGRESS, wala pang mga value ang mga result field nito.
Ang Remesh task object
Ang isang Remesh task object ay naglalarawan ng isang remesh ng isang 3D model. Ito ang naghahawak ng status, ng progress, at ng mga file ng model kapag nagtagumpay ang task.
Mga Properties
Example Remesh Task Object
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "remesh",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
"fbx": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.fbx?Expires=***",
"obj": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.obj?Expires=***",
"usdz": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.usdz?Expires=***",
"blend": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.blend?Expires=***",
"stl": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.stl?Expires=***"
},
"progress": 100,
"status": "SUCCEEDED",
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": {
"message": ""
},
"consumed_credits": 5
}
- 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
remesh.
- Name
- model_urls
- Type
- object
- Description
Mga download URL para sa remeshed na model, isa para sa bawat file format. Ang format na hindi na-generate ng task ay walang key, sa halip na isang blankong string.
- Name
glb- Type
- string
- Description
Ang GLB file.
- Name
fbx- Type
- string
- Description
Ang FBX file.
- Name
obj- Type
- string
- Description
Ang OBJ file.
- Name
usdz- Type
- string
- Description
Ang USDZ file.
- Name
blend- Type
- string
- Description
Ang Blender file.
- Name
stl- Type
- string
- Description
Ang STL file.
- Name
3mf- Type
- string
- Description
Ang 3MF file. Naroroon lamang kapag kasama sa
target_formatsang3mf.
- Name
- thumbnail_url
- Type
- string
- Description
Download URL para sa preview image ng remeshed na model.
- Name
- alpha_thumbnail_url
- Type
- string
- Description
Download URL para sa bersyon ng
thumbnail_urlna may transparent na background (RGBA). Naroroon lamang kapag ginawa mo ang task gamit angalpha_thumbnail: trueat na-render ng Meshy ang transparent na preview.
- Name
- progress
- Type
- integer
- Description
Kung gaano karami ang natapos sa task, 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 habang ang task ay
PENDING.
- Name
- created_at
- Type
- timestamp
- Description
Oras kung kailan ginawa 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. 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 blankong 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. Naroroon kapag ang status ay
PENDING,IN_PROGRESS, oSUCCEEDED. Ito ay0para sa isangFAILEDna task, dahil ire-refund ng Meshy ang credits kapag nabigo ang isang task.