रीमेश API
रीमेश API आपको अन्य Meshy API (जैसे इमेज से 3D या टेक्स्ट से 3D) द्वारा जनरेट किए गए मौजूदा 3D मॉडल को रीमेश करने और विभिन्न प्रारूपों में एक्सपोर्ट करने की अनुमति देता है। यह सेक्शन रीमेश API का उपयोग करने के तरीके का विवरण प्रदान करता है।
रीमेश टास्क बनाएँ
यह एंडपॉइंट एक नया रीमेश टास्क बनाता है।
फॉर्मैट कन्वर्ज़न और रीसाइज़िंग के लिए, समर्पित कन्वर्ट API और रीसाइज़ API का उपयोग करें। नीचे दिए गए डेप्रिकेटेड पैरामीटर काम करना जारी रखेंगे, लेकिन हम नए इंटीग्रेशन के लिए नए एंडपॉइंट्स की अनुशंसा करते हैं।
पैरामीटर
input_task_id या model_url में से केवल एक आवश्यक है। यदि दोनों प्रदान किए जाते हैं, तो input_task_id प्राथमिकता लेता है।
- Name
- input_task_id
- Type
- string
- आवश्यक
- Description
पूर्ण हो चुके इमेज से 3D या टेक्स्ट से 3D टास्क की ID जिसे आप रीमेश करना चाहते हैं। यह टास्क निम्नलिखित टास्क में से एक होना चाहिए: Text to 3D Preview, Text to 3D Refine, इमेज से 3D या रीटेक्सचर। इसके अलावा, इसका स्टेटस
SUCCEEDEDहोना चाहिए।
- Name
- model_url
- Type
- string
- आवश्यक
- Description
कृपया Meshy को रीमेश करने के लिए सार्वजनिक रूप से एक्सेस योग्य URL या Data URI के माध्यम से एक 3D मॉडल प्रदान करें। समर्थित फॉर्मैट:
.glb,.gltf,.obj,.fbx,.stl.Data URI के लिए, MIME type का उपयोग करें:
application/octet-stream.
- Name
- target_formats
- Type
- string[]
- डिफ़ॉल्ट ["glb"]
- Description
रीमेश किए गए मॉडल के लिए टार्गेट फॉर्मैट्स की सूची। छोड़े जाने पर, केवल GLB जनरेट किया जाता है।
उपलब्ध मान:
glb,fbx,obj,usdz,blend,stl,3mf.
- Name
- topology
- Type
- string
- डिफ़ॉल्ट triangle
- Description
जनरेट किए गए मॉडल की topology निर्दिष्ट करें।
उपलब्ध मान:
quad: quad-प्रधान मेश जनरेट करें।triangle: सरलीकृत triangle मेश जनरेट करें।
- Name
- target_polycount
- Type
- integer
- डिफ़ॉल्ट 30,000
- Description
जनरेट किए गए मॉडल में पॉलीगॉन की टार्गेट संख्या निर्दिष्ट करें। पॉलीगॉन की वास्तविक संख्या ज्यामिति की जटिलता के आधार पर टार्गेट से भिन्न हो सकती है।
मान्य मान सीमा यूज़र टियर के आधार पर अलग-अलग होती है:
- 100 से 300,000 (समावेशी)
- Name
- decimation_mode
- Type
- integer
- Description
पॉलीकाउंट स्तर सेट करके अनुकूली डेसीमेशन सक्षम करें। सेट होने पर,
target_polycountको अनदेखा किया जाता है।उपलब्ध मान:
1: अनुकूली — अल्ट्रा पॉलीकाउंट।2: अनुकूली — उच्च पॉलीकाउंट।3: अनुकूली — मध्यम पॉलीकाउंट।4: अनुकूली — कम पॉलीकाउंट।
- Name
- resize_height
- Type
- number
- ⚠ पुराना
- डिफ़ॉल्ट 0
- Description
मॉडल को मीटर में मापी गई एक निश्चित ऊँचाई तक रीसाइज़ करें। हम इसके बजाय समर्पित रीसाइज़ API का उपयोग करने की अनुशंसा करते हैं।
auto_size,resize_height, औरresize_longest_sideपरस्पर अनन्य हैं।
- Name
- resize_longest_side
- Type
- number
- ⚠ पुराना
- डिफ़ॉल्ट 0
- Description
मॉडल को इस प्रकार रीसाइज़ करें कि सबसे लंबा बाउंडिंग-बॉक्स आयाम मीटर में निर्दिष्ट मान के बराबर हो। हम इसके बजाय समर्पित रीसाइज़ API का उपयोग करने की अनुशंसा करते हैं।
auto_size,resize_height, औरresize_longest_sideपरस्पर अनन्य हैं।
- Name
- auto_size
- Type
- boolean
- ⚠ पुराना
- डिफ़ॉल्ट false
- Description
जब
trueपर सेट किया जाता है, तो सेवा ऑब्जेक्ट की वास्तविक दुनिया की ऊँचाई का स्वचालित रूप से अनुमान लगाने और उसी अनुसार मॉडल को रीसाइज़ करने के लिए AI vision का उपयोग करती है। हम इसके बजाय समर्पित रीसाइज़ API का उपयोग करने की अनुशंसा करते हैं।auto_size,resize_height, औरresize_longest_sideपरस्पर अनन्य हैं।
auto_size = true- Name
- origin_at
- Type
- string
- ⚠ पुराना
- डिफ़ॉल्ट bottom
- Description
ओरिजिन की स्थिति। हम इसके बजाय समर्पित रीसाइज़ API का उपयोग करने की अनुशंसा करते हैं।
उपलब्ध मान:
bottom,center.
- Name
- convert_format_only
- Type
- boolean
- ⚠ पुराना
- Description
यदि
trueहै, तो सेवाtopology,resize_height, औरtarget_polycountजैसे अन्य इनपुट्स को अनदेखा करते हुए, केवल इनपुट मॉडल फ़ाइल का फॉर्मैट बदलेगी। हम इसके बजाय समर्पित कन्वर्ट API का उपयोग करने की अनुशंसा करते हैं।यदि
convert_format_onlyकोtrueपर सेट किया गया है तोtarget_formatsप्रदान किया जाना चाहिए।
- Name
- alpha_thumbnail
- Type
- boolean
- डिफ़ॉल्ट false
- Description
जब
trueपर सेट किया जाता है, तो टास्क अतिरिक्त रूप से प्रीव्यू का एक पारदर्शी-बैकग्राउंड (RGBA) संस्करण रेंडर करता है और GET रिस्पॉन्स पर इसेalpha_thumbnail_urlके रूप में लौटाता है। मौजूदाthumbnail_urlफ़ील्ड अपरिवर्तित रहता है।
रिटर्न्स
रिस्पॉन्स की result प्रॉपर्टी में नए बनाए गए रीमेश टास्क की id होती है।
विफलता मोड
- Name
400 - Bad Request- Description
अनुरोध अस्वीकार्य था। सामान्य कारण:
- गायब पैरामीटर: या तो
model_urlयाinput_task_idप्रदान किया जाना चाहिए। - अमान्य इनपुट टास्क:
input_task_idको किसी समर्थित मॉडल से सफल टास्क को संदर्भित करना चाहिए। - अमान्य मॉडल फॉर्मैट:
model_urlअसमर्थित एक्सटेंशन वाली फ़ाइल की ओर इशारा करता है। - अगम्य URL:
model_urlडाउनलोड नहीं किया जा सका। - अमान्य topology:
topologyपैरामीटर अमान्य है। - परस्पर अनन्य पैरामीटर:
auto_sizeऔरresize_heightदोनों सेट नहीं किए जा सकते।
- गायब पैरामीटर: या तो
- Name
401 - Unauthorized- Description
प्रमाणीकरण विफल रहा। कृपया अपनी API की जाँचें।
- Name
402 - Payment Required- Description
इस टास्क को करने के लिए अपर्याप्त क्रेडिट।
- Name
429 - Too Many Requests- Description
आपने अपनी रेट लिमिट पार कर ली है।
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"
}
रीमेश टास्क प्राप्त करें
यह एंडपॉइंट किसी रीमेश टास्क को उसकी ID से प्राप्त करता है।
पैरामीटर
- Name
- id
- Type
- path
- Description
प्राप्त किए जाने वाले रीमेश टास्क की ID.
रिटर्न्स
रीमेश टास्क ऑब्जेक्ट।
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,
}
रीमेश टास्क हटाएँ
यह एंडपॉइंट सभी संबंधित मॉडलों और डेटा सहित एक रीमेश टास्क को स्थायी रूप से हटाता है। यह कार्रवाई अपरिवर्तनीय है।
पाथ पैरामीटर
- Name
- id
- Type
- path
- Description
हटाए जाने वाले रीमेश टास्क की ID.
रिटर्न
सफलता पर 200 OK लौटाता है।
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.
रीमेश कार्यों की सूची
यह एंडपॉइंट आपको रीमेश कार्यों की सूची प्राप्त करने की अनुमति देता है।
पैरामीटर
- Name
- page_num
- Type
- integer
- डिफ़ॉल्ट 1
- Description
पेजिनेशन के लिए पृष्ठ संख्या।
- Name
- page_size
- Type
- integer
- डिफ़ॉल्ट 10
- Description
पृष्ठ आकार सीमा। अधिकतम अनुमत
50आइटम हैं।
- Name
- sort_by
- Type
- string
- Description
सॉर्ट करने के लिए फ़ील्ड।
उपलब्ध मान:
+created_at: निर्माण समय के अनुसार आरोही क्रम में सॉर्ट करें।-created_at: निर्माण समय के अनुसार अवरोही क्रम में सॉर्ट करें।
रिटर्न
रीमेश कार्य ऑब्जेक्ट्स की पेजिनेटेड सूची लौटाता है।
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
}
]
रीमेश टास्क स्ट्रीम करें
यह एंडपॉइंट Server-Sent Events (SSE) का उपयोग करके Remesh टास्क के लिए रीयल-टाइम अपडेट स्ट्रीम करता है।
पैरामीटर
- Name
- id
- Type
- path
- Description
स्ट्रीम करने के लिए Remesh टास्क का यूनिक आइडेंटिफायर।
रिटर्न्स
Server-Sent Events के रूप में Remesh टास्क ऑब्जेक्ट्स की एक स्ट्रीम लौटाता है।
PENDING या IN_PROGRESS टास्क के लिए, रिस्पॉन्स स्ट्रीम में केवल आवश्यक progress और 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,
}
रीमेश टास्क ऑब्जेक्ट
रीमेश टास्क ऑब्जेक्ट एक कार्य इकाई का प्रतिनिधित्व करता है जिसका उपयोग Meshy किसी मौजूदा 3D मॉडल को रीमेश करने और विभिन्न फ़ॉर्मैट में एक्सपोर्ट करने के लिए करता है। ऑब्जेक्ट में निम्नलिखित प्रॉपर्टीज़ हैं:
गुण
- Name
- id
- Type
- string
- Description
कार्य के लिए विशिष्ट पहचानकर्ता। हालाँकि हम task ids के लिए implementation detail के रूप में k-sortable UUID का उपयोग करते हैं, आपको id के फ़ॉर्मेट के बारे में कोई भी अनुमान नहीं लगाना चाहिए।
- Name
- type
- Type
- string
- Description
रीमेश कार्य का प्रकार। मान
remeshहै।
- Name
- model_urls
- Type
- object
- Description
Meshy द्वारा जनरेट की गई टेक्सचरयुक्त 3D मॉडल फ़ाइल के लिए डाउनलोड करने योग्य URL। यदि कोई फ़ॉर्मेट जनरेट नहीं किया गया है, तो खाली स्ट्रिंग लौटाने के बजाय उस फ़ॉर्मेट की property हटा दी जाएगी।
- Name
glb- Type
- string
- Description
GLB फ़ाइल के लिए डाउनलोड करने योग्य URL।
- Name
fbx- Type
- string
- Description
FBX फ़ाइल के लिए डाउनलोड करने योग्य URL।
- Name
obj- Type
- string
- Description
OBJ फ़ाइल के लिए डाउनलोड करने योग्य URL।
- Name
usdz- Type
- string
- Description
USDZ फ़ाइल के लिए डाउनलोड करने योग्य URL।
- Name
blend- Type
- string
- Description
Blender फ़ाइल के लिए डाउनलोड करने योग्य URL।
- Name
stl- Type
- string
- Description
STL फ़ाइल के लिए डाउनलोड करने योग्य URL।
- Name
3mf- Type
- string
- Description
3MF फ़ाइल के लिए डाउनलोड करने योग्य URL। केवल तब मौजूद होता है जब
target_formatsके माध्यम से3mfका अनुरोध किया गया हो।
- Name
- thumbnail_url
- Type
- string
- Description
रीमेश किए गए मॉडल से रेंडर की गई preview image के लिए डाउनलोड करने योग्य URL।
- Name
- alpha_thumbnail_url
- Type
- string
- Description
thumbnail_urlके पारदर्शी-background (RGBA) संस्करण के लिए डाउनलोड करने योग्य URL। केवल तब मौजूद होता है जब कार्यalpha_thumbnail: trueके साथ बनाया गया हो और पारदर्शी preview सफलतापूर्वक रेंडर किया गया हो; अन्यथा यह फ़ील्ड हटा दी जाती है।
- Name
- progress
- Type
- integer
- Description
कार्य का progress। यदि कार्य अभी तक शुरू नहीं हुआ है, तो यह property
0होगी। कार्य के सफल हो जाने पर, यह100हो जाएगी।
- Name
- status
- Type
- string
- Description
कार्य की स्थिति। संभावित मान इनमें से एक हैं:
PENDING,IN_PROGRESS,SUCCEEDED,FAILED।
- Name
- preceding_tasks
- Type
- integer
- Description
पिछले कार्यों की संख्या।
इस फ़ील्ड का मान केवल तभी सार्थक है जब कार्य की स्थिति
PENDINGहो।
- Name
- created_at
- Type
- timestamp
- Description
कार्य कब बनाया गया था, इसका टाइमस्टैंप, मिलीसेकंड में।
- Name
- started_at
- Type
- timestamp
- Description
कार्य कब शुरू किया गया था, इसका टाइमस्टैंप, मिलीसेकंड में। यदि कार्य अभी तक शुरू नहीं हुआ है, तो यह property
0होगी।
- Name
- finished_at
- Type
- timestamp
- Description
कार्य कब समाप्त हुआ था, इसका टाइमस्टैंप, मिलीसेकंड में। यदि कार्य अभी तक समाप्त नहीं हुआ है, तो यह property
0होगी।
- Name
- task_error
- Type
- object
- Description
विफल कार्यों के लिए एरर विवरण। पूर्ण
task_errorobject reference के लिए एरर देखें।
- Name
- consumed_credits
- Type
- integer
- Description
इस कार्य द्वारा उपभोग किए गए क्रेडिट की संख्या। तब मौजूद होता है जब कार्य की स्थिति
PENDING,IN_PROGRESS, याSUCCEEDEDहो।FAILEDकार्यों के लिए0लौटाता है (विफलता पर क्रेडिट वापस कर दिए जाते हैं)।
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
}