Remesh API
Ang Remesh API ay nagbibigay-daan sa iyo na mag-remesh at mag-export ng mga umiiral na 3D models na ginawa ng iba pang Meshy APIs (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 lumilikha ng bagong remesh task.
Para sa conversion ng format at pag-resize, gamitin ang dedikadong Convert API at Resize API. Ang mga deprecated na parameter sa ibaba ay patuloy na gagana, ngunit inirerekomenda namin ang mga bagong endpoint para sa mga bagong integrasyon.
Mga Parameter
Isa lamang sa input_task_id o model_url ang kailangan. Kung parehong ibinigay, ang input_task_id ang may prayoridad.
- Name
- input_task_id
- Type
- string
- Kinakailangan
- Description
Ang ID ng natapos na 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 dito, dapat itong may status na
SUCCEEDED.
- Name
- model_url
- Type
- string
- Kinakailangan
- Description
Mangyaring magbigay ng 3D model para sa Meshy na i-remesh sa pamamagitan ng isang publicly accessible URL o data URI. Sinusuportahang mga 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 remeshed na modelo. Kapag hindi ibinigay, tanging GLB lamang ang nalilikha.
Mga available na halaga:
glb,fbx,obj,usdz,blend,stl,3mf.
- Name
- topology
- Type
- string
- default triangle
- Description
Tukuyin ang topology ng nalikhang modelo.
Mga available na halaga:
quad: Lumikha ng quad-dominant na mesh.triangle: Lumikha ng decimated triangle mesh.
- Name
- target_polycount
- Type
- integer
- default 30,000
- Description
Tukuyin ang target na bilang ng polygons sa nalikhang modelo. Ang aktwal na bilang ng polygons ay maaaring lumihis mula sa target depende sa kumplikado ng heometriya.
Ang wastong 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 itinakda, ang
target_polycountay hindi pinapansin.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 modelo 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 hindi maaaring pagsamahin.
- Name
- resize_longest_side
- Type
- number
- ⚠ lipas na
- default 0
- Description
I-resize ang modelo upang 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 hindi maaaring pagsamahin.
- Name
- auto_size
- Type
- boolean
- ⚠ lipas na
- default false
- Description
Kapag itinakda sa
true, ang serbisyo ay gumagamit ng AI vision upang awtomatikong tantiyahin ang totoong taas ng bagay at i-resize ang modelo nang naaayon. Inirerekomenda naming gamitin ang dedikadong Resize API sa halip.Ang
auto_size,resize_height, atresize_longest_sideay hindi maaaring pagsamahin.
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, ang serbisyo ay magbabago lamang ng format ng input model file, hindi pinapansin ang ibang input tulad ngtopology,resize_height, attarget_polycount. Inirerekomenda naming gamitin ang dedikadong Convert API sa halip.Ang
target_formatsay dapat ibigay kung angconvert_format_onlyay itinakda satrue.
- Name
- alpha_thumbnail
- Type
- boolean
- default false
- Description
Kapag itinakda sa
true, ang task ay karagdagang nagre-render ng transparent-background (RGBA) na bersyon ng preview at ibinabalik ito bilangalpha_thumbnail_urlsa GET response. Ang umiiral nathumbnail_urlna field ay hindi nagbabago.
Mga Ibinabalik
Ang result na property ng response ay naglalaman ng id ng bagong likhang remesh task.
Mga Mode ng Pagkabigo
- Name
400 - Bad Request- Description
Ang request ay hindi katanggap-tanggap. Karaniwang mga sanhi:
- Nawawalang parameter: Dapat ibigay ang alinman sa
model_urloinput_task_id. - Hindi wastong input task: Ang
input_task_iday dapat tumukoy sa isang matagumpay na task mula sa isang suportadong modelo. - Hindi wastong format ng modelo: Ang
model_urlay tumutukoy sa isang file na may hindi suportadong extension. - Hindi maabot na URL: Ang
model_urlay hindi ma-download. - Hindi wastong topology: Ang
topologyna parameter ay hindi wasto. - Mutually exclusive parameters: Ang
auto_sizeatresize_heightay hindi maaaring parehong itakda.
- Nawawalang parameter: Dapat ibigay ang 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
Naabot 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
Ang endpoint na ito ay kumukuha ng isang remesh task gamit ang ID nito.
Mga Parameter
- Name
- id
- Type
- path
- Description
Ang ID ng remesh task na kukunin.
Mga 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,
}
Tanggalin ang isang Remesh Task
Ang endpoint na ito ay permanenteng nagtatanggal ng isang remesh task, kasama ang lahat ng kaugnay na modelo at datos. Ang aksyong ito ay hindi na maibabalik.
Mga Parameter ng Path
- Name
- id
- Type
- path
- Description
Ang ID ng remesh task na tatanggalin.
Mga 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.
Listahan ng mga Gawain sa Remesh
Ang endpoint na ito ay nagbibigay-daan sa iyo na makuha ang listahan ng mga gawain sa Remesh.
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
50na item.
- Name
- sort_by
- Type
- string
- Description
Patlang na gagamitin para sa pag-aayos.
Mga magagamit na halaga:
+created_at: Ayusin ayon sa oras ng paglikha sa pataas na pagkakasunod-sunod.-created_at: Ayusin ayon sa oras ng paglikha sa pababang pagkakasunod-sunod.
Mga Ibinabalik
Nagbabalik ng isang listahan na may pagination 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 isang Remesh na Gawain
Ang endpoint na ito ay nag-i-stream ng mga real-time na update para sa isang Remesh na gawain gamit ang Server-Sent Events (SSE).
Mga Parameter
- Name
- id
- Type
- path
- Description
Natatanging pagkakakilanlan para sa Remesh na gawain na i-stream.
Mga Ibinabalik
Nagbabalik ng stream ng The Remesh Task Objects bilang Server-Sent Events.
Para sa mga PENDING o IN_PROGRESS na gawain, ang response stream ay maglalaman lamang ng mga kinakailangang progress at status na mga field.
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 Objek ng Gawain ng Remesh
Ang objek ng gawain ng Remesh ay kumakatawan sa isang yunit ng trabaho na ginagamit ng Meshy upang i-remesh at i-export ang isang umiiral na 3D na modelo sa iba't ibang mga format. Ang objek ay may mga sumusunod na katangian:
Mga Katangian
- Name
- id
- Type
- string
- Description
Natatanging pagkakakilanlan para sa gawain. Habang gumagamit kami ng k-sortable UUID para sa mga id ng gawain bilang detalye ng implementasyon, hindi ka dapat gumawa ng anumang mga palagay tungkol sa format ng id.
- Name
- type
- Type
- string
- Description
Uri ng gawain ng Remesh. Ang halaga ay
remesh.
- Name
- model_urls
- Type
- object
- Description
Downloadable URL sa textured na 3D na file ng modelo na nabuo ng Meshy. Ang katangian para sa isang format ay hindi isasama kung ang format ay hindi nabuo sa halip na magbalik ng isang 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. Tanging naroroon kapag ang
3mfay hiniling sa pamamagitan ngtarget_formats.
- Name
- thumbnail_url
- Type
- string
- Description
Downloadable URL sa isang preview na imahe na na-render mula sa remeshed na modelo.
- Name
- alpha_thumbnail_url
- Type
- string
- Description
Downloadable URL sa isang transparent-background (RGBA) na bersyon ng
thumbnail_url. Tanging naroroon kapag ang gawain ay nilikha gamit angalpha_thumbnail: trueat ang transparent na preview ay matagumpay na na-render; kung hindi, ang field na ito ay hindi isasama.
- Name
- progress
- Type
- integer
- Description
Pag-unlad ng gawain. Kung ang gawain ay hindi pa nasisimulan, ang katangiang ito ay magiging
0. Kapag ang gawain ay nagtagumpay, ito ay magiging100.
- Name
- status
- Type
- string
- Description
Katayuan ng gawain. Ang mga posibleng halaga ay isa sa
PENDING,IN_PROGRESS,SUCCEEDED,FAILED.
- Name
- preceding_tasks
- Type
- integer
- Description
Ang bilang ng mga naunang gawain.
Ang halaga ng field na ito ay makabuluhan lamang kung ang katayuan ng gawain ay
PENDING.
- Name
- created_at
- Type
- timestamp
- Description
Timestamp kung kailan nilikha ang gawain, sa milliseconds.
- Name
- started_at
- Type
- timestamp
- Description
Timestamp kung kailan sinimulan ang gawain, sa milliseconds. Kung ang gawain ay hindi pa nasisimulan, ang katangiang ito ay magiging
0.
- Name
- finished_at
- Type
- timestamp
- Description
Timestamp kung kailan natapos ang gawain, sa milliseconds. Kung ang gawain ay hindi pa natatapos, ang katangiang ito ay magiging
0.
- Name
- task_error
- Type
- object
- Description
Mga detalye ng error para sa mga nabigong gawain. Tingnan ang Errors para sa buong sanggunian ng
task_errorna objek.
- Name
- consumed_credits
- Type
- integer
- Description
Ang bilang ng mga credits na nagamit ng gawain na ito. Naroroon kapag ang katayuan ng gawain ay
PENDING,IN_PROGRESS, oSUCCEEDED. Nagbabalik ng0para sa mgaFAILEDna gawain (ang mga credits ay ibinabalik sa pagkabigo).
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
}