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

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


POST/openapi/v1/print/analyze

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

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

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

पैरामीटर

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

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

लौटाता है

प्रतिक्रिया की result प्रॉपर्टी में नए बनाए गए analyze-printability टास्क का id होता है।

विफलता मोड

  • Name
    400 - Bad Request
    Description

    अनुरोध स्वीकार्य नहीं था। सामान्य कारण:

    • गुम पैरामीटर: न तो input_task_id और न ही model_url दिया गया था।
    • अमान्य UUID: input_task_id एक मान्य UUID नहीं है।
    • अमान्य मॉडल URL: model_url विकृत है, असमर्थित scheme का उपयोग करता है, या असमर्थित फ़ाइल एक्सटेंशन रखता है।
    • मॉडल फ़ाइल बहुत बड़ी है: model_url body 100 MB से अधिक हो गई।
    • टास्क सफल नहीं हुआ: संदर्भित टास्क अभी भी लंबित है, progress में है, या विफल हो गया है।
  • Name
    401 - Unauthorized
    Description

    प्रमाणीकरण विफल रहा। कृपया अपनी API की जाँचें।

  • Name
    403 - Forbidden
    Description

    टास्क मौजूद है लेकिन किसी दूसरे उपयोगकर्ता के स्वामित्व में है।

  • Name
    404 - Not Found
    Description

    सामान्य कारण:

    • टास्क मौजूद नहीं है या हटा दिया गया है।
    • टास्क Meshy 6 से पुराने मॉडल का उपयोग करता है, या उसका mode 3D asset उत्पन्न नहीं करता।
    • अंतर्निहित मॉडल फ़ाइल अब storage में उपलब्ध नहीं है।
  • Name
    429 - Too Many Requests
    Description

    आपने अपने pending-task कोटा या रेट लिमिट को पार कर लिया है।

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 फ़ील्ड तब तक null रहती है जब तक कार्य SUCCEEDED तक नहीं पहुँचता।

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 लौटाता है।

Request

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

Response

// 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: निर्माण समय के अनुसार अवरोही क्रम में सॉर्ट करें।

रिटर्न

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

Request

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

Response

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

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

यह एंडपॉइंट Server-Sent Events (SSE) का उपयोग करके analyze-printability कार्य के लिए रियल-टाइम अपडेट स्ट्रीम करता है।

पैरामीटर

  • Name
    id
    Type
    path
    Description

    स्ट्रीम करने के लिए analyze-printability कार्य का विशिष्ट पहचानकर्ता।

रिटर्न

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

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

    टास्क के लिए अद्वितीय पहचानकर्ता। हालांकि हम टास्क ids के लिए k-sortable UUID का उपयोग implementation detail के रूप में करते हैं, आपको id के फ़ॉर्मैट के बारे में कोई भी अनुमान नहीं लगाना चाहिए।

  • Name
    type
    Type
    string
    Description

    analyze-printability टास्क का प्रकार। मान print-analyze है।

  • Name
    status
    Type
    string
    Description

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

  • Name
    progress
    Type
    integer
    Description

    टास्क का progress। यदि टास्क अभी शुरू नहीं हुआ है, तो यह प्रॉपर्टी 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

      एरर-स्तर की समस्याओं की संख्या। एरर तब उठाए जाते हैं जब मॉडल watertight नहीं होता, उसमें non-positive volume होता है, या उसमें नॉन-मैनिफोल्ड किनारे होते हैं।

    • Name
      warning_count
      Type
      integer
      Description

      चेतावनी-स्तर की समस्याओं की संख्या। चेतावनियाँ तब उठाई जाती हैं जब मॉडल में डिजेनरेट फेस या holes होते हैं।

    • Name
      metrics
      Type
      object
      Description

      evaluator द्वारा लौटाए गए कच्चे ज्यामिति metrics।

      • Name
        is_watertight
        Type
        boolean
        Description

        true जब मेश में कोई boundary edges नहीं होते (यानी, बंद होता है)।

      • Name
        volume
        Type
        number
        Description

        मॉडल का आयतन घन मीटर में।

      • Name
        non_manifold_edges
        Type
        integer
        Description

        नॉन-मैनिफोल्ड किनारों की संख्या।

      • Name
        degenerate_faces
        Type
        integer
        Description

        डिजेनरेट फेस (शून्य-क्षेत्रफल या अमान्य फेस) की संख्या।

      • Name
        holes
        Type
        integer
        Description

        मेश में holes (boundary loops) की संख्या।

    • Name
      evaluated_at
      Type
      timestamp
      Description

      epoch के बाद मिलीसेकंड में, विश्लेषण की गणना कब की गई इसका टाइमस्टैंप।

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