प्रिंट-योग्यता API का विश्लेषण करें

FDM प्रिंट-योग्यता के लिए 3D मॉडल का विश्लेषण करें — वाटरटाइटनेस, वॉल्यूम, छेद, नॉन-मैनिफोल्ड किनारे, और डिजेनरेट फेस।


POST/openapi/v1/print/analyze

प्रिंट-योग्यता विश्लेषण कार्य बनाएँ

यह एंडपॉइंट एक नया प्रिंट-योग्यता विश्लेषण कार्य बनाता है। यह कार्य एक 3D मॉडल का मूल्यांकन करता है और इसकी प्रिंट-योग्यता मेट्रिक्स की रिपोर्ट करता है।

यदि इनपुट कार्य में पहले से कैश की गई प्रिंट-योग्यता है, तो लौटाया गया कार्य तुरंत तैयार होता है और उस पर पहला GET विश्लेषण परिणाम लौटाएगा बिना वर्कर के माध्यम से जाए।

पैरामीटर

  • Name
    model_url
    Type
    string
    आवश्यक
    Description

    विश्लेषण के लिए 3D मॉडल का URL। समर्थित प्रारूप: .glb, .gltf, .obj, .fbx, .stl। अधिकतम फ़ाइल आकार: 100 MB। http, https, या data: URL का उपयोग करना चाहिए (डेटा URL एक्सटेंशन जांच को बायपास करते हैं)।

रिटर्न्स

प्रतिक्रिया की result प्रॉपर्टी में नए बनाए गए प्रिंट-योग्यता विश्लेषण कार्य का 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 एसेट का उत्पादन नहीं करता है।
    • अंतर्निहित मॉडल फ़ाइल अब स्टोरेज में उपलब्ध नहीं है।
  • Name
    429 - Too Many Requests
    Description

    आपने अपनी लंबित-कार्य कोटा या रेट लिमिट को पार कर लिया है।

Request

POST
/openapi/v1/print/analyze
# 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"
}

GET/openapi/v1/print/analyze/:id

प्रिंट-योग्यता विश्लेषण कार्य प्राप्त करें

यह एंडपॉइंट उसके ID द्वारा एक प्रिंट-योग्यता विश्लेषण कार्य को प्राप्त करता है।

पैरामीटर्स

  • Name
    id
    Type
    path
    Description

    प्राप्त करने के लिए प्रिंट-योग्यता विश्लेषण कार्य का ID।

रिटर्न्स

प्रिंट-योग्यता विश्लेषण कार्य ऑब्जेक्टprintability फ़ील्ड SUCCEEDED तक पहुँचने तक null होता है।

Request

GET
/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f
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
}

DELETE/openapi/v1/print/analyze/:id

प्रिंट-योग्यता विश्लेषण कार्य को हटाएं

यह एंडपॉइंट स्थायी रूप से प्रिंट-योग्यता विश्लेषण कार्य और इसके कैश्ड परिणाम को हटा देता है। यह क्रिया अपरिवर्तनीय है।

पथ पैरामीटर्स

  • Name
    id
    Type
    path
    Description

    हटाने के लिए प्रिंट-योग्यता विश्लेषण कार्य का ID।

रिटर्न्स

सफलता पर 200 OK रिटर्न करता है।

अनुरोध

DELETE
/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f
curl --request DELETE \
  --url https://api.meshy.ai/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

प्रतिक्रिया

// Returns 200 Ok on success.

GET/openapi/v1/print/analyze

प्रिंट-योग्यता विश्लेषण कार्यों की सूची

यह एंडपॉइंट आपको प्रिंट-योग्यता विश्लेषण कार्यों की सूची प्राप्त करने की अनुमति देता है।

पैरामीटर

वैकल्पिक विशेषताएँ

  • Name
    page_num
    Type
    integer
    Description

    पेजिनेशन के लिए पृष्ठ संख्या। 1 से शुरू होती है और डिफ़ॉल्ट रूप से 1 होती है।

  • Name
    page_size
    Type
    integer
    Description

    पृष्ठ आकार सीमा। डिफ़ॉल्ट रूप से 10 आइटम। अधिकतम अनुमत 50 आइटम हैं।

  • Name
    sort_by
    Type
    string
    Description

    छांटने के लिए फ़ील्ड। उपलब्ध मान:

    • +created_at: निर्माण समय के अनुसार आरोही क्रम में छांटें।
    • -created_at: निर्माण समय के अनुसार अवरोही क्रम में छांटें।

रिटर्न्स

प्रिंट-योग्यता विश्लेषण कार्य ऑब्जेक्ट्स की एक पेजिनेटेड सूची लौटाता है।

अनुरोध

GET
/openapi/v1/print/analyze
curl https://api.meshy.ai/openapi/v1/print/analyze?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"

प्रतिक्रिया

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

GET/openapi/v1/print/analyze/:id/stream

प्रिंट-योग्यता विश्लेषण कार्य को स्ट्रीम करें

यह एंडपॉइंट सर्वर-सेंट इवेंट्स (SSE) का उपयोग करके प्रिंट-योग्यता विश्लेषण कार्य के लिए रीयल-टाइम अपडेट स्ट्रीम करता है।

पैरामीटर्स

  • Name
    id
    Type
    path
    Description

    स्ट्रीम करने के लिए प्रिंट-योग्यता विश्लेषण कार्य के लिए अद्वितीय पहचानकर्ता।

रिटर्न्स

सर्वर-सेंट इवेंट्स के रूप में प्रिंट-योग्यता विश्लेषण कार्य ऑब्जेक्ट्स की एक स्ट्रीम लौटाता है।

PENDING या IN_PROGRESS कार्यों के लिए, प्रतिक्रिया स्ट्रीम केवल आवश्यक progress और status फ़ील्ड्स को शामिल करेगी। printability ब्लॉक केवल तब भेजा जाता है जब कार्य SUCCEEDED तक पहुँचता है।

Request

GET
/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream
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.
// For PENDING or IN_PROGRESS tasks, the response stream will not include all fields.
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

    कार्य के लिए अद्वितीय पहचानकर्ता। जबकि हम कार्य आईडी के लिए k-sortable UUID का उपयोग करते हैं, आपको आईडी के प्रारूप के बारे में कोई धारणा नहीं बनानी चाहिए।

  • Name
    type
    Type
    string
    Description

    प्रिंट-योग्यता विश्लेषण कार्य का प्रकार। इसका मान print-analyze है।

  • Name
    status
    Type
    string
    Description

    कार्य की स्थिति। संभावित मान हैं PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED में से एक।

  • Name
    progress
    Type
    integer
    Description

    कार्य की प्रगति। यदि कार्य अभी तक शुरू नहीं हुआ है, तो यह प्रॉपर्टी 0 होगी। एक बार कार्य सफल हो जाने पर, यह 100 हो जाएगा।

  • Name
    preceding_tasks
    Type
    integer
    Description

    पूर्ववर्ती कार्यों की संख्या।

  • 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
}