एरर

इस गाइड में, हम इस बारे में बात करेंगे कि जब आप 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 से एक गैर-प्रतिबद्ध प्रतिक्रिया है। उदाहरण के लिए, नया टास्क बनाने का अनुरोध 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

      अनुरोधित संसाधन तक पहुँच निषिद्ध है। ऐसा तब हो सकता है जब आप क्लाइंट-साइड JavaScript कोड से सीधे Meshy API तक पहुँचने की कोशिश करते हैं, क्योंकि ब्राउज़र से Cross-Origin Resource Sharing (CORS) अनुरोधों की अनुमति नहीं है। ऐसे अनुरोधों के लिए सर्वर-साइड प्रॉक्सी का उपयोग करने पर विचार करें। अधिक जानकारी के लिए, MDN CORS गाइड देखें।

    • Name
      404 - Not Found
      Description

      अनुरोधित संसाधन मौजूद नहीं है। उदाहरण के लिए, जब आप किसी टास्क को उसके ID से प्राप्त करने की कोशिश करते हैं लेकिन अमान्य ID प्रदान करते हैं, तो आपको 404 स्टेटस कोड मिलेगा।

    • Name
      429 - Too Many Requests
      Description

      Meshy API पर बहुत तेज़ी से बहुत अधिक अनुरोध पहुँचे। विवरण के लिए कृपया 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 मौजूद होने पर मौजूद रहता है।

Error with details

{
  "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"
  }
}

Error without details

{
  "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

    प्रोसेसिंग के दौरान एक आंतरिक त्रुटि हुई। अनुरोध का पुनः प्रयास करें। यदि समस्या बनी रहती है, तो अपनी टास्क ID के साथ सपोर्ट से संपर्क करें।


त्रुटि कोड

जब code फ़ील्ड मौजूद होता है, तो यह एक विशिष्ट, कार्रवाई योग्य समस्या की पहचान करता है। नीचे प्रत्येक त्रुटि कोड के लिए पूर्ण संदर्भ दिया गया है।

image_too_complex

यह एरर तब होता है जब इनपुट इमेज या prompt ऐसे विषय का वर्णन करता है जो 3D जनरेशन मॉडल के प्रोसेस करने के लिए ज्यामितीय रूप से बहुत जटिल होता है।

सामान्य उदाहरणों में शामिल हैं:

  • छोटी वस्तुओं के घने ढेर (जैसे, फलों से भरा क्रेट, किताबों का ढेर)
  • जटिल दोहराए जाने वाले पैटर्न (जैसे, लैटिस संरचनाएँ, स्कैफोल्डिंग, वायर मेश)
  • जटिल भवन संरचनाएँ (जैसे, कई खिड़कियों और बालकनियों वाली बहु-मंज़िला इमारतें)
  • एक ही इमेज में कई अलग-अलग वस्तुएँ किसी एक विषय के बजाय

ऐसे इनपुट के उदाहरण जो संभवतः बहुत जटिल हैं:

मिश्रित बेरीज़ का एक क्रेटएक जटिल कैथेड्रल छतस्कैफोल्डिंग के साथ निर्माणाधीन एक इमारतएक हनीकॉम्ब लैटिस गोला

समाधान:

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

model_missing_uv

यह एरर तब होता है जब आप टेक्सचरिंग के लिए कोई मॉडल अपलोड करते हैं और enable_original_uv को true पर सेट किया गया होता है, लेकिन मॉडल में कोई UV निर्देशांक नहीं होते। UV निर्देशांक यह निर्धारित करते हैं कि 2D टेक्सचर आपके मॉडल की 3D सतह पर कैसे रैप होता है।

कोई UVs नहीं बनाम अच्छे UVs

समाधान:

सही समाधान इस बात पर निर्भर करता है कि आपने 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 जनरेट करते हैं।

अपर्याप्त UVs बनाम अच्छे UVs

समाधान:

  • यदि आपको अपना मूल UV लेआउट सुरक्षित रखना है: अपने 3D सॉफ़्टवेयर में मॉडल के UVs को फिर से अनरैप करें। सुनिश्चित करें कि UV आइलैंड्स UV स्पेस में ठीक से फैले हों, न कि किसी छोटे क्षेत्र में संकुचित हों।
  • यदि आपको विशिष्ट UV नियंत्रण की आवश्यकता नहीं है: enable_original_uv को छोड़ दें या इसे false पर सेट करें। सिस्टम अपने-आप एक नया UV लेआउट जनरेट करेगा। इसका समझौता यह है कि आप अपनी मूल सीम प्लेसमेंट खो देंगे, लेकिन अपने-आप जनरेट किए गए UVs में टेक्सचरिंग के लिए उचित कवरेज होगा।

invalid_input

यह fallback त्रुटि कोड है जब इनपुट validation में विफल हो जाता है लेकिन कोई अधिक विशिष्ट कोड लागू नहीं होता। message फ़ील्ड में विफलता का विशिष्ट कारण होता है।

सामान्य कारणों में शामिल हैं:

  • खाली या corrupted मॉडल फ़ाइलें
  • असमर्थित फ़ाइल फ़ॉर्मैट variations (जैसे, ASCII FBX फ़ाइलें, meshopt-संपीड़ित GLB)
  • अपलोड किए गए मॉडल में कोई मान्य 3D ऑब्जेक्ट नहीं मिला (जैसे, फ़ाइल में केवल armatures, cameras, या lights हैं)
  • ऐसा content जो safety filters को पास नहीं करता

समाधान: क्या गलत हुआ, इसके विशिष्ट विवरणों के लिए message फ़ील्ड देखें। सत्यापित करें कि आपकी इनपुट फ़ाइलें और parameters एंडपॉइंट की आवश्यकताओं से मेल खाते हैं।

moderation_blocked

यह त्रुटि तब होती है जब आपका prompt या संदर्भ चित्र AI सुरक्षा फ़िल्टर द्वारा अस्वीकार कर दिए जाते हैं। फ़िल्टर टेक्स्ट prompt और किसी भी संदर्भ चित्र, दोनों का साथ में मूल्यांकन करता है।

समाधान:

  • संकेतात्मक या संवेदनशील विवरण हटाने के लिए अपने टेक्स्ट prompt को फिर से लिखें।
  • यदि संदर्भ चित्र ऐसी सामग्री दर्शाते हैं जो सुरक्षा फ़िल्टर को ट्रिगर कर सकती है, तो उन्हें समायोजित करें।

timeout

इस त्रुटि का अर्थ है कि आपके कार्य का प्रोसेसिंग समय अनुमत सीमा से अधिक हो गया। ऐसा उच्च सिस्टम लोड के कारण या इसलिए हो सकता है क्योंकि इनपुट समय सीमा के भीतर प्रोसेस करने के लिए बहुत जटिल है।

समाधान:

  1. अनुरोध को फिर से आज़माएँ। timeout अक्सर अस्थायी होते हैं और फिर से कोशिश करने पर सफल हो सकते हैं।
  2. अपने इनपुट को सरल बनाएँ। यदि फिर से कोशिश करने पर भी विफलता बनी रहती है, तो आपका इनपुट बहुत जटिल हो सकता है। अपनी छवि या prompt में विवरण का स्तर कम करने की कोशिश करें। किन प्रकार के इनपुट प्रोसेस करने में अधिक कठिन होते हैं, इस बारे में मार्गदर्शन के लिए image_too_complex देखें।

format_conversion_failed

यह त्रुटि तब होती है जब जनरेट किए गए 3D मॉडल को आपके अनुरोधित आउटपुट फ़ॉर्मैट में परिवर्तित नहीं किया जा सका। मॉडल सफलतापूर्वक जनरेट हो गया था, लेकिन रूपांतरण चरण विफल रहा।

समाधान:

  1. अनुरोध को फिर से प्रयास करें।
  2. कोई अलग आउटपुट फ़ॉर्मैट आज़माएँ। यदि कोई विशिष्ट फ़ॉर्मैट बार-बार विफल हो रहा है, तो अपनी आवश्यकताओं के अनुरूप किसी अन्य फ़ॉर्मैट पर स्विच करें।

सर्वोत्तम अभ्यास

  1. retry logic लागू करें। timeout और service_unavailable एरर के लिए, exponential backoff retry logic लागू करें।
  2. task ID लॉग करें। debugging उद्देश्यों के लिए हमेशा task ID लॉग करें। support से संपर्क करते समय इसे शामिल करें।
  3. inputs validate करें। सुनिश्चित करें कि आपकी input images और models submission से पहले format requirements को पूरा करते हैं।