प्रिंट-योग्यता विश्लेषण API
FDM प्रिंट-योग्यता के लिए किसी 3D मॉडल का विश्लेषण करें — वॉटरटाइटनेस, वॉल्यूम, होल्स, नॉन-मैनिफोल्ड किनारे, और डिजेनरेट फेस।
Create an Analyze Printability Task
यह एंडपॉइंट एक नया analyze-printability टास्क बनाता है। यह टास्क एक 3D मॉडल का मूल्यांकन करता है और उसके प्रिंट-योग्यता मेट्रिक्स की रिपोर्ट देता है।
यदि इनपुट टास्क के पास पहले से ही कैश्ड प्रिंट-योग्यता है, तो लौटाया गया टास्क तुरंत तैयार होता है और इस पर पहला GET वर्कर से गुजरे बिना ही विश्लेषण परिणाम लौटा देगा।
पैरामीटर
input_task_id या model_url में से केवल एक ही आवश्यक है। यदि दोनों दिए जाते हैं, तो input_task_id को प्राथमिकता मिलती है।
- Name
- input_task_id
- Type
- string
- आवश्यक
- Description
आपके स्वामित्व वाले किसी सफल टास्क का ID। समर्थित टास्क प्रकार: इमेज से 3D, मल्टी-इमेज से 3D, टेक्स्ट से 3D, रीमेश, और रीटेक्सचर। टास्क को Meshy 6 या उससे नए (Meshy 7 सहित) का उपयोग करना चाहिए और उसकी स्थिति
SUCCEEDEDहोनी चाहिए।
- Name
- model_url
- Type
- string
- आवश्यक
- Description
विश्लेषण करने के लिए 3D मॉडल का URL। समर्थित प्रारूप:
.glb,.gltf,.obj,.fbx,.stl। अधिकतम फ़ाइल आकार: 100 MB। इसेhttp,https, याdata:URL का उपयोग करना चाहिए (data URL एक्सटेंशन जांच को बायपास कर देते हैं)।
रिटर्न
प्रतिक्रिया के result प्रॉपर्टी में नए बनाए गए analyze-printability टास्क का id होता है।
विफलता मोड
- Name
400 - Bad Request- Description
अनुरोध स्वीकार्य नहीं था। सामान्य कारण:
- पैरामीटर गायब: न तो
input_task_idऔर न हीmodel_urlदिया गया था। - अमान्य UUID:
input_task_idएक मान्य UUID नहीं है। - अमान्य मॉडल URL:
model_urlगलत तरीके से बना है, किसी असमर्थित स्कीम का उपयोग करता है, या इसमें असमर्थित फ़ाइल एक्सटेंशन है। - मॉडल फ़ाइल बहुत बड़ी है:
model_urlबॉडी 100 MB से अधिक हो गई। - टास्क सफल नहीं हुआ: संदर्भित टास्क अभी भी लंबित है, प्रगति में है, या असफल हो गया है।
- पैरामीटर गायब: न तो
- Name
401 - Unauthorized- Description
प्रमाणीकरण विफल हो गया। कृपया अपनी API की जांचें।
- Name
403 - Forbidden- Description
टास्क मौजूद है लेकिन किसी अन्य उपयोगकर्ता के स्वामित्व में है।
- Name
404 - Not Found- Description
सामान्य कारण:
- टास्क मौजूद नहीं है या हटाया जा चुका है।
- टास्क Meshy 6 से पुराने मॉडल का उपयोग करता है, या इसका mode कोई 3D asset उत्पन्न नहीं करता।
- अंतर्निहित मॉडल फ़ाइल अब स्टोरेज में उपलब्ध नहीं है।
- Name
429 - Too Many Requests- Description
आपने अपनी pending-task कोटा या रेट लिमिट पार कर ली है।
Request
# Analyze an existing task
curl https://api.meshy.ai/openapi/v1/print/analyze \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578"
}'
# Or analyze a model URL directly
curl https://api.meshy.ai/openapi/v1/print/analyze \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"model_url": "https://example.com/model.glb"
}'
Response
{
"result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}
Analyze Printability Task को प्राप्त करें
यह एंडपॉइंट किसी analyze-printability task को उसकी ID के द्वारा प्राप्त करता है।
पैरामीटर
- Name
- id
- Type
- path
- Description
प्राप्त करने के लिए analyze-printability task की ID।
रिटर्न वैल्यू
Analyze Printability Task Object। printability फ़ील्ड तब तक null रहती है जब तक टास्क SUCCEEDED तक नहीं पहुँच जाता।
Request
curl https://api.meshy.ai/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-analyze",
"status": "SUCCEEDED",
"progress": 100,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"expires_at": 1715725401000,
"task_error": null,
"printability": {
"_version": "v1",
"status": "warning",
"issue_count": 1,
"error_count": 0,
"warning_count": 1,
"metrics": {
"is_watertight": true,
"volume": 1.316167354292668,
"non_manifold_edges": 0,
"degenerate_faces": 43242,
"holes": 0
},
"evaluated_at": 1700000001000
},
"consumed_credits": 0
}
प्रिंट-योग्यता विश्लेषण टास्क हटाएं
यह एंडपॉइंट किसी प्रिंट-योग्यता विश्लेषण टास्क और उसके कैश किए गए परिणाम को स्थायी रूप से हटा देता है। यह क्रिया अपरिवर्तनीय है।
पथ पैरामीटर
- 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/print/analyze/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."
}
प्रिंट-योग्यता विश्लेषण कार्यों की सूची
यह एंडपॉइंट आपको प्रिंट-योग्यता विश्लेषण कार्यों की सूची प्राप्त करने की अनुमति देता है।
पैरामीटर
वैकल्पिक विशेषताएं
- Name
- page_num
- Type
- integer
- Description
पेजिनेशन के लिए पेज नंबर। शुरुआत और डिफ़ॉल्ट
1है।
- Name
- page_size
- Type
- integer
- Description
पेज साइज़ सीमा। डिफ़ॉल्ट
10आइटम है। अधिकतम अनुमत100आइटम है।
- Name
- sort_by
- Type
- string
- Description
सॉर्ट करने के लिए फ़ील्ड। उपलब्ध मान:
+created_at: निर्माण समय के अनुसार आरोही क्रम में सॉर्ट करें।-created_at: निर्माण समय के अनुसार अवरोही क्रम में सॉर्ट करें।
रिटर्न
यह प्रिंट-योग्यता विश्लेषण कार्य ऑब्जेक्ट्स की एक पेजिनेटेड सूची लौटाता है।
Request
curl https://api.meshy.ai/openapi/v1/print/analyze?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
[
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-analyze",
"status": "SUCCEEDED",
"progress": 100,
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"expires_at": 1715725401000,
"task_error": null,
"printability": {
"_version": "v1",
"status": "warning",
"issue_count": 1,
"error_count": 0,
"warning_count": 1,
"metrics": {
"is_watertight": true,
"volume": 1.316167354292668,
"non_manifold_edges": 0,
"degenerate_faces": 43242,
"holes": 0
},
"evaluated_at": 1700000001000
},
"consumed_credits": 0
}
]
प्रिंट-योग्यता विश्लेषण टास्क को स्ट्रीम करें
यह एंडपॉइंट Server-Sent Events (SSE) का उपयोग करके एक analyze-printability टास्क के लिए रीयल-टाइम अपडेट स्ट्रीम करता है।
पैरामीटर
- Name
- id
- Type
- path
- Description
स्ट्रीम करने के लिए analyze-printability टास्क का यूनीक पहचानकर्ता।
रिटर्न
Server-Sent Events के रूप में प्रिंट-योग्यता विश्लेषण टास्क ऑब्जेक्ट्स की एक स्ट्रीम लौटाता है।
प्रत्येक फ्रेम उस चरण के लिए पूरा टास्क ऑब्जेक्ट वहन करता है — वही आकार जो
Get एंडपॉइंट लौटाता है — इसलिए जब तक टास्क PENDING या IN_PROGRESS में है, तब तक
आउटपुट फ़ील्ड्स बस अभी तक भरे नहीं गए होते (null, [] या {}) और
finished_at null होता है। printability ब्लॉक तभी भेजा जाता है जब टास्क SUCCEEDED तक पहुँचता है।
Request
curl -N https://api.meshy.ai/openapi/v1/print/analyze/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.
// Every frame is the full task object; fields not yet populated are null / empty.
// The PENDING frame below is abbreviated to the fields that change.
event: message
data: {
"id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
"progress": 0,
"status": "PENDING"
}
event: message
data: {
"id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
"type": "print-analyze",
"status": "SUCCEEDED",
"progress": 100,
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"expires_at": 1715725401000,
"task_error": null,
"printability": {
"_version": "v1",
"status": "warning",
"issue_count": 1,
"error_count": 0,
"warning_count": 1,
"metrics": {
"is_watertight": true,
"volume": 1.316167354292668,
"non_manifold_edges": 0,
"degenerate_faces": 43242,
"holes": 0
},
"evaluated_at": 1700000001000
},
"consumed_credits": 0
}
प्रिंट-योग्यता विश्लेषण टास्क ऑब्जेक्ट
- Name
- id
- Type
- string
- Description
टास्क के लिए यूनीक आइडेंटिफायर। हालांकि हम टास्क id के लिए इम्प्लीमेंटेशन डिटेल के रूप में k-sortable UUID का उपयोग करते हैं, आपको id के फॉर्मैट के बारे में कोई भी धारणा नहीं बनानी चाहिए।
- Name
- type
- Type
- string
- Description
analyze-printability टास्क का प्रकार। इसका मान
print-analyzeहै।
- Name
- status
- Type
- string
- Description
टास्क की स्थिति। संभावित मान
PENDING,IN_PROGRESS,SUCCEEDED,FAILED,CANCELEDमें से एक हैं।
- Name
- progress
- Type
- integer
- Description
टास्क की progress। यदि टास्क अभी शुरू नहीं हुआ है, तो यह प्रॉपर्टी
0होगी। एक बार टास्क सफल हो जाने पर, यह100हो जाएगी।
- 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
वह टाइमस्टैंप जब टास्क परिणाम सिस्टम से एक्सपायर हो जाएगा, मिलीसेकंड में। यदि टास्क अभी समाप्त नहीं हुआ है, तो
0।
- Name
- task_error
- Type
- object
- Description
यदि टास्क विफल हो गया है तो एरर की जानकारी। यदि टास्क विफल नहीं हुआ है तो यह प्रॉपर्टी
nullहोती है। अधिक जानकारी के लिए एरर देखें।- Name
message- Type
- string
- Description
एरर मैसेज जो बताता है कि क्या गलत हुआ।
- Name
- printability
- Type
- object
- Description
प्रिंट-योग्यता मूल्यांकन परिणाम। जब तक टास्क
SUCCEEDEDतक नहीं पहुंचता, यहnullरहता है।- Name
_version- Type
- string
- Description
प्रिंट-योग्यता परिणाम का स्कीमा वर्शन। वर्तमान में
v1।
- Name
status- Type
- string
- Description
समग्र स्थिति। इनमें से एक:
healthy: कोई एरर नहीं और कोई चेतावनी नहीं।warning: कम से कम एक चेतावनी, कोई एरर नहीं।error: कम से कम एक एरर।unknown: मॉडल का विश्लेषण नहीं किया जा सका।
- Name
issue_count- Type
- integer
- Description
समस्याओं की कुल संख्या, जो
error_count + warning_countके बराबर है।
- Name
error_count- Type
- integer
- Description
एरर-स्तर की समस्याओं की संख्या। एरर तब उठाए जाते हैं जब मॉडल वाटरटाइट नहीं है, इसका वॉल्यूम शून्य से कम या बराबर है, या इसमें नॉन-मैनिफोल्ड किनारे हैं।
- Name
warning_count- Type
- integer
- Description
चेतावनी-स्तर की समस्याओं की संख्या। चेतावनियां तब उठाई जाती हैं जब मॉडल में डिजेनरेट फेस या होल होते हैं।
- Name
metrics- Type
- object
- Description
एवैल्युएटर द्वारा लौटाए गए रॉ ज्यामिति मेट्रिक्स।
- Name
is_watertight- Type
- boolean
- Description
trueजब मेश में कोई बाउंड्री किनारे नहीं होते हैं (यानी, बंद है)।
- Name
volume- Type
- number
- Description
मॉडल का वॉल्यूम क्यूबिक मीटर में।
- Name
non_manifold_edges- Type
- integer
- Description
नॉन-मैनिफोल्ड किनारों की संख्या।
- Name
degenerate_faces- Type
- integer
- Description
डिजेनरेट फेस (शून्य-क्षेत्र या अमान्य फेस) की संख्या।
- Name
holes- Type
- integer
- Description
मेश में होल (बाउंड्री लूप) की संख्या।
- Name
evaluated_at- Type
- timestamp
- Description
एपॉक के बाद से मिलीसेकंड में, विश्लेषण की गणना किए जाने का टाइमस्टैंप।
- Name
- consumed_credits
- Type
- integer
- Description
हमेशा
0। यह एंडपॉइंट फ्री है।
The Analyze Printability Task Object
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-analyze",
"status": "SUCCEEDED",
"progress": 100,
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"expires_at": 1715725401000,
"task_error": null,
"printability": {
"_version": "v1",
"status": "warning",
"issue_count": 1,
"error_count": 0,
"warning_count": 1,
"metrics": {
"is_watertight": true,
"volume": 1.316167354292668,
"non_manifold_edges": 0,
"degenerate_faces": 43242,
"holes": 0
},
"evaluated_at": 1700000001000
},
"consumed_credits": 0
}