एरर

इस गाइड में, हम इस बारे में बात करेंगे कि जब आप 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

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

    • Name
      404 - Not Found
      Description

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

    • Name
      429 - Too Many Requests
      Description

      बहुत अधिक अनुरोध Meshy API को बहुत जल्दी हिट कर रहे हैं। विवरण के लिए कृपया रेट लिमिट्स गाइड देखें।

  • Name
    5xx
    Description

    एक 5xx स्टेटस कोड सर्वर एरर को दर्शाता है। यदि आप इसे देखते हैं, तो कृपया अधिक जानकारी के लिए हमारे स्टेटस पेज की जाँच करें और सहायता के लिए Discord के माध्यम से हमसे संपर्क करें।

उदाहरण: 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 जनरेशन मॉडल के लिए ज्यामितीय रूप से बहुत जटिल होता है।

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

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

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

मिश्रित बेरीज का एक क्रेटएक जटिल कैथेड्रल छतमचान के साथ निर्माणाधीन एक भवनएक हनीकॉम्ब जाली गोला

समाधान:

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

model_missing_uv

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

No UVs vs Good 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

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

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

  • खाली या भ्रष्ट मॉडल फाइलें
  • असमर्थित फाइल फॉर्मेट वेरिएशन (जैसे, ASCII FBX फाइलें, meshopt-संपीड़ित GLB)
  • अपलोड किए गए मॉडल में कोई मान्य 3D ऑब्जेक्ट नहीं मिला (जैसे, फाइल में केवल आर्मेचर, कैमरे, या लाइट्स शामिल हैं)
  • सामग्री जो सुरक्षा फिल्टर पास नहीं करती

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

moderation_blocked

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

समाधान:

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

timeout

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

समाधान:

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

format_conversion_failed

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

समाधान:

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

सर्वोत्तम प्रथाएँ

  1. पुनः प्रयास लॉजिक लागू करें। timeout और service_unavailable एरर के लिए, घातांकीय बैकऑफ पुनः प्रयास लॉजिक लागू करें।
  2. टास्क आईडी लॉग करें। डिबगिंग उद्देश्यों के लिए हमेशा टास्क आईडी लॉग करें। समर्थन से संपर्क करते समय इसे शामिल करें।
  3. इनपुट को मान्य करें। सुनिश्चित करें कि आपके इनपुट चित्र और मॉडल सबमिशन से पहले फॉर्मेट आवश्यकताओं को पूरा करते हैं।