एरर
इस गाइड में, हम इस बारे में बात करेंगे कि जब आप Meshy API के साथ काम करते समय कुछ गलत हो जाता है तो क्या होता है।
Request Errors
ये एरर तुरंत लौटाई जाती हैं जब आपका API रिक्वेस्ट अस्वीकृत कर दिया जाता है। क्या गलत हुआ, यह समझने के लिए HTTP स्टेटस कोड और message फ़ील्ड की जाँच करें।
Response Format
एरर रिस्पॉन्स में एक ही message फ़ील्ड होती है जो बताती है कि क्या गलत हुआ:
- Name
- message
- Type
- string
- Description
एरर का संक्षिप्त विवरण।
Status Codes
- Name
2xx- Description
एक 2xx स्टेटस कोड सफल रिस्पॉन्स को दर्शाता है।
- Name
200 - OK- Description
डिफ़ॉल्ट रूप से यदि सब कुछ अपेक्षा के अनुसार काम करता है तो 200 स्टेटस कोड लौटाया जाएगा।
- Name
202 - Accepted- Description
आपका रिक्वेस्ट प्रोसेसिंग के लिए स्वीकार कर लिया गया है, लेकिन प्रोसेसिंग अभी पूरी नहीं हुई है। यह Meshy API की ओर से एक गैर-प्रतिबद्ध प्रतिक्रिया है। उदाहरण के लिए, एक नया टास्क बनाने के अनुरोध पर 202 स्टेटस कोड लौटाया जाएगा।
- Name
4xx- Description
एक 4xx स्टेटस कोड क्लाइंट एरर को दर्शाता है।
- Name
400 - Bad Request- Description
रिक्वेस्ट अस्वीकार्य था, अक्सर किसी अनिवार्य पैरामीटर की कमी के कारण या पैरामीटरों में से कोई एक गलत फॉर्मेट में था।
- Name
401 - Unauthorized- Description
कोई मान्य API की प्रदान नहीं की गई है या दी गई API की Meshy API endpoint तक पहुँचने के लिए अधिकृत नहीं है।
- Name
402 - Payment Required- Description
दी गई API की से जुड़े खाते में पर्याप्त राशि नहीं है।
- Name
403 - Forbidden- Description
आपको यह रिक्वेस्ट करने की अनुमति नहीं है। उदाहरण के लिए, रिक्वेस्ट API की के IP allowlist से बाहर के किसी पते से आया था, किसी Enterprise plan के कंटेंट चेक ने किसी टास्क की फ़ाइलों को पढ़ते समय ब्लॉक कर दिया था, या endpoint आपके प्लान पर उपलब्ध नहीं है।
- Name
404 - Not Found- Description
अनुरोधित संसाधन मौजूद नहीं है। उदाहरण के लिए, जब आप किसी टास्क को उसकी ID से प्राप्त करने की कोशिश करते हैं लेकिन अमान्य ID प्रदान करते हैं, तो आपको 404 स्टेटस कोड मिलेगा।
- Name
409 - Conflict- Description
संसाधन मौजूद है लेकिन उसकी वर्तमान स्थिति ऑपरेशन की अनुमति नहीं देती। उदाहरण के लिए, किसी ऐसे टास्क को हटाना जो पहले से
IN_PROGRESSहै, 409 लौटाता है: वर्कर ने ऐसा काम शुरू कर दिया है जिसे वापस नहीं किया जा सकता, इसलिए टास्क को चलते रहने दिया जाता है। किसी अंतिम स्थिति (SUCCEEDED,FAILEDयाCANCELED) की प्रतीक्षा करें और फिर पुनः प्रयास करें।
- Name
429 - Too Many Requests- Description
Meshy API पर बहुत अधिक रिक्वेस्ट बहुत जल्दी भेजे गए। पुनः प्रयास करने से पहले
Retry-Afterहेडर में दिए गए सेकंडों की संख्या तक प्रतीक्षा करें। विवरण के लिए कृपया Rate Limits गाइड देखें।
- Name
5xx- Description
एक 5xx स्टेटस कोड सर्वर एरर को दर्शाता है। यदि आपको ऐसा दिखे, तो कृपया अधिक जानकारी के लिए हमारा status page देखें और मदद के लिए Discord के माध्यम से हमसे संपर्क करें।
Example: 400 Bad Request
{
"message": "Invalid model file extension: .3dm"
}
टास्क एरर
ये एरर तब होते हैं जब एक टास्क बनाया गया है और प्रोसेस हो रहा है। एरर विवरण के लिए टास्क प्रतिक्रिया पर task_error ऑब्जेक्ट की जाँच करें।
task_error ऑब्जेक्ट में निम्नलिखित फील्ड होते हैं:
- Name
- type
- Type
- string
- Description
एरर श्रेणी। असफल टास्क पर हमेशा मौजूद। नीचे एरर प्रकार देखें।
- Name
- message
- Type
- string
- Description
एरर का एक मानव-पठनीय विवरण। असफल टास्क पर हमेशा मौजूद।
- Name
- code
- Type
- string
- वैकल्पिक
- Description
समस्या की पहचान करने वाला एक विशिष्ट एरर कोड। जब अतिरिक्त विवरण उपलब्ध होते हैं, तब मौजूद। नीचे एरर कोड देखें।
- Name
- doc_url
- Type
- string
- वैकल्पिक
- Description
इस एरर कोड के लिए विस्तृत दस्तावेज़ीकरण का लिंक, जिसमें समाधान मार्गदर्शन शामिल है। जब
codeमौजूद होता है, तब मौजूद।
विवरण के साथ एरर
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"status": "FAILED",
"task_error": {
"type": "invalid_input",
"code": "image_too_complex",
"message": "The uploaded image is too complex for 3D generation.",
"doc_url": "https://docs.meshy.ai/en/api/errors#image-too-complex"
}
}
विवरण के बिना एरर
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"status": "FAILED",
"task_error": {
"type": "server_error",
"message": "An internal error occurred. Please retry."
}
}
त्रुटि प्रकार
type फ़ील्ड आपको विफलता की व्यापक श्रेणी बताती है। अपनी रिट्राई रणनीति तय करने के लिए इसका उपयोग करें।
- Name
invalid_input- Description
आपके द्वारा प्रदान किए गए इनपुट में कुछ गड़बड़ी है। विवरण के लिए
codeऔरmessageफ़ील्ड देखें, समस्या को ठीक करें, और पुनः प्रयास करें।
- Name
timeout- Description
प्रोसेसिंग या कतार में प्रतीक्षा के लिए निर्धारित सर्वर-साइड समय सीमा से आगे निकल जाने के कारण टास्क विफल हो गया। इसके क्रेडिट वापस कर दिए जाते हैं। यह अक्सर अस्थायी होता है: टास्क को फिर से बनाएँ, और यदि यह लगातार विफल होता रहे, तो अपने इनपुट को सरल बनाने का प्रयास करें।
- Name
service_unavailable- Description
सेवा अस्थायी रूप से अनुपलब्ध थी। कुछ समय प्रतीक्षा करें, फिर टास्क को फिर से बनाएँ।
- Name
server_error- Description
प्रोसेसिंग के दौरान एक आंतरिक त्रुटि हुई। टास्क को फिर से बनाएँ। यदि समस्या बनी रहती है, तो अपने टास्क आईडी के साथ सहायता टीम से संपर्क करें।
एरर कोड
जब code फ़ील्ड मौजूद होता है, तो यह एक विशिष्ट, क्रियात्मक समस्या की पहचान करता है। नीचे प्रत्येक एरर कोड के लिए पूर्ण संदर्भ दिया गया है।
image_too_complex
यह एरर तब होती है जब इनपुट इमेज या prompt एक ऐसे विषय का वर्णन करता है जो 3D जनरेशन मॉडल के लिए ज्यामितीय रूप से बहुत जटिल होता है।
सामान्य उदाहरण शामिल हैं:
- छोटे वस्तुओं के घने ढेर (उदाहरण के लिए, फलों से भरा एक क्रेट, किताबों का ढेर)
- जटिल दोहराव वाले पैटर्न (उदाहरण के लिए, जाली संरचनाएं, मचान, तार जाल)
- जटिल भवन संरचनाएं (उदाहरण के लिए, कई खिड़कियों और बालकनियों वाले बहुमंजिला भवन)
- एक इमेज में कई अलग-अलग वस्तुएं एकल विषय के बजाय
इनपुट के उदाहरण जो संभवतः बहुत जटिल हैं:




समाधान:
- प्रति इमेज एक ही वस्तु का उपयोग करें। मॉडल एक स्पष्ट विषय के साथ सबसे अच्छा काम करता है। एक ही इमेज या prompt में कई अलग-अलग वस्तुओं को शामिल न करें।
- अपने विषय को सरल बनाएं। विवरण के स्तर को कम करें। उदाहरण के लिए, दर्जनों फूलों से भरे एक फूलदान के बजाय एक साधारण फूलदान।
- सीन-स्तरीय prompt से बचें। पूरे भवन, शहर के ब्लॉक, फर्नीचर से भरे इंटीरियर, या लैंडस्केप मॉडल की क्षमता को पार कर सकते हैं। इसके बजाय एक ही वस्तु पर ध्यान केंद्रित करें।
- घने दोहराव वाली संरचनाओं से बचें। मचान, तार जाल, जाली पैटर्न, या कई छोटे आइटमों के ढेर जैसे विषय सामान्य ट्रिगर होते हैं।
model_missing_uv
यह एरर तब होती है जब आप टेक्सचरिंग के लिए एक मॉडल अपलोड करते हैं और enable_original_uv को true पर सेट करते हैं, लेकिन मॉडल में कोई UV निर्देशांक नहीं होते। UV निर्देशांक यह निर्धारित करते हैं कि 2D टेक्सचर आपके मॉडल की 3D सतह पर कैसे लिपटेगा।

समाधान:
सही समाधान इस पर निर्भर करता है कि आपने enable_original_uv को true क्यों सेट किया:
- यदि आपको अपने मॉडल के मूल UV लेआउट को संरक्षित करने की आवश्यकता है (उदाहरण के लिए, सटीक टेक्सचर मैपिंग के लिए कस्टम सीम प्लेसमेंट): आपके मॉडल में मान्य UV निर्देशांक होने चाहिए। अपलोड करने से पहले अपने 3D सॉफ़्टवेयर के UV एडिटर में UVs की पुष्टि करें। ध्यान दें कि STL फाइलें UV डेटा स्टोर नहीं कर सकतीं, इसलिए GLB, FBX, या OBJ का उपयोग करें।
- यदि आपको विशिष्ट UV नियंत्रण की आवश्यकता नहीं है (या आप सुनिश्चित नहीं हैं):
enable_original_uvको छोड़ दें या इसेfalseपर सेट करें। सिस्टम आपके मॉडल के लिए स्वचालित रूप से एक UV लेआउट उत्पन्न करेगा। स्वचालित रूप से उत्पन्न UVs कवरेज के लिए अनुकूलित होते हैं लेकिन आपके पास टेक्सचर सीम के स्थान पर नियंत्रण नहीं होगा।
model_insufficient_uv
यह एरर तब होती है जब किसी मॉडल में UV निर्देशांक होते हैं, लेकिन गुणवत्ता पूर्ण टेक्सचरिंग के लिए UV कवरेज बहुत छोटा होता है। यह आमतौर पर उन मॉडलों के साथ होता है जो 3D टूल्स से निर्यात किए जाते हैं जो प्लेसहोल्डर या संकुचित UVs उत्पन्न करते हैं बिना उचित अनरैप के।

समाधान:
- यदि आपको अपने मूल UV लेआउट को संरक्षित करने की आवश्यकता है: अपने 3D सॉफ़्टवेयर में मॉडल के UVs को पुनः अनरैप करें। सुनिश्चित करें कि UV द्वीप UV स्थान में ठीक से फैले हुए हैं न कि एक छोटे क्षेत्र में संकुचित।
- यदि आपको विशिष्ट UV नियंत्रण की आवश्यकता नहीं है:
enable_original_uvको छोड़ दें या इसेfalseपर सेट करें। सिस्टम स्वचालित रूप से एक नया UV लेआउट उत्पन्न करेगा। इसका समझौता यह है कि आप अपनी मूल सीम प्लेसमेंट खो देंगे, लेकिन स्वचालित रूप से उत्पन्न UVs टेक्सचरिंग के लिए उचित कवरेज प्रदान करेंगे।
model_missing_texture
यह एरर तब होता है जब किसी Multi-Color Print टास्क के इनपुट मॉडल में ऐसी कोई कलर जानकारी न हो जिसे कन्वर्टर प्रिंट कलर्स में अलग कर सके। एक मल्टी-कलर 3MF मॉडल के कलर्स से बनाया जाता है, इसलिए एक सादा सफ़ेद मेश — उदाहरण के लिए एक टेक्स्ट से 3D या इमेज से 3D प्रीव्यू जिसे कभी टेक्सचर नहीं किया गया, या एक रिपेयर / ऑटो-स्प्लिट आउटपुट — के पास काम करने के लिए कुछ नहीं होता।
कलर सोर्स क्या माना जाएगा यह इस बात पर निर्भर करता है कि आपने किस style का अनुरोध किया है:
realisticमॉडल के UV के ज़रिए बेस कलर टेक्सचर को सैंपल करता है, इसलिए इसके लिए हर मेश पार्ट पर UV निर्देशांक के साथ एक सिंगल बेस कलर टेक्सचर आवश्यक है।cartoonप्रति-फेस कलर्स को फ्लैटन करता है और किसी भी पार्ट पर बेस कलर टेक्सचर या प्रति-वर्टेक्स कलर्स (COLOR_0) स्वीकार करता है।
ऐसा मॉडल जिसमें न तो बेस कलर टेक्सचर है और न ही वर्टेक्स कलर्स, दोनों स्टाइल्स के लिए अस्वीकार कर दिया जाता है; cartoon के साथ अन्यथा यह एक सिंगल-कलर प्रिंट के रूप में "सफल" हो जाता।
अधिकांश अनुरोध टास्क बनाए जाने से पहले ही अस्वीकार कर दिए जाते हैं (400 Bad Request उसी स्पष्टीकरण के साथ), इसलिए आप सामान्यतः यह कोड तभी देखेंगे जब इनपुट का पहले से निरीक्षण नहीं किया जा सका हो — उदाहरण के लिए, एक .fbx अपलोड की जाँच टास्क द्वारा उसे नॉर्मलाइज़ करने के बाद की जाती है।
समाधान:
- पहले मॉडल को टेक्सचर करें। इस पर एक Retexture टास्क चलाएँ, या टेक्सचरिंग सक्षम करके इसे जनरेट करें (एक टेक्स्ट से 3D refine टास्क, या
should_texture: trueवाला इमेज से 3D टास्क), और उस टास्क कोinput_task_idके रूप में पास करें। - वर्टेक्स-कलर्ड मॉडल्स (फ़ोटोग्रामेट्री स्कैन, हाथ से पेंट किए गए मेश):
style: "cartoon"का अनुरोध करें, जोCOLOR_0को पढ़ता है। realisticके तहत आंशिक रूप से टेक्सचर्ड या मल्टी-टेक्सचर मॉडल्स: हर मेश पार्ट को UV और एक ही, सिंगल बेस कलर टेक्सचर की आवश्यकता है। बचे हुए पार्ट्स को टेक्सचर करें या टेक्सचर्स को एक एटलस में मर्ज करें, याstyle: "cartoon"पर स्विच करें।
invalid_input
यह वह फॉलबैक त्रुटि कोड है जब इनपुट सत्यापन में विफल हो जाता है लेकिन कोई अधिक विशिष्ट कोड लागू नहीं होता। message फ़ील्ड में विफलता का विशिष्ट कारण होता है।
सामान्य कारणों में शामिल हैं:
- खाली या भ्रष्ट मॉडल फाइलें
- असमर्थित फाइल फॉर्मेट वेरिएशन (जैसे, ASCII FBX फाइलें, meshopt-संपीड़ित GLB)
- अपलोड किए गए मॉडल में कोई मान्य 3D ऑब्जेक्ट नहीं मिला (जैसे, फाइल में केवल आर्मेचर, कैमरे, या लाइट्स शामिल हैं)
- सामग्री जो सुरक्षा फिल्टर पास नहीं करती
समाधान: क्या गलत हुआ, इसके विवरण के लिए message फ़ील्ड की जाँच करें। सुनिश्चित करें कि आपके इनपुट फाइलें और पैरामीटर एंडपॉइंट की आवश्यकताओं से मेल खाते हैं।
moderation_blocked
यह त्रुटि तब होती है जब आपका prompt या संदर्भ छवियां AI सुरक्षा फ़िल्टर द्वारा अस्वीकार कर दी जाती हैं। फ़िल्टर टेक्स्ट prompt और किसी भी संदर्भ छवि दोनों का एक साथ मूल्यांकन करता है।
समाधान:
- आपत्तिजनक या संवेदनशील विवरण हटाने के लिए अपने टेक्स्ट prompt को फिर से लिखें।
- यदि संदर्भ छवियां ऐसी सामग्री दर्शाती हैं जो सुरक्षा फ़िल्टर को सक्रिय कर सकती है, तो उन्हें समायोजित करें।
moderation_unavailable
यह त्रुटि तब होती है जब कंटेंट moderation अस्थायी रूप से अनुपलब्ध था, इसलिए जाँच के बिना चलाने के बजाय कार्य को विफल कर दिया गया। आपकी सामग्री में कुछ भी गलत नहीं है। इसका type, server_error है।
समाधान: कार्य को फिर से बनाएं।
timeout
इस त्रुटि का अर्थ है कि कार्य ने सर्वर-साइड समय सीमा को पार कर लिया, चाहे वह प्रोसेसिंग के लिए हो या कतार में प्रतीक्षा के लिए, इसलिए कार्य विफल हो गया और इसके क्रेडिट वापस कर दिए गए। ऐसा उच्च सिस्टम लोड के कारण या इनपुट के समय सीमा के भीतर प्रोसेस करने के लिए बहुत जटिल होने के कारण हो सकता है।
यह आपके अपने कोड में होने वाले timeout से अलग है। यदि आपके क्लाइंट ने प्रतीक्षा करना बंद कर दिया, तो कार्य अभी भी चल रहा है; देखें Task Lifecycle।
समाधान:
- कार्य को फिर से बनाएं। timeout अक्सर अस्थायी होते हैं और एक नया कार्य सफल हो सकता है।
- अपना इनपुट सरल करें। यदि पुनः प्रयास विफल होते रहते हैं, तो हो सकता है कि आपका इनपुट बहुत जटिल हो। अपनी छवि या prompt में विवरण के स्तर को कम करने का प्रयास करें। किस प्रकार के इनपुट को प्रोसेस करना कठिन होता है, इस बारे में मार्गदर्शन के लिए देखें
image_too_complex।
queue_timeout
इस त्रुटि का अर्थ है कि टास्क कतार (queue) में बहुत लंबे समय तक प्रतीक्षा करता रहा और शुरू नहीं हो सका, इसलिए यह असफल हो गया और इसके लिए लिए गए किसी भी क्रेडिट को वापस कर दिया गया। आपके इनपुट के कारण यह नहीं हुआ। इसका type, timeout है।
समाधान: टास्क को फिर से बनाएं।
format_conversion_failed
यह त्रुटि तब होती है जब जनरेट किए गए 3D मॉडल को आपके अनुरोधित आउटपुट फ़ॉर्मेट में परिवर्तित नहीं किया जा सका। मॉडल सफलतापूर्वक जनरेट हो गया था, लेकिन परिवर्तन चरण (conversion step) असफल हो गया।
समाधान:
- अनुरोध को पुनः प्रयास करें।
- किसी भिन्न आउटपुट फ़ॉर्मेट को आज़माएं। यदि कोई विशेष फ़ॉर्मेट बार-बार असफल हो रहा है, तो अपनी आवश्यकताओं के अनुरूप किसी अन्य फ़ॉर्मेट पर स्विच करें।
सर्वोत्तम अभ्यास
- पुनः प्रयास (retry) लॉजिक लागू करें। जब कोई task
timeout,service_unavailableयाserver_errorएरर के साथ विफल हो जाए, तो एक्सपोनेंशियल बैकऑफ़ के साथ इसे फिर से बनाएं। यदि इसके बजाय आपका अपना अनुरोध timeout हो गया था, तो नया task न बनाएं: पहले मौजूदा task की जांच करें (देखें Task Lifecycle)। - Task IDs लॉग करें। डीबगिंग उद्देश्यों के लिए हमेशा task ID लॉग करें। सहायता (support) से संपर्क करते समय इसे शामिल करें।
- इनपुट्स को सत्यापित करें। सबमिशन से पहले सुनिश्चित करें कि आपकी इनपुट छवियां और मॉडल फ़ॉर्मेट आवश्यकताओं को पूरा करते हैं।
- अपने सर्वर से API को कॉल करें। ब्राउज़र में चलने वाला कोड पेज खोलने वाले किसी भी व्यक्ति के सामने आपकी API की उजागर कर देगा।