एरर
इस गाइड में, हम इस बारे में बात करेंगे कि जब आप Meshy API के साथ काम करते समय कुछ गड़बड़ हो जाती है, तो क्या होता है।
अनुरोध त्रुटियाँ
ये एरर तुरंत लौटाई जाती हैं जब आपका API अनुरोध अस्वीकार कर दिया जाता है। यह समझने के लिए कि क्या गलत हुआ, HTTP स्टेटस कोड और message फ़ील्ड जाँचें।
प्रतिक्रिया प्रारूप
त्रुटि प्रतिक्रिया में एक ही message फ़ील्ड होती है जो बताती है कि क्या गलत हुआ:
- Name
- message
- Type
- string
- Description
त्रुटि का एक संक्षिप्त विवरण।
स्टेटस कोड
- Name
2xx- Description
एक 2xx स्टेटस कोड एक सफल प्रतिक्रिया को दर्शाता है।
- Name
200 - OK- Description
डिफ़ॉल्ट रूप से, यदि सब कुछ अपेक्षा अनुसार काम करता है तो 200 स्टेटस कोड लौटाया जाएगा।
- Name
202 - Accepted- Description
आपका अनुरोध प्रोसेसिंग के लिए स्वीकार कर लिया गया है, लेकिन प्रोसेसिंग अभी पूरी नहीं हुई है। यह Meshy API की ओर से एक अनिश्चित (non-committal) प्रतिक्रिया है। उदाहरण के लिए, एक नया टास्क बनाने के अनुरोध पर 202 स्टेटस कोड लौटाया जाएगा।
- Name
4xx- Description
एक 4xx स्टेटस कोड एक क्लाइंट त्रुटि को दर्शाता है।
- Name
400 - Bad Request- Description
अनुरोध स्वीकार्य नहीं था, अक्सर किसी अनिवार्य पैरामीटर के गायब होने या किसी पैरामीटर के गलत ढंग से बने होने के कारण।
- Name
401 - Unauthorized- Description
कोई मान्य API की प्रदान नहीं की गई या प्रदान की गई API की Meshy API एंडपॉइंट तक पहुँचने के लिए अधिकृत नहीं है।
- Name
402 - Payment Required- Description
प्रदान की गई API की से जुड़े खाते में अपर्याप्त धनराशि है।
- Name
403 - Forbidden- Description
अनुरोधित संसाधन तक पहुँच निषिद्ध है। ऐसा तब हो सकता है जब आप क्लाइंट-साइड जावास्क्रिप्ट कोड से सीधे Meshy API तक पहुँचने का प्रयास करते हैं, क्योंकि ब्राउज़र से Cross-Origin Resource Sharing (CORS) अनुरोधों की अनुमति नहीं है। ऐसे अनुरोधों के लिए सर्वर-साइड प्रॉक्सी का उपयोग करने पर विचार करें। अधिक जानकारी के लिए, MDN CORS गाइड देखें।
- 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 स्टेटस कोड एक सर्वर त्रुटि को दर्शाता है। यदि आपको ऐसा दिखे, तो कृपया अधिक जानकारी के लिए हमारा स्टेटस पेज देखें और मदद के लिए 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 को फिर से लिखें।
- यदि संदर्भ छवियाँ ऐसी सामग्री दर्शाती हैं जो सुरक्षा फ़िल्टर को ट्रिगर कर सकती है, तो उन्हें समायोजित करें।
timeout
इस त्रुटि का अर्थ है कि टास्क ने सर्वर-साइड समय सीमा को पार कर लिया, चाहे वह प्रोसेसिंग के लिए हो या कतार में प्रतीक्षा करने के लिए, जिसके कारण टास्क विफल हो गया और उसके क्रेडिट वापस कर दिए गए। ऐसा सिस्टम पर अधिक लोड होने या इनपुट के समय सीमा के भीतर संसाधित करने के लिए बहुत जटिल होने के कारण हो सकता है।
यह आपके स्वयं के कोड में होने वाले timeout से अलग है। यदि आपका क्लाइंट प्रतीक्षा करना बंद कर देता है, तो भी टास्क चलता रहता है; देखें Task Lifecycle।
समाधान:
- टास्क को फिर से बनाएँ। Timeout अक्सर अस्थायी होते हैं और एक नया टास्क सफल हो सकता है।
- अपने इनपुट को सरल बनाएँ। यदि पुनः प्रयास बार-बार विफल हो रहे हैं, तो हो सकता है कि आपका इनपुट बहुत जटिल हो। अपनी छवि या prompt में विवरण का स्तर कम करने का प्रयास करें। किस प्रकार के इनपुट को संसाधित करना कठिन होता है, इस पर मार्गदर्शन के लिए
image_too_complexदेखें।
format_conversion_failed
यह त्रुटि तब होती है जब जनरेट किया गया 3D मॉडल आपके अनुरोधित आउटपुट फ़ॉर्मेट में परिवर्तित नहीं किया जा सका। मॉडल सफलतापूर्वक जनरेट हो गया था, लेकिन रूपांतरण चरण विफल हो गया।
समाधान:
- अनुरोध को पुनः प्रयास करें।
- किसी भिन्न आउटपुट फ़ॉर्मेट को आज़माएँ। यदि कोई विशिष्ट फ़ॉर्मेट बार-बार विफल हो रहा है, तो अपनी आवश्यकताओं के अनुरूप किसी अन्य फ़ॉर्मेट पर स्विच करें।
सर्वोत्तम अभ्यास
- रिट्राई लॉजिक लागू करें। जब कोई टास्क
timeout,service_unavailableयाserver_errorत्रुटि के साथ विफल हो जाए, तो इसे एक्सपोनेंशियल बैकऑफ़ के साथ फिर से बनाएं। यदि इसके बजाय आपका अपना अनुरोध टाइमआउट हो गया है, तो नया टास्क न बनाएं: पहले मौजूदा टास्क की जांच करें (देखें Task Lifecycle)। - टास्क ID लॉग करें। डिबगिंग प्रयोजनों के लिए हमेशा टास्क ID लॉग करें। सहायता से संपर्क करते समय इसे शामिल करें।
- इनपुट्स को सत्यापित करें। सबमिशन से पहले सुनिश्चित करें कि आपकी इनपुट इमेज और मॉडल फ़ॉर्मेट आवश्यकताओं को पूरा करते हैं।