कन्वर्ट API
कन्वर्ट API आपको मौजूदा 3D मॉडल्स को अलग-अलग फ़ाइल फ़ॉर्मेट्स में कन्वर्ट करने की सुविधा देता है।
Convert टास्क बनाएं
यह एंडपॉइंट एक नया फॉर्मेट कन्वर्ज़न टास्क बनाता है।
यह टास्क बैकग्राउंड में चलता है। इसमें आमतौर पर कितना समय लगता है, यह जानने के लिए देखें प्रोसेसिंग समय।
पैरामीटर
input_task_id या model_url में से केवल एक आवश्यक है। यदि दोनों दिए जाते हैं, तो input_task_id को प्राथमिकता मिलती है।
- Name
- input_task_id
- Type
- string
- आवश्यक
- Description
उस पूर्ण हो चुके Meshy टास्क की ID, जिसके मॉडल को आप कन्वर्ट करना चाहते हैं। टास्क का स्टेटस
SUCCEEDEDहोना चाहिए।
- Name
- model_url
- Type
- string
- आवश्यक
- Description
एक सार्वजनिक रूप से एक्सेस योग्य URL या data URI, जो किसी 3D मॉडल फ़ाइल को इंगित करता हो। समर्थित फॉर्मेट:
.glb,.gltf,.obj,.fbx,.stl। Data URI के लिए, MIME type का उपयोग करें:application/octet-stream।अधिकतम फ़ाइल आकार:
httpयाhttpsURL के लिए 400 MB,data:URI के लिए 100 MB।100 MB से बड़ी GLB, glTF, FBX या OBJ फ़ाइल में अधिकतम 10,000,000 फेस हो सकते हैं। फेस की गिनती त्रिभुज (triangle) के रूप में की जाती है: एक क्वाड को 2 के रूप में गिना जाता है, और एक से अधिक बार ड्रॉ किया गया मेश प्रत्येक कॉपी के लिए एक बार गिना जाता है। 100 MB से अधिक पर, FBX फ़ाइल बाइनरी FBX 7.1 या उससे नई होनी चाहिए, और GLB या glTF फ़ाइल में Draco कम्प्रेशन का उपयोग नहीं होना चाहिए।
- Name
- target_formats
- Type
- string[]
- आवश्यक
- Description
कन्वर्ट किए गए मॉडल के लिए आउटपुट फॉर्मेट की एक सूची। उपलब्ध मान:
glb,fbx,obj,usdz,blend,stl,3mf।
रिटर्न
रिस्पॉन्स के result प्रॉपर्टी में नए बनाए गए convert टास्क की id शामिल होती है।
विफलता मोड (Failure Modes)
400 - Bad Request
रिक्वेस्ट स्वीकार्य नहीं थी। सामान्य कारण:
- पैरामीटर गुम है:
model_urlयाinput_task_idमें से किसी एक को प्रदान किया जाना चाहिए। - target_formats गुम है: कम से कम एक टारगेट फॉर्मेट निर्दिष्ट किया जाना चाहिए।
- अमान्य इनपुट टास्क:
input_task_idकिसी सफल टास्क को संदर्भित करना चाहिए। - अमान्य मॉडल फॉर्मेट:
model_urlएक ऐसी फ़ाइल को इंगित करता है जिसका एक्सटेंशन समर्थित नहीं है। - URL तक नहीं पहुंचा जा सका:
model_urlको डाउनलोड नहीं किया जा सका। - मॉडल फ़ाइल बहुत बड़ी है:
model_urlफ़ाइल 400 MB (httpयाhttpsURL) या 100 MB (data:URI) से अधिक है। - बहुत अधिक फेस:
model_urlफ़ाइल 100 MB से बड़ी है और इसमें 10,000,000 से अधिक फेस हैं। फेस की संख्या कम करें, फिर फ़ाइल फिर से भेजें। - ASCII FBX 100 MB से बड़ी है:
model_urlफ़ाइल एक ASCII FBX है जो 100 MB से बड़ी है। इसे बाइनरी FBX या GLB के रूप में भेजें। - अपठनीय मॉडल फ़ाइल:
model_urlफ़ाइल 100 MB से बड़ी है और इसका हेडर पढ़ा नहीं जा सकता, उदाहरण के लिए एक Draco-कम्प्रेस्ड GLB या glTF, या 7.1 से पुरानी बाइनरी FBX। - मॉडल हेडर बहुत जटिल है:
model_urlफ़ाइल 100 MB से बड़ी है और इसके हेडर में जाँचने के लिए बहुत अधिक मेश, नोड या रिकॉर्ड हैं। फ़ाइल में ऑब्जेक्ट्स की संख्या कम करें, फिर इसे फिर से भेजें।
401 - Unauthorized
प्रमाणीकरण विफल रहा। कृपया अपनी API की जाँच करें।
402 - Payment Required
इस टास्क को करने के लिए पर्याप्त क्रेडिट नहीं हैं।
429 - Too Many Requests
आपने अपनी रेट लिमिट पार कर ली है।
Request
curl https://api.meshy.ai/openapi/v1/convert \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"target_formats": ["fbx", "stl"]
}'
Response
{
"result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}
Convert टास्क प्राप्त करें
यह एंडपॉइंट किसी convert टास्क को उसकी ID के आधार पर प्राप्त करता है।
पैरामीटर
- Name
- id
- Type
- path
- Description
प्राप्त किए जाने वाले convert टास्क की ID।
रिटर्न
Convert Task ऑब्जेक्ट।
Request
curl https://api.meshy.ai/openapi/v1/convert/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "convert",
"model_urls": {
"glb": "",
"fbx": "https://assets.meshy.ai/.../model.fbx?Expires=...",
"obj": "",
"usdz": "",
"stl": "https://assets.meshy.ai/.../model.stl?Expires=..."
},
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
"consumed_credits": 1
}
एक कन्वर्ट टास्क डिलीट करें
यह एंडपॉइंट किसी कन्वर्ट टास्क को स्थायी रूप से डिलीट कर देता है, जिसमें उससे जुड़े सभी मॉडल और डेटा शामिल हैं। यह कार्रवाई अपरिवर्तनीय है।
पाथ पैरामीटर
- Name
- id
- Type
- path
- Description
डिलीट किए जाने वाले कन्वर्ट टास्क की ID।
टास्क स्टेटस
जो टास्क अभी भी PENDING है, उसे डिलीट कर दिया जाता है और बनाते समय
खर्च हुए क्रेडिट रिफंड कर दिए जाते हैं।
जो टास्क पहले से ही IN_PROGRESS है, उसे डिलीट नहीं किया जा सकता: अनुरोध
409 Conflict के साथ अस्वीकार कर दिया जाता है और टास्क चलता रहता है। जिस टास्क को
वर्कर पहले ही शुरू कर चुका है, उसके क्रेडिट रिफंड योग्य नहीं होते, इसलिए इसे बीच में
डिलीट करने पर आपको क्रेडिट और परिणाम दोनों गंवाने पड़ेंगे। इसके
SUCCEEDED, FAILED या CANCELED तक पहुँचने का इंतज़ार करें, फिर इसे डिलीट करें।
टर्मिनल स्थिति (SUCCEEDED, FAILED या CANCELED) में मौजूद टास्क बिना
रिफंड के डिलीट कर दिया जाता है।
रिटर्न्स
सफल होने पर 200 OK लौटाता है, या जब टास्क IN_PROGRESS हो तो
409 Conflict लौटाता है।
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/convert/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 is left 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."
}
Convert Tasks की सूची प्राप्त करें
यह एंडपॉइंट आपको convert tasks की एक सूची प्राप्त करने की अनुमति देता है।
Parameters
- Name
- page_num
- Type
- integer
- डिफ़ॉल्ट 1
- Description
पेजिनेशन के लिए पेज नंबर।
- Name
- page_size
- Type
- integer
- डिफ़ॉल्ट 10
- Description
पेज साइज़ सीमा। अधिकतम अनुमत
100आइटम हैं।
- Name
- sort_by
- Type
- string
- Description
जिस फ़ील्ड के आधार पर सॉर्ट करना है। उपलब्ध मान:
+created_at: निर्माण समय के अनुसार आरोही क्रम में सॉर्ट करें।-created_at: निर्माण समय के अनुसार अवरोही क्रम में सॉर्ट करें।
Returns
The Convert Task Objects की एक पेजिनेटेड सूची लौटाता है।
Request
curl https://api.meshy.ai/openapi/v1/convert?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
[
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "convert",
"model_urls": {
"fbx": "https://assets.meshy.ai/.../model.fbx?Expires=...",
"stl": "https://assets.meshy.ai/.../model.stl?Expires=..."
},
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
"consumed_credits": 1
}
]
कन्वर्ट टास्क को स्ट्रीम करें
यह एंडपॉइंट Server-Sent Events (SSE) का उपयोग करके किसी कन्वर्ट टास्क के लिए रीयल-टाइम अपडेट स्ट्रीम करता है।
पैरामीटर
- Name
- id
- Type
- path
- Description
स्ट्रीम करने के लिए कन्वर्ट टास्क का यूनीक आइडेंटिफ़ायर।
रिटर्न्स
The Convert Task Objects की एक स्ट्रीम Server-Sent Events के रूप में लौटाता है।
PENDING या IN_PROGRESS टास्क के लिए, रिस्पॉन्स स्ट्रीम में केवल आवश्यक progress और status फ़ील्ड शामिल होंगे।
Request
curl -N https://api.meshy.ai/openapi/v1/convert/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response Stream
// Message event examples illustrate task progress.
event: message
data: {
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"progress": 0,
"status": "PENDING"
}
event: message
data: {
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "convert",
"model_urls": {
"fbx": "https://assets.meshy.ai/.../model.fbx?Expires=...",
"stl": "https://assets.meshy.ai/.../model.stl?Expires=..."
},
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
"consumed_credits": 1
}
The Convert Task Object
Convert Task ऑब्जेक्ट एक फॉर्मेट कन्वर्जन जॉब को दर्शाता है।
Properties
id· string
टास्क के लिए यूनीक आइडेंटिफायर।
type· string
टास्क का प्रकार। मान convert है।
model_urls· object
कन्वर्ट की गई मॉडल फ़ाइलों के लिए डाउनलोड करने योग्य URLs। केवल target_formats में निर्दिष्ट फॉर्मेट्स के लिए ही URLs होंगे। अन्य फॉर्मेट प्रॉपर्टीज़ खाली स्ट्रिंग्स होंगी।
progress· integer
टास्क की progress (0-100)।
status· string
टास्क की स्थिति। संभावित मान: PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED।
preceding_tasks· integer
पहले से मौजूद (preceding) टास्कों की संख्या। यह केवल तभी सार्थक है जब स्थिति PENDING हो।
created_at· timestamp
टास्क बनाए जाने का टाइमस्टैंप, मिलीसेकंड में।
started_at· timestamp
टास्क शुरू होने का टाइमस्टैंप, मिलीसेकंड में। यदि शुरू नहीं हुआ है तो 0।
finished_at· timestamp
टास्क समाप्त होने का टाइमस्टैंप, मिलीसेकंड में। यदि समाप्त नहीं हुआ है तो 0।
task_error· object
यदि टास्क विफल हो जाता है तो एरर ऑब्जेक्ट। अधिक जानकारी के लिए एरर देखें।
consumed_credits· integer
इस टास्क द्वारा उपयोग किए गए क्रेडिट की संख्या (प्रति convert टास्क 1 क्रेडिट)। FAILED टास्कों के लिए 0 लौटाता है।