Remesh API
Ang Remesh API ay nagbibigay-daan sa iyo na i-remesh at i-export ang mga umiiral na 3D model na nabuo ng ibang mga Meshy API (tulad ng Image to 3D o Text to 3D) sa iba't ibang format. Ang seksyong ito ay nagbibigay ng mga detalye kung paano gamitin ang Remesh API.
Gumawa ng Remesh Task
Ang endpoint na ito ay gumagawa ng bagong remesh task.
Para sa pag-convert ng format at pag-resize, gamitin ang dedikadong Convert API at Resize API. Patuloy pa ring gagana ang mga deprecated na parameter sa ibaba, ngunit inirerekomenda namin ang mga bagong endpoint para sa mga bagong integrasyon.
Mga Parameter
Isa lamang sa input_task_id o model_url ang required. Kung parehong ibinigay, ang input_task_id ang mauuna.
- Name
- input_task_id
- Type
- string
- Kinakailangan
- Description
Ang ID ng nakumpletong Image to 3D o Text to 3D task na nais mong i-remesh. Ang task na ito ay dapat isa sa mga sumusunod na task: Text to 3D Preview, Text to 3D Refine, Image to 3D o Retexture. Bukod pa rito, dapat itong may status na
SUCCEEDED.
- Name
- model_url
- Type
- string
- Kinakailangan
- Description
Mangyaring magbigay ng 3D model para i-remesh ni Meshy sa pamamagitan ng isang publicly accessible URL o data URI. Mga sinusuportahang format:
.glb,.gltf,.obj,.fbx,.stl.Para sa Data URIs, gamitin ang MIME type:
application/octet-stream.
- Name
- target_formats
- Type
- string[]
- default ["glb"]
- Description
Isang listahan ng mga target na format para sa na-remesh na model. Kapag hindi ito isinama, GLB lamang ang bubuuin.
Mga available na halaga:
glb,fbx,obj,usdz,blend,stl,3mf.
- Name
- topology
- Type
- string
- default triangle
- Description
Tukuyin ang topology ng nabuong model.
Mga available na halaga:
quad: Bumuo ng quad-dominant na mesh.triangle: Bumuo ng decimated na triangle mesh.
- Name
- target_polycount
- Type
- integer
- default 30,000
- Description
Tukuyin ang target na bilang ng polygons sa nabuong model. Ang aktwal na bilang ng polygons ay maaaring iba sa target depende sa pagiging kumplikado ng heometriya.
Ang valid na saklaw ng halaga ay nag-iiba depende sa user tier:
- 100 hanggang 300,000 (kasama)
- Name
- decimation_mode
- Type
- integer
- Description
Paganahin ang adaptive decimation sa pamamagitan ng pagtatakda ng polycount level. Kapag naitakda ito, ang
target_polycountay hindi na papansinin.Mga available na halaga:
1: Adaptive — ultra polycount.2: Adaptive — high polycount.3: Adaptive — medium polycount.4: Adaptive — low polycount.
- Name
- resize_height
- Type
- number
- ⚠ lipas na
- default 0
- Description
I-resize ang model sa isang tiyak na taas na sinusukat sa metro. Inirerekomenda naming gamitin ang dedikadong Resize API sa halip.
Ang
auto_size,resize_height, atresize_longest_sideay mutually exclusive.
- Name
- resize_longest_side
- Type
- number
- ⚠ lipas na
- default 0
- Description
I-resize ang model para ang pinakamahabang dimensyon ng bounding-box ay katumbas ng tinukoy na halaga sa metro. Inirerekomenda naming gamitin ang dedikadong Resize API sa halip.
Ang
auto_size,resize_height, atresize_longest_sideay mutually exclusive.
- Name
- auto_size
- Type
- boolean
- ⚠ lipas na
- default false
- Description
Kapag naitakda sa
true, gagamit ang serbisyo ng AI vision upang awtomatikong tantiyahin ang real-world na taas ng bagay at i-resize ang model ayon dito. Inirerekomenda naming gamitin ang dedikadong Resize API sa halip.Ang
auto_size,resize_height, atresize_longest_sideay mutually exclusive.
auto_size = true- Name
- origin_at
- Type
- string
- ⚠ lipas na
- default bottom
- Description
Posisyon ng origin. Inirerekomenda naming gamitin ang dedikadong Resize API sa halip.
Mga available na halaga:
bottom,center.
- Name
- convert_format_only
- Type
- boolean
- ⚠ lipas na
- Description
Kung
true, babaguhin lamang ng serbisyo ang format ng input model file, na hindi papansinin ang ibang input tulad ngtopology,resize_height, attarget_polycount. Inirerekomenda naming gamitin ang dedikadong Convert API sa halip.Dapat ibigay ang
target_formatskung angconvert_format_onlyay naitakda satrue.
- Name
- alpha_thumbnail
- Type
- boolean
- default false
- Description
Kapag naitakda sa
true, ang task ay karagdagang mag-re-render ng bersyon na may transparent na background (RGBA) ng preview at ibabalik ito bilangalpha_thumbnail_urlsa GET response. Ang umiiral na field nathumbnail_urlay hindi nagbabago.
Ibinabalik
Ang property na result ng response ay naglalaman ng id ng bagong nagawang remesh task.
Mga Mode ng Kabiguan
- Name
400 - Bad Request- Description
Hindi katanggap-tanggap ang request. Karaniwang mga dahilan:
- Nawawalang parameter: Alinman sa
model_urloinput_task_iday dapat ibigay. - Invalid na input task: Ang
input_task_iday dapat tumutukoy sa isang matagumpay na task mula sa isang suportadong model. - 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. - Invalid na topology: Ang parameter na
topologyay invalid. - Mutually exclusive na mga parameter: Hindi maaaring parehong itakda ang
auto_sizeatresize_height.
- Nawawalang parameter: Alinman sa
- Name
401 - Unauthorized- Description
Nabigo ang authentication. Mangyaring suriin ang iyong API key.
- Name
402 - Payment Required- Description
Hindi sapat ang credits upang isagawa ang task na ito.
- Name
429 - Too Many Requests- Description
Nalampasan mo na ang iyong rate limit.
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"
}
Kunin ang Isang Remesh Task
Kinukuha ng endpoint na ito ang isang remesh task gamit ang ID nito.
Mga Parameter
- Name
- id
- Type
- path
- Description
Ang ID ng remesh task na kukunin.
Ibinabalik
Ang Remesh Task object.
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,
}
Delete a Remesh Task
Ang endpoint na ito ay permanenteng magtatanggal ng isang remesh task, kasama na ang lahat ng kaugnay na mga modelo at datos. Ang aksyong ito ay hindi na maaaring bawiin.
Path Parameters
- Name
- id
- Type
- path
- Description
Ang ID ng remesh task na tatanggalin.
Ibinabalik
Nagbabalik ng 200 OK kapag matagumpay.
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/remesh/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
// Returns 200 Ok on success.
List Remesh Tasks
Ang endpoint na ito ay nagbibigay-daan sa iyo na kumuha ng listahan ng mga Remesh 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 ng laki ng pahina. Ang pinakamataas na pinapayagan ay
50na item.
- Name
- sort_by
- Type
- string
- Description
Field na gagamitin para sa pag-sort.
Mga magagamit na value:
+created_at: I-sort ayon sa oras ng paggawa nang pataas (ascending).-created_at: I-sort ayon sa oras ng paggawa nang pababa (descending).
Ibinabalik
Nagbabalik ng paginated na listahan ng The Remesh Task Objects.
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
}
]
I-stream ang Remesh Task
Ang endpoint na ito ay nag-i-stream ng real-time na mga update para sa isang Remesh task gamit ang Server-Sent Events (SSE).
Mga Parameter
- Name
- id
- Type
- path
- Description
Natatanging identifier ng Remesh task na i-stream.
Ibinabalik
Nagbabalik ng stream ng The Remesh 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/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.
// For PENDING or IN_PROGRESS tasks, the response stream will not include all fields.
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,
}
Ang Remesh Task Object
Ang Remesh Task object ay kumakatawan sa isang yunit ng trabaho na ginagamit ng Meshy upang i-remesh at i-export ang isang umiiral na 3D model sa iba't ibang format. Ang object ay may mga sumusunod na properties:
Properties
- Name
- id
- Type
- string
- Description
Natatanging identifier para sa task. Bagaman gumagamit kami ng k-sortable UUID para sa mga task id bilang detalye ng implementasyon, hindi mo dapat gawin ang anumang palagay tungkol sa format ng id.
- Name
- type
- Type
- string
- Description
Uri ng Remesh task. Ang value ay
remesh.
- Name
- model_urls
- Type
- object
- Description
Downloadable URL sa textured 3D model file na ginawa ng Meshy. Ang property para sa isang format ay hindi isasama kung hindi ginawa ang format sa halip na magbalik ng walang laman na string.
- Name
glb- Type
- string
- Description
Downloadable URL sa GLB file.
- Name
fbx- Type
- string
- Description
Downloadable URL sa FBX file.
- Name
obj- Type
- string
- Description
Downloadable URL sa OBJ file.
- Name
usdz- Type
- string
- Description
Downloadable URL sa USDZ file.
- Name
blend- Type
- string
- Description
Downloadable URL sa Blender file.
- Name
stl- Type
- string
- Description
Downloadable URL sa STL file.
- Name
3mf- Type
- string
- Description
Downloadable URL sa 3MF file. Naroroon lamang kapag hiniling ang
3mfsa pamamagitan ngtarget_formats.
- Name
- thumbnail_url
- Type
- string
- Description
Downloadable URL sa preview image na na-render mula sa remeshed model.
- Name
- alpha_thumbnail_url
- Type
- string
- Description
Downloadable URL sa isang transparent-background (RGBA) na bersyon ng
thumbnail_url. Naroroon lamang kapag ang task ay ginawa gamit angalpha_thumbnail: trueat matagumpay na na-render ang transparent na preview; kung hindi, aalisin ang field na ito.
- Name
- progress
- Type
- integer
- Description
Progress ng task. Kung hindi pa nasisimulan ang task, ang property na ito ay magiging
0. Kapag nagtagumpay na ang task, ito ay magiging100.
- Name
- status
- Type
- string
- Description
Status ng task. Ang mga posibleng value ay isa sa
PENDING,IN_PROGRESS,SUCCEEDED,FAILED.
- Name
- preceding_tasks
- Type
- integer
- Description
Ang bilang ng mga naunang task.
Ang value ng field na ito ay may kahulugan lamang kung ang status ng task ay
PENDING.
- Name
- created_at
- Type
- timestamp
- Description
Timestamp kung kailan ginawa ang task, sa milliseconds.
- Name
- started_at
- Type
- timestamp
- Description
Timestamp kung kailan sinimulan ang task, sa milliseconds. Kung hindi pa nasisimulan ang task, ang property na ito ay magiging
0.
- Name
- finished_at
- Type
- timestamp
- Description
Timestamp kung kailan natapos ang task, sa milliseconds. Kung hindi pa natatapos ang task, ang property na ito ay magiging
0.
- Name
- task_error
- Type
- object
- Description
Detalye ng error para sa mga nabigong task. Tingnan ang Errors para sa kumpletong reference ng
task_errorobject.
- Name
- consumed_credits
- Type
- integer
- Description
Ang bilang ng credits na ginamit ng task na ito. Naroroon kapag ang status ng task ay
PENDING,IN_PROGRESS, oSUCCEEDED. Nagbabalik ng0para sa mgaFAILEDna task (nire-refund ang credits kapag nabigo).
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
}