Auto Split API
3D मॉडल को अलग-अलग प्रिंट किए जा सकने वाले हिस्सों में विभाजित करें — स्वचालित रूप से, आपके द्वारा नामित हिस्सों के अनुसार, या रंग क्षेत्र के अनुसार — वैकल्पिक कनेक्टर्स के साथ; कट से बचे पतले क्षेत्रों को हमेशा मजबूत किया जाता है ताकि हर हिस्सा ठोस रूप से प्रिंट हो।
Auto Split वर्तमान में केवल बिना टेक्सचर वाले मॉडलों का समर्थन करता है। इमेज से 3D और मल्टी-इमेज से 3D के लिए, इनपुट को should_texture को false पर सेट करके जेनरेट करें। टेक्सचर वाले इनपुट को 400 के साथ रिजेक्ट कर दिया जाता है।
Auto Split टास्क बनाएं
यह एंडपॉइंट एक नया Auto Split टास्क बनाता है। यह टास्क किसी पिछले टास्क के मॉडल को अलग-अलग प्रिंट किए जा सकने वाले पार्ट्स में काटता है और सेगमेंटेड मॉडल लौटाता है, जिसमें हर पार्ट फ़ाइल में अपने खुद के ऑब्जेक्ट के रूप में होता है।
पैरामीटर
- Name
- input_task_id
- Type
- string
- आवश्यक
- Description
उस सफल टास्क की ID जिसके मॉडल को स्प्लिट करना है। समर्थित टास्क प्रकार: इमेज से 3D, मल्टी-इमेज से 3D, टेक्स्ट से 3D (प्रीव्यू), रीमेश, कन्वर्ट, और रीसाइज़। टास्क का स्टेटस
SUCCEEDEDहोना चाहिए, और इसका मॉडल Meshy 6 या Meshy 7 (ai_modelmeshy-6,meshy-7, याlatest) के साथ जनरेट किया गया होना चाहिए। लो-पॉली और Smart Topology (meshy-t2) मॉडल समर्थित नहीं हैं।
- Name
- mode
- Type
- string
- डिफ़ॉल्ट auto
- Description
मॉडल को पार्ट्स में कैसे बाँटा जाता है।
उपलब्ध मान:
auto: Meshy खुद कट्स चुनता है।promptको अनदेखा किया जाता है।by_parts: उन स्ट्रक्चरल पार्ट्स के साथ काटें जिनका नाम आपनेpromptमें दिया है, जैसे सिर, बाहें और धड़।by_color: उन रंग क्षेत्रों के साथ काटें जिनका नाम आपनेpromptमें दिया है। इसके लिए ऐसा इनपुट चाहिए जो अपलोड की गई इमेज से जनरेट किया गया हो (इमेज से 3D या मल्टी-इमेज से 3D); अन्य इनपुट्स को400के साथ अस्वीकार कर दिया जाता है।
mode = by_parts or by_color- Name
- prompt
- Type
- string
- आवश्यक
- Description
किन पार्ट्स में स्प्लिट करना है, इसका वर्णन किसी भी भाषा में करें। Meshy इससे 1 से 10 पार्ट नाम पढ़ता है, इसलिए मॉडल का वर्णन करने के बजाय टुकड़ों के नाम बताएं — उदाहरण के लिए
split into the figure and the base, याhead, torso, left arm, right arm, legs। अधिकतम 600 अक्षर। दो तरह की विफलताएँ हैं: ऐसा विवरण जो स्प्लिट जैसा तो लगे लेकिन दो से कम पार्ट्स के नाम बताए (उदाहरण के लिएsplit into individual parts) उसे400के साथ अस्वीकार कर दिया जाता है और कुछ भी चार्ज नहीं किया जाता; ऐसा विवरण जिसे Meshy बिल्कुल भी नहीं पढ़ पाता, वहautoपर वापस चला जाता है, टास्क फिर भी चलता है और चार्ज किया जाता है, और इसके रिस्पॉन्स मेंprompt_ignored: trueहोता है।
- Name
- target_formats
- Type
- array
- डिफ़ॉल्ट ["glb"]
- Description
स्प्लिट किए गए मॉडल को किन फॉर्मेट्स में एक्सपोर्ट करना है। हर फॉर्मेट में हर पार्ट एक अलग ऑब्जेक्ट होता है।
glbहमेशा बनाया जाता है औरmodel_urlsमें लौटाया जाता है; इसके अतिरिक्त जो भी अन्य फॉर्मेट चाहिए, उन्हें सूचीबद्ध करें।उपलब्ध मान:
glb,obj,fbx,usdz,blend,3mf।
- Name
- layout
- Type
- string
- डिफ़ॉल्ट assembled
- Description
हर आउटपुट फॉर्मेट में, और थंबनेल में, पार्ट्स कैसे व्यवस्थित किए जाते हैं।
उपलब्ध मान:
assembled: पार्ट्स वहीं रहते हैं जहाँ सोर्स मॉडल में थे।on_plate: पार्ट्स को समतल रखा जाता है और बिल्ड प्लेट पर फैलाया जाता है, स्लाइस के लिए तैयार — यह वेब ऐप के On Plate व्यू जैसा ही अरेंजमेंट है।
दोनों लेआउट में एक्सपोर्ट की गई फ़ाइलों में हर पार्ट के लिए एक ऑब्जेक्ट होता है और कुछ भी नहीं: कट से बचा हुआ कोई ढहा हुआ पतला टुकड़ा या पॉइंट जैसा हिस्सा एक्सपोर्ट से पहले हटा दिया जाता है, इसलिए फ़ाइल में मिलने वाला हर ऑब्जेक्ट प्रिंट किए जाने योग्य है।
- Name
- connectors
- Type
- boolean
- डिफ़ॉल्ट false
- Description
हर कट पर मोर्टाइज़-एंड-टेनन कनेक्टर जोड़ता है ताकि प्रिंट किए गए पार्ट्स एक-दूसरे में फिट हो सकें।
connectors = true- Name
- connector_type
- Type
- string
- डिफ़ॉल्ट cube
- Description
हर कट सतह पर कनेक्टर का आकार।
उपलब्ध मान:
cube,cylinder।
- Name
- connector_size
- Type
- number
- डिफ़ॉल्ट 0.5
- Description
कट सतह के सापेक्ष कनेक्टर का आकार।
मान्य रेंज:
0.1से0.8।
- Name
- connector_height
- Type
- number
- डिफ़ॉल्ट 0.1
- Description
कनेक्टर कट सतह के सापेक्ष कट सतह से कितनी दूर तक फैलता है।
मान्य रेंज:
0.1से0.8।
रिटर्न
रिस्पॉन्स की result प्रॉपर्टी में नए बनाए गए Auto Split टास्क की id होती है।
विफलता मोड
- Name
400 - Bad Request- Description
अनुरोध स्वीकार्य नहीं था। सामान्य कारण:
- प्रॉम्प्ट गायब है: जब
mode,by_partsयाby_colorहो, तोpromptआवश्यक है। - प्रॉम्प्ट में दो से कम पार्ट नाम दिए गए हैं:
by_parts/by_colorके लिए कम से कम दो नामित टुकड़े चाहिए (उदाहरण के लिएhead, torso, base);split into individual partsजैसा सामान्य निर्देश अस्वीकार कर दिया जाता है। कुछ भी चार्ज नहीं किया जाता। - असमर्थित इनपुट टास्क:
input_task_idको किसी समर्थित प्रकार के सफल टास्क को संदर्भित करना चाहिए, जो Meshy 6 या Meshy 7 के साथ जनरेट किया गया हो। - टेक्सचर्ड इनपुट: इनपुट मॉडल में टेक्सचर हैं। फिलहाल केवल बिना टेक्सचर वाले मॉडल समर्थित हैं।
- कोई संदर्भ इमेज नहीं:
by_colorके लिए ऐसा इनपुट चाहिए जो अपलोड की गई इमेज से जनरेट किया गया हो। - असमर्थित फॉर्मेट:
target_formatsमेंstlशामिल है। - रेंज से बाहर कनेक्टर:
connector_sizeयाconnector_height,0.1से0.8की रेंज से बाहर है।
- प्रॉम्प्ट गायब है: जब
- Name
401 - Unauthorized- Description
प्रमाणीकरण विफल रहा। कृपया अपनी API की जाँचें।
- Name
402 - Payment Required- Description
यह टास्क करने के लिए पर्याप्त क्रेडिट नहीं हैं।
- Name
404 - Not Found- Description
input_task_idमौजूद नहीं है या आपके अकाउंट से संबंधित नहीं है।
- Name
429 - Too Many Requests- Description
आपने अपनी रेट लिमिट पार कर ली है।
by_partsऔरby_colorअनुरोध प्रति खाता प्रति मिनट 12 अनुरोधों की एक साझा प्रॉम्प्ट-पार्सिंग लिमिट भी साझा करते हैं।
- Name
503 - Service Unavailable- Description
प्रॉम्प्ट-आधारित स्प्लिटिंग (
by_partsऔरby_color) अस्थायी रूप से अनुपलब्ध है। बाद में पुनः प्रयास करें, याmode: "auto"का उपयोग करें, जो इससे प्रभावित नहीं है। कुछ भी चार्ज नहीं किया जाता।
Request
# Simple request: let Meshy choose the cuts
curl https://api.meshy.cn/openapi/v1/print/split \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578"
}'
# Advanced request: name the parts, add connectors, export glb and obj
curl https://api.meshy.cn/openapi/v1/print/split \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"mode": "by_parts",
"prompt": "split into the figure and the base",
"target_formats": ["glb", "obj"],
"layout": "on_plate",
"connectors": true,
"connector_type": "cylinder",
"connector_size": 0.4
}'
Response
{
"result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}
Auto Split टास्क प्राप्त करें
यह एंडपॉइंट किसी Auto Split टास्क को उसकी ID के द्वारा प्राप्त करता है।
पैरामीटर
- Name
- id
- Type
- path
- Description
प्राप्त किए जाने वाले Auto Split टास्क की ID।
रिटर्न
Auto Split टास्क ऑब्जेक्ट।
Request
curl https://api.meshy.cn/openapi/v1/print/split/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-split",
"model_urls": {
"glb": "https://assets.meshy.cn/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
"obj": "https://assets.meshy.cn/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.obj?Expires=***"
},
"thumbnail_url": "https://assets.meshy.cn/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
"part_count": 4,
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000082000,
"task_error": null,
"consumed_credits": 10
}
Auto Split टास्क को हटाएँ
यह एंडपॉइंट किसी Auto Split टास्क को स्थायी रूप से हटा देता है, जिसमें उससे जुड़े सभी मॉडल और डेटा शामिल हैं। यह कार्रवाई अपरिवर्तनीय है।
Path Parameters
- Name
- id
- Type
- path
- Description
हटाए जाने वाले Auto Split टास्क का ID।
Returns
सफल होने पर 200 OK लौटाता है।
Request
curl --request DELETE \
--url https://api.meshy.cn/openapi/v1/print/split/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
// Returns 200 Ok on success.
Auto Split टास्क की सूची
यह एंडपॉइंट आपको Auto Split टास्क की सूची प्राप्त करने की सुविधा देता है।
पैरामीटर
वैकल्पिक विशेषताएँ
- Name
- page_num
- Type
- integer
- Description
पेजिनेशन के लिए पेज नंबर। शुरुआत और डिफ़ॉल्ट
1है।
- Name
- page_size
- Type
- integer
- Description
पेज साइज़ की सीमा। डिफ़ॉल्ट रूप से
10आइटम। अधिकतम अनुमत100आइटम है; इससे बड़े मान100पर सीमित कर दिए जाते हैं।
- Name
- sort_by
- Type
- string
- Description
जिस फ़ील्ड से सॉर्ट करना है। उपलब्ध मान:
+created_at: निर्माण समय के आधार पर आरोही क्रम में सॉर्ट करें।-created_at: निर्माण समय के आधार पर अवरोही क्रम में सॉर्ट करें।
रिटर्न
यह The Auto Split Task Objects की एक पेजिनेटेड सूची लौटाता है।
Request
curl https://api.meshy.cn/openapi/v1/print/split?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
[
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-split",
"model_urls": {
"glb": "https://assets.meshy.cn/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***"
},
"thumbnail_url": "https://assets.meshy.cn/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
"part_count": 4,
"progress": 100,
"status": "SUCCEEDED",
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000082000,
"task_error": null,
"consumed_credits": 10
}
]
Auto Split टास्क को स्ट्रीम करें
यह एंडपॉइंट Server-Sent Events (SSE) का उपयोग करके किसी Auto Split टास्क के लिए रीयल-टाइम अपडेट स्ट्रीम करता है।
पैरामीटर
- Name
- id
- Type
- path
- Description
स्ट्रीम करने के लिए Auto Split टास्क का यूनीक आइडेंटिफ़ायर।
रिटर्न
Server-Sent Events के रूप में The Auto Split Task Objects की एक स्ट्रीम लौटाता है।
हर message इवेंट पूरा टास्क ऑब्जेक्ट ले जाता है, जैसा कि Retrieve an Auto Split Task से लौटाया जाता है, जिसमें consumed_credits, टाइमस्टैम्प और prompt_ignored शामिल हैं; जब टास्क PENDING या IN_PROGRESS होता है, तो फ़्रेम्स के बीच बदलने वाले फ़ील्ड्स progress, status, started_at और preceding_tasks होते हैं, और SUCCEEDED तक पहुँचने पर model_urls, thumbnail_url, part_count और parts दिखाई देते हैं। एक error इवेंट केवल status_code और message ले जाता है, इसलिए status पढ़ने से पहले इवेंट के नाम के आधार पर शाखा (branch) करें।
Request
curl -N https://api.meshy.cn/openapi/v1/print/split/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 (other task fields omitted here for brevity;
// each frame is the full task object).
event: message
data: {
"id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
"progress": 0,
"status": "PENDING"
}
event: message
data: {
"id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
"type": "print-split",
"model_urls": {
"glb": "https://assets.meshy.cn/***/tasks/a43b5c6d-7e8f-901a-234b-567c890d1e2f/output/model.glb?Expires=***"
},
"thumbnail_url": "https://assets.meshy.cn/***/tasks/a43b5c6d-7e8f-901a-234b-567c890d1e2f/output/preview.png?Expires=***",
"part_count": 4,
"progress": 100,
"status": "SUCCEEDED",
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000082000,
"task_error": null,
"consumed_credits": 10
}
The Auto Split Task Object
Auto Split टास्क में केवल नीचे दिए गए प्रॉपर्टीज़ ही होते हैं। अन्य टास्क ऑब्जेक्ट्स में शामिल जनरेशन-prompt फ़ील्ड्स (name, object_prompt, texture_prompt वगैरह), अकेला model_url, और texture_urls किसी स्प्लिट के लिए कभी भरे नहीं जाते और न ही रिटर्न किए जाते हैं। जो प्रॉपर्टीज़ टास्क चलने के दौरान भरती हैं (thumbnail_url, model_urls, टाइमस्टैंप), वे हमेशा मौजूद रहती हैं, बस मान मिलने तक खाली रहती हैं, इसलिए PENDING और SUCCEEDED के बीच keys का सेट नहीं बदलता।
- Name
- id
- Type
- string
- Description
टास्क का यूनीक पहचानकर्ता। हालांकि हम इम्प्लीमेंटेशन डिटेल के तौर पर टास्क id के लिए एक k-sortable UUID इस्तेमाल करते हैं, आपको id के फ़ॉर्मेट को लेकर कोई धारणा नहीं बनानी चाहिए।
- Name
- type
- Type
- string
- Description
टास्क का प्रकार। इसका मान
print-splitहोता है।
- Name
- model_urls
- Type
- object
- Description
स्प्लिट किए गए मॉडल के लिए डाउनलोड करने योग्य URLs, प्रत्येक अनुरोधित फ़ॉर्मेट के लिए एक। फ़ाइल में हर पार्ट एक अलग ऑब्जेक्ट होता है। यदि कोई फ़ॉर्मेट अनुरोधित नहीं किया गया था, तो उस फ़ॉर्मेट की प्रॉपर्टी छोड़ दी जाएगी।
- Name
glb- Type
- string
- Description
GLB फ़ॉर्मेट में स्प्लिट किए गए मॉडल का डाउनलोड करने योग्य URL।
- Name
obj- Type
- string
- Description
OBJ फ़ॉर्मेट में स्प्लिट किए गए मॉडल का डाउनलोड करने योग्य URL।
- Name
fbx- Type
- string
- Description
FBX फ़ॉर्मेट में स्प्लिट किए गए मॉडल का डाउनलोड करने योग्य URL।
- Name
usdz- Type
- string
- Description
USDZ फ़ॉर्मेट में स्प्लिट किए गए मॉडल का डाउनलोड करने योग्य URL।
- Name
blend- Type
- string
- Description
Blender फ़ॉर्मेट में स्प्लिट किए गए मॉडल का डाउनलोड करने योग्य URL।
- Name
3mf- Type
- string
- Description
3MF फ़ॉर्मेट में स्प्लिट किए गए मॉडल का डाउनलोड करने योग्य URL।
- Name
- thumbnail_url
- Type
- string
- Description
स्प्लिट किए गए मॉडल के रेंडर किए गए प्रीव्यू का डाउनलोड करने योग्य URL, जिसमें हर पार्ट अलग रंग में है, अनुरोधित
layoutके अनुसार।
- Name
- prompt_ignored
- Type
- boolean
- Description
trueतब होता है जब किसीby_partsयाby_colorअनुरोध केpromptमें किसी पार्ट का नाम नहीं दिया गया, इसलिए Meshy ने खुद-ब-खुद मॉडल को स्प्लिट कर दिया — परिणाम में पार्ट के नाम Meshy के दिए हुए हैं, आपके नहीं। यहPENDINGसे आगे मौजूद रहता है।autoटास्क के लिए और जब भी prompt का पालन किया गया हो, तब इसे छोड़ दिया जाता है।
- Name
- part_count
- Type
- integer
- Description
स्प्लिट किए गए मॉडल में प्रिंट करने योग्य पार्ट्स की संख्या — एक्सपोर्ट की गई फ़ाइलों में प्रत्येक ऑब्जेक्ट के लिए एक। सिमट गए छोटे टुकड़े जिन्हें सेगमेंटेशन प्रिंट करने योग्य पीस में नहीं बदल सका, उन्हें एक्सपोर्ट से पहले फ़ाइलों से हटा दिया जाता है और गिना नहीं जाता।
- Name
- progress
- Type
- integer
- Description
टास्क की progress। यदि टास्क अभी शुरू नहीं हुआ है, तो यह प्रॉपर्टी
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
- task_error
- Type
- object
- Description
फेल हुए टास्क के लिए एरर विवरण। पूरे
task_errorऑब्जेक्ट संदर्भ के लिए एरर देखें।
- Name
- consumed_credits
- Type
- integer
- Description
इस टास्क द्वारा खर्च किए गए क्रेडिट की संख्या। यह हमेशा मौजूद रहता है: टास्क स्वीकार होने के बाद
10, औरFAILEDटास्क के लिए0क्योंकि विफल होने पर शुल्क वापस कर दिया जाता है। किसी टास्क कोPENDINGरहते समय डिलीट करने पर भी वह वापस कर दिया जाता है।
The Auto Split Task Object
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-split",
"model_urls": {
"glb": "https://assets.meshy.cn/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
"obj": "https://assets.meshy.cn/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.obj?Expires=***"
},
"thumbnail_url": "https://assets.meshy.cn/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
"part_count": 4,
"progress": 100,
"status": "SUCCEEDED",
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000082000,
"task_error": null,
"consumed_credits": 10
}