रीमेश API
रीमेश API आपको अन्य Meshy APIs (जैसे इमेज से 3D या टेक्स्ट से 3D) द्वारा उत्पन्न मौजूदा 3D मॉडलों को रीमेश और विभिन्न प्रारूपों में निर्यात करने की अनुमति देता है। यह अनुभाग रीमेश API का उपयोग कैसे करें, इस पर विवरण प्रदान करता है।
रीमेश टास्क बनाएं
यह एंडपॉइंट एक नया रीमेश टास्क बनाता है।
फॉर्मेट कन्वर्ज़न और रीसाइज़िंग के लिए, समर्पित Convert API और Resize API का उपयोग करें। नीचे दिए गए डेप्रिकेटेड पैरामीटर काम करते रहेंगे, लेकिन हम नई इंटीग्रेशन के लिए नए एंडपॉइंट्स की सिफारिश करते हैं।
पैरामीटर
input_task_id या model_url में से केवल एक आवश्यक है। यदि दोनों प्रदान किए जाते हैं, तो input_task_id को प्राथमिकता दी जाती है।
- Name
- input_task_id
- Type
- string
- आवश्यक
- Description
उस पूर्ण इमेज से 3D या टेक्स्ट से 3D टास्क का ID जिसे आप रीमेश करना चाहते हैं। यह टास्क निम्नलिखित टास्क में से एक होना चाहिए: टेक्स्ट से 3D प्रीव्यू, टेक्स्ट से 3D रिफाइन, इमेज से 3D या रीटेक्सचर। इसके अलावा, इसका स्टेटस
SUCCEEDEDहोना चाहिए।
- Name
- model_url
- Type
- string
- आवश्यक
- Description
कृपया Meshy को रीमेश के लिए एक 3D मॉडल एक सार्वजनिक रूप से सुलभ URL या डेटा URI के माध्यम से प्रदान करें। समर्थित फॉर्मेट्स:
.glb,.gltf,.obj,.fbx,.stl।डेटा URIs के लिए, 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: एक क्वाड-डॉमिनेंट मेश उत्पन्न करें।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
मॉडल को मीटर में मापी गई एक निश्चित ऊँचाई पर रीसाइज़ करें। हम समर्पित Resize API का उपयोग करने की सिफारिश करते हैं।
auto_size,resize_height, औरresize_longest_sideपरस्पर अनन्य हैं।
- Name
- resize_longest_side
- Type
- number
- ⚠ पुराना
- डिफ़ॉल्ट 0
- Description
मॉडल को इस तरह रीसाइज़ करें कि सबसे लंबा बॉक्स-आयाम निर्दिष्ट मान के बराबर हो जाए। हम समर्पित Resize API का उपयोग करने की सिफारिश करते हैं।
auto_size,resize_height, औरresize_longest_sideपरस्पर अनन्य हैं।
- Name
- auto_size
- Type
- boolean
- ⚠ पुराना
- डिफ़ॉल्ट false
- Description
जब
trueपर सेट किया जाता है, तो सेवा AI विज़न का उपयोग करके वस्तु की वास्तविक दुनिया की ऊँचाई का स्वचालित रूप से अनुमान लगाती है और मॉडल को तदनुसार रीसाइज़ करती है। हम समर्पित Resize API का उपयोग करने की सिफारिश करते हैं।auto_size,resize_height, औरresize_longest_sideपरस्पर अनन्य हैं।
auto_size = true- Name
- origin_at
- Type
- string
- ⚠ पुराना
- डिफ़ॉल्ट bottom
- Description
ओरिजिन की स्थिति। हम समर्पित Resize API का उपयोग करने की सिफारिश करते हैं।
उपलब्ध मान:
bottom,center।
- Name
- convert_format_only
- Type
- boolean
- ⚠ पुराना
- Description
यदि
true, तो सेवा केवल इनपुट मॉडल फ़ाइल का फॉर्मेट बदल देगी, अन्य इनपुट जैसेtopology,resize_height, औरtarget_polycountको अनदेखा करेगी। हम समर्पित Convert API का उपयोग करने की सिफारिश करते हैं।convert_format_onlyसेट होने पर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।
रिटर्न्स
रीमेश कार्य ऑब्जेक्ट।
अनुरोध
curl https://api.meshy.ai/openapi/v1/remesh/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
प्रतिक्रिया
{
"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 लौटाता है।
अनुरोध
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/remesh/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
प्रतिक्रिया
// 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: निर्माण समय के अनुसार अवरोही क्रम में क्रमबद्ध करें।
रिटर्न्स
रीमेश कार्य ऑब्जेक्ट्स की एक पेजिनेटेड सूची लौटाता है।
अनुरोध
curl https://api.meshy.ai/openapi/v1/remesh?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
प्रतिक्रिया
[
{
"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
}
]
रीमेश कार्य को स्ट्रीम करें
यह एंडपॉइंट सर्वर-सेंट इवेंट्स (SSE) का उपयोग करके रीमेश कार्य के लिए वास्तविक समय अपडेट स्ट्रीम करता है।
पैरामीटर्स
- Name
- id
- Type
- path
- Description
स्ट्रीम करने के लिए रीमेश कार्य के लिए अद्वितीय पहचानकर्ता।
रिटर्न्स
रीमेश कार्य ऑब्जेक्ट्स की स्ट्रीम को सर्वर-सेंट इवेंट्स के रूप में रिटर्न करता है।
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
कार्य के लिए अद्वितीय पहचानकर्ता। जबकि हम कार्य आईडी के लिए k-sortable UUID का उपयोग करते हैं, आपको आईडी के प्रारूप के बारे में कोई धारणा नहीं बनानी चाहिए।
- Name
- type
- Type
- string
- Description
रीमेश टास्क का प्रकार। इसका मान
remeshहै।
- Name
- model_urls
- Type
- object
- Description
Meshy द्वारा उत्पन्न टेक्सचरयुक्त 3D मॉडल फ़ाइल के लिए डाउनलोड करने योग्य URL। यदि कोई प्रारूप उत्पन्न नहीं होता है तो एक खाली स्ट्रिंग लौटाने के बजाय उस प्रारूप के लिए प्रॉपर्टी को छोड़ दिया जाएगा।
- 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। केवल तब मौजूद होता है जब
3mfकोtarget_formatsके माध्यम से अनुरोध किया गया हो।
- Name
- thumbnail_url
- Type
- string
- Description
रीमेश किए गए मॉडल से प्रस्तुत पूर्वावलोकन छवि के लिए डाउनलोड करने योग्य URL।
- Name
- alpha_thumbnail_url
- Type
- string
- Description
thumbnail_urlके पारदर्शी-पृष्ठभूमि (RGBA) संस्करण के लिए डाउनलोड करने योग्य URL। केवल तब मौजूद होता है जब कार्यalpha_thumbnail: trueके साथ बनाया गया था और पारदर्शी पूर्वावलोकन सफलतापूर्वक प्रस्तुत किया गया था; अन्यथा यह फ़ील्ड छोड़ दी जाती है।
- Name
- progress
- Type
- integer
- Description
कार्य की प्रगति। यदि कार्य अभी तक शुरू नहीं हुआ है, तो यह प्रॉपर्टी
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
कार्य कब शुरू हुआ था इसका टाइमस्टैंप, मिलीसेकंड में। यदि कार्य अभी तक शुरू नहीं हुआ है, तो यह प्रॉपर्टी
0होगी।
- Name
- finished_at
- Type
- timestamp
- Description
कार्य कब समाप्त हुआ था इसका टाइमस्टैंप, मिलीसेकंड में। यदि कार्य अभी तक समाप्त नहीं हुआ है, तो यह प्रॉपर्टी
0होगी।
- Name
- task_error
- Type
- object
- Description
असफल कार्यों के लिए त्रुटि विवरण। पूर्ण
task_errorऑब्जेक्ट संदर्भ के लिए एरर देखें।
- 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
}