कन्वर्ट API
3D मॉडल को Meshy टास्क से या मॉडल फ़ाइल से अन्य फ़ाइल फॉर्मेट में कन्वर्ट करें।
Create a Convert task
एक Convert टास्क बनाता है। यह टास्क बैकग्राउंड में चलता है। किसी टास्क में आमतौर पर कितना समय लगता है, यह जानने के लिए देखें Processing times।
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"
}
पैरामीटर
- Name
- input_task_id
- Type
- string
- आवश्यक
- Description
आवश्यक है, जब तक आप
model_urlन भेजें। किसी ऐसे टास्क की ID जिसने 3D मॉडल बनाया हो, उदाहरण के लिए Text to 3D, Image to 3D, Remesh, Resize, या Retexture टास्क। टास्क API से आना चाहिए और उसकी स्थितिSUCCEEDEDहोनी चाहिए।
- Name
- model_url
- Type
- string
- आवश्यक
- Description
आवश्यक है, जब तक आप
input_task_idन भेजें। कन्वर्ट करने के लिए मॉडल, एक पब्लिक URL या data URI के रूप में। यदि आप दोनों भेजते हैं, तो Meshyinput_task_idका उपयोग करता है।मॉडल एक GLB, glTF, OBJ, FBX, या STL फ़ाइल होनी चाहिए, जो
httpयाhttpsURL से अधिकतम 400 MB की हो, या data URI के रूप में अधिकतम 100 MB की हो। data URI के लिए, MIME typeapplication/octet-streamका उपयोग करें।100 MB से बड़ी फ़ाइल को इन नियमों का भी पालन करना चाहिए:
- एक GLB, glTF, FBX, या OBJ फ़ाइल में अधिकतम 10,000,000 फेस हो सकते हैं। Meshy फेस को त्रिभुज के रूप में गिनता है, इसलिए एक क्वाड को 2 के रूप में गिना जाता है, और एक से अधिक बार बनाई गई मेश को हर कॉपी के लिए एक बार गिना जाता है।
- एक FBX फ़ाइल बाइनरी FBX 7.1 या उसके बाद का संस्करण होनी चाहिए।
- एक GLB या glTF फ़ाइल में Draco compression का उपयोग नहीं होना चाहिए।
- Name
- target_formats
- Type
- string[]
- आवश्यक
- Description
जनरेट करने के लिए फ़ाइल फॉर्मेट। कम से कम एक सूचीबद्ध करें। खाली या अनुपस्थित सूची
400लौटाती है।उपलब्ध मान:
glbfbxobjusdzblendstl3mf
रिटर्न
रिस्पॉन्स का result फ़ील्ड नए Convert टास्क की ID रखता है।
फेलियर मोड्स
- Name
400 - Bad Request- Description
रिक्वेस्ट नहीं चल सकती। एरर मैसेज बताता है कि कौन सी समस्या मिली। उदाहरण के लिए:
- गायब पैरामीटर: न तो
model_urlऔर न हीinput_task_idभेजा गया था। - गायब
target_formats:target_formatsगायब है या किसी फॉर्मेट को सूचीबद्ध नहीं करता। - अमान्य इनपुट टास्क:
input_task_idएक सफल API टास्क नहीं है जिसमें मॉडल फ़ाइल हो। - अमान्य मॉडल फॉर्मेट:
model_urlफ़ाइल का एक्सटेंशन समर्थित नहीं है। - अप्राप्य URL: Meshy
model_urlफ़ाइल को डाउनलोड नहीं कर सकता। - मॉडल फ़ाइल बहुत बड़ी है:
model_urlफ़ाइलhttpयाhttpsURL से 400 MB से अधिक है, या data URI के रूप में 100 MB से अधिक है। - बहुत अधिक फेस:
model_urlफ़ाइल 100 MB से बड़ी है और इसमें 10,000,000 से अधिक फेस हैं। फेस की संख्या कम करें, फिर फ़ाइल को फिर से भेजें। - 100 MB से बड़ी ASCII FBX:
model_urlफ़ाइल एक ASCII FBX है जो 100 MB से बड़ी है। इसे बाइनरी FBX या GLB के रूप में भेजें। - अपठनीय मॉडल फ़ाइल:
model_urlफ़ाइल 100 MB से बड़ी है, और Meshy इसका हेडर नहीं पढ़ सकता। उदाहरण के लिए, यह एक Draco-compressed GLB या glTF है, या 7.1 से पुरानी बाइनरी FBX है। - मॉडल हेडर बहुत जटिल है:
model_urlफ़ाइल 100 MB से बड़ी है, और इसके हेडर में जांचने के लिए बहुत अधिक मेश, नोड्स, या रिकॉर्ड हैं। फ़ाइल में ऑब्जेक्ट्स की संख्या कम करें, फिर इसे फिर से भेजें।
रिक्वेस्ट को ठीक करें, फिर इसे फिर से भेजें। देखें Errors।
- गायब पैरामीटर: न तो
- Name
401 - Unauthorized- Description
API की गायब है या अमान्य है।
Authorizationहेडर जांचें।
- Name
402 - Payment Required- Description
उदाहरण के लिए:
- अपर्याप्त क्रेडिट: अकाउंट के पास इस टास्क के लिए पर्याप्त क्रेडिट नहीं हैं, या अकाउंट क्रेडिट लिमिट तक पहुंच गया है। अपना क्रेडिट बैलेंस जांचें, फिर दोबारा प्रयास करें।
- फ्री प्लान: टास्क बनाने के लिए एक पेड प्लान आवश्यक है। अपने सब्सक्रिप्शन सेटिंग्स में अपना प्लान अपग्रेड करें, फिर दोबारा प्रयास करें।
- Name
403 - Forbidden- Description
input_task_idएक bas-relief मॉडल है, जिसे यह एंडपॉइंट कन्वर्ट नहीं कर सकता। मैसेज हैThis model type does not support this operation। कोई अलग मॉडल भेजें।
- Name
404 - Not Found- Description
input_task_idआपके किसी भी टास्क से मेल नहीं खाता। टास्क ID जांचें, फिर रिक्वेस्ट फिर से भेजें।
- Name
429 - Too Many Requests- Description
आपने अपनी रेट लिमिट पार कर ली है। प्रतीक्षा करें, फिर दोबारा प्रयास करें। देखें Rate limits।
Convert टास्क प्राप्त करें
अपनी ID द्वारा एक Convert टास्क लौटाता है।
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": {
"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
}
Convert टास्क डिलीट करें
एक Convert टास्क को, उसके मॉडल और डेटा सहित, स्थायी रूप से डिलीट करता है। आप डिलीट को अनडू नहीं कर सकते।
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 keeps 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."
}
पाथ पैरामीटर
- Name
- id
- Type
- path
- Description
डिलीट करने वाले टास्क की ID।
टास्क स्टेटस
PENDING टास्क को डिलीट करने पर उसे बनाते समय इस्तेमाल हुए क्रेडिट वापस मिल जाते हैं।
IN_PROGRESS टास्क को डिलीट नहीं किया जा सकता। रिक्वेस्ट 409 Conflict रिटर्न
करती है, और टास्क चलता रहता है। Meshy उस टास्क को रिफंड नहीं करता जो शुरू हो चुका है,
इसलिए उसे डिलीट करने से आपको क्रेडिट और परिणाम दोनों का नुकसान होगा। इसके
SUCCEEDED, FAILED, या CANCELED तक पहुँचने का इंतज़ार करें, फिर इसे डिलीट करें।
किसी फाइनल स्टेटस (SUCCEEDED, FAILED, या CANCELED) वाले टास्क को डिलीट करने पर
उसके क्रेडिट रिफंड नहीं होते।
रिटर्न वैल्यू
टास्क डिलीट होने पर 200 OK, या टास्क के IN_PROGRESS होने पर 409 Conflict।
Convert टास्क की सूची
आपके Convert टास्क की सूची लौटाता है।
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
}
]
पैरामीटर
- Name
- page_num
- Type
- integer
- डिफ़ॉल्ट 1
- Description
लौटाया जाने वाला पेज नंबर, अधिकतम
255। इससे बड़ा मान400लौटाता है।
- Name
- page_size
- Type
- integer
- डिफ़ॉल्ट 10
- Description
प्रति पेज टास्क की संख्या, अधिकतम
100।
- Name
- sort_by
- Type
- string
- Description
सॉर्ट का क्रम।
उपलब्ध मान:
+created_at: सबसे पुराना पहले-created_at: सबसे नया पहले
रिटर्न
Convert टास्क ऑब्जेक्ट्स की एक पेजिनेटेड सूची।
Convert टास्क को स्ट्रीम करें
किसी Convert टास्क के अपडेट्स को Server-Sent Events (SSE) के रूप में स्ट्रीम करता है।
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
}
पैरामीटर्स
- Name
- id
- Type
- path
- Description
क्रिएट रिस्पॉन्स से प्राप्त टास्क ID।
रिटर्न
Convert टास्क ऑब्जेक्ट्स की एक स्ट्रीम Server-Sent Events के रूप में।
प्रत्येक इवेंट में पूरा टास्क ऑब्जेक्ट होता है, उसी रूप में जो Get एंडपॉइंट रिटर्न करता है। जब तक टास्क PENDING या IN_PROGRESS होता है, तब तक उसके रिजल्ट फ़ील्ड्स में कोई वैल्यू नहीं होती।
कन्वर्ट टास्क ऑब्जेक्ट
एक कन्वर्ट टास्क ऑब्जेक्ट किसी 3D मॉडल के एक फॉर्मेट कन्वर्जन का वर्णन करता है। इसमें स्टेटस, progress, और टास्क सफल होने पर मॉडल फाइलें होती हैं।
Properties
- Name
- id
- Type
- string
- Description
टास्क ID। इसे एक अपारदर्शी (opaque) स्ट्रिंग मानें, और इसके फॉर्मेट पर भरोसा न करें।
- Name
- type
- Type
- string
- Description
टास्क का प्रकार, हमेशा
convert।
- Name
- model_urls
- Type
- object
- Description
कन्वर्ट किए गए मॉडल के लिए डाउनलोड URLs, प्रत्येक फाइल फॉर्मेट के लिए एक। केवल
target_formatsमें शामिल फॉर्मेट्स के ही URLs होते हैं। जिस फॉर्मेट का आपने अनुरोध नहीं किया है, उसकी कोई key नहीं होगी, न कि कोई खाली स्ट्रिंग।
- Name
- progress
- Type
- integer
- Description
टास्क कितना पूरा हो चुका है, प्रतिशत के रूप में। यह तब तक
0रहता है जब तक टास्क शुरू नहीं होता, और जब यह सफल होता है तब100होता है।
- Name
- status
- Type
- string
- Description
टास्क का स्टेटस, जो
PENDING,IN_PROGRESS,SUCCEEDED,FAILED, याCANCELEDमें से एक होता है।
- 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
- expires_at
- Type
- timestamp
- Description
टास्क के डाउनलोड URLs की समाप्ति का समय, यूनिक्स मिलीसेकंड में। यह तब तक
0रहता है जब तक टास्क समाप्त नहीं होता।
- Name
- texture_urls
- Type
- array
- Description
मॉडल के टेक्सचर मैप्स के लिए डाउनलोड URLs, जब टास्क सफल होता है: ऑब्जेक्ट्स का एक array, प्रत्येक टेक्सचर सेट के लिए एक। प्रत्येक ऑब्जेक्ट में एक
base_colorURL होता है, और इसमेंmetallic,roughness,normal,emission, औरmetallic_roughnessURLs भी हो सकते हैं। यह तब तकnullरहता है जब तक टास्क सफल नहीं होता, और जब मॉडल में कोई टेक्सचर मैप न हो तो यह एक खाली array होता है।
- Name
- task_error
- Type
- object
- Description
टास्क फेल होने पर एरर का विवरण। देखें एरर।
- Name
- consumed_credits
- Type
- integer
- Description
टास्क द्वारा उपयोग किए गए क्रेडिट की संख्या, जो एक कन्वर्ट टास्क के लिए
1होती है।FAILEDटास्क के लिए यह0होती है।