प्रिंट-योग्यता मरम्मत API

FDM प्रिंट-योग्यता के लिए किसी 3D मॉडल की मरम्मत करें — नॉन-मैनिफोल्ड किनारे, डिजेनरेट फेस, छेद, और अन्य topology समस्याओं को ठीक करें ताकि मेश प्रिंट के लिए तैयार हो।


POST/openapi/v1/print/repair

प्रिंट-योग्यता मरम्मत टास्क बनाएँ

यह एंडपॉइंट एक नया रीपेयर-प्रिंटेबिलिटी टास्क बनाता है। यह टास्क किसी 3D मॉडल पर topology मरम्मत चलाता है और एक वॉटरटाइट, प्रिंट-रेडी संस्करण लौटाता है।

आउटपुट फ़ॉर्मैट इनपुट फ़ॉर्मैट से मेल खाता है। यदि आप model_url के माध्यम से .stl सबमिट करते हैं, तो रिस्पॉन्स का model_urls.stl मरम्मत किए गए मेश को रखेगा और बाकी फ़ॉर्मैट फ़ील्ड खाली रहेंगे। input_task_id पाथ हमेशा सोर्स टास्क का GLB पढ़ता है, इसलिए आउटपुट .glb होता है।

पैरामीटर

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

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

  • Name
    alpha_thumbnail
    Type
    boolean
    डिफ़ॉल्ट false
    Description

    जब true सेट किया जाता है, तो टास्क प्रिव्यू का एक पारदर्शी-बैकग्राउंड (RGBA) संस्करण भी रेंडर करता है और इसे GET रिस्पॉन्स पर alpha_thumbnail_url के रूप में लौटाता है। मौजूदा thumbnail_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 से अधिक थी।
    • टास्क सफल नहीं हुआ: संदर्भित टास्क अभी भी pending, प्रगति में, या विफल है।
    • GLB गायब है: संदर्भित टास्क में मरम्मत के लिए कोई GLB असेट नहीं है।
  • Name
    401 - Unauthorized
    Description

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

  • Name
    402 - Payment Required
    Description

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

    • फ्री प्लान: टास्क बनाने के लिए पेड प्लान आवश्यक है। सब्सक्रिप्शन पेज पर अपग्रेड करें।
    • अपर्याप्त क्रेडिट: वर्कस्पेस क्रेडिट सीमा पूरी हो गई थी।
  • Name
    404 - Not Found
    Description

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

  • Name
    429 - Too Many Requests
    Description

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

Request

POST
/openapi/v1/print/repair
# Repair an existing task
curl https://api.meshy.ai/openapi/v1/print/repair \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
    "input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578"
  }'

# Or repair a model URL directly
curl https://api.meshy.ai/openapi/v1/print/repair \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
    "model_url": "https://example.com/model.stl"
  }'

Response

{
  "result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}

GET/openapi/v1/print/repair/:id

प्रिंट-योग्यता मरम्मत टास्क प्राप्त करें

यह एंडपॉइंट किसी प्रिंट-योग्यता मरम्मत टास्क को उसकी ID से प्राप्त करता है।

पैरामीटर

  • Name
    id
    Type
    path
    Description

    प्राप्त करने के लिए प्रिंट-योग्यता मरम्मत टास्क की ID।

रिटर्न वैल्यू

प्रिंट-योग्यता मरम्मत टास्क ऑब्जेक्ट। जब तक टास्क SUCCEEDED स्थिति तक नहीं पहुँच जाता, model_urls ब्लॉक खाली रहता है। केवल इनपुट फ़ॉर्मेट से मेल खाने वाला model_urls फ़ील्ड ही भरा जाता है।

Request

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

Response

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "print-repair",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000030000,
  "expires_at": 1715725401000,
  "task_error": null,
  "model_urls": {
    "glb": "",
    "gltf": "",
    "fbx": "",
    "obj": "",
    "stl": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.stl?Expires=***",
    "usdz": "",
    "3mf": "",
    "mtl": ""
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
  "texture_urls": [],
  "consumed_credits": 10
}

DELETE/openapi/v1/print/repair/:id

प्रिंट-योग्यता मरम्मत कार्य हटाएँ

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

पथ पैरामीटर

  • Name
    id
    Type
    path
    Description

    हटाए जाने वाले प्रिंट-योग्यता मरम्मत कार्य की ID।

कार्य की स्थिति

जो कार्य अभी भी PENDING है, उसे हटा दिया जाता है और बनाते समय खर्च हुए क्रेडिट वापस कर दिए जाते हैं।

जो कार्य पहले से IN_PROGRESS है, उसे हटाया नहीं जा सकता: अनुरोध को 409 Conflict के साथ अस्वीकार कर दिया जाता है और कार्य चलता रहता है। जिस कार्य को वर्कर पहले ही शुरू कर चुका है, उसके क्रेडिट वापसी योग्य नहीं होते, इसलिए बीच में उसे हटाने से आपको क्रेडिट और परिणाम दोनों गँवाने पड़ेंगे। इसके SUCCEEDED, FAILED या CANCELED तक पहुँचने की प्रतीक्षा करें, फिर उसे हटाएँ।

किसी अंतिम स्थिति (SUCCEEDED, FAILED या CANCELED) में मौजूद कार्य को बिना किसी वापसी के हटा दिया जाता है।

रिटर्न

सफल होने पर 200 OK लौटाता है, या जब कार्य IN_PROGRESS हो तो 409 Conflict लौटाता है।

Request

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

Response

// 200 OK on success, with an empty body.
//
// 409 Conflict when the task is IN_PROGRESS — the task is left running:
{
  "message": "Task is IN_PROGRESS and cannot be deleted. Credits for a task the worker has already started are not refundable; wait for it to reach SUCCEEDED, FAILED or CANCELED, then delete it."
}

GET/openapi/v1/print/repair

प्रिंट-योग्यता मरम्मत कार्यों की सूची

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

पैरामीटर

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

  • Name
    page_num
    Type
    integer
    Description

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

  • Name
    page_size
    Type
    integer
    Description

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

  • Name
    sort_by
    Type
    string
    Description

    जिस फ़ील्ड के अनुसार क्रमबद्ध किया जाना है। उपलब्ध मान:

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

रिटर्न

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

Request

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

Response

[
  {
    "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
    "type": "print-repair",
    "status": "SUCCEEDED",
    "progress": 100,
    "preceding_tasks": 0,
    "created_at": 1699999999000,
    "started_at": 1700000000000,
    "finished_at": 1700000030000,
    "expires_at": 1715725401000,
    "task_error": null,
    "model_urls": {
      "glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
      "gltf": "",
      "fbx": "",
      "obj": "",
      "stl": "",
      "usdz": "",
      "3mf": "",
      "mtl": ""
    },
    "thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
    "texture_urls": [],
    "consumed_credits": 10
  }
]

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

प्रिंट-योग्यता मरम्मत टास्क को स्ट्रीम करें

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

पैरामीटर

  • Name
    id
    Type
    path
    Description

    जिस रिपेयर-प्रिंटेबिलिटी टास्क को स्ट्रीम करना है, उसका यूनीक पहचानकर्ता।

रिटर्न

Repair Printability Task Objects की एक स्ट्रीम को Server-Sent Events के रूप में लौटाता है।

प्रत्येक फ्रेम उस चरण के लिए पूरा टास्क ऑब्जेक्ट लेकर आता है — बिल्कुल वैसा ही स्वरूप जो Get एंडपॉइंट लौटाता है — इसलिए जब तक टास्क PENDING या IN_PROGRESS में है आउटपुट फ़ील्ड्स बस अभी भरे नहीं गए होते (null, [] या {}) और finished_at का मान null होता है। model_urls ब्लॉक तभी भेजा जाता है जब टास्क SUCCEEDED स्थिति तक पहुँच जाता है।

Request

GET
/openapi/v1/print/repair/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream
curl -N https://api.meshy.ai/openapi/v1/print/repair/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.
// Every frame is the full task object; fields not yet populated are null / empty.
// The PENDING frame below is abbreviated to the fields that change.
event: message
data: {
  "id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
  "progress": 0,
  "status": "PENDING"
}

event: message
data: {
  "id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
  "type": "print-repair",
  "status": "SUCCEEDED",
  "progress": 100,
  "preceding_tasks": 0,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000030000,
  "expires_at": 1715725401000,
  "task_error": null,
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/a43b5c6d-7e8f-901a-234b-567c890d1e2f/output/model.glb?Expires=***",
    "gltf": "",
    "fbx": "",
    "obj": "",
    "stl": "",
    "usdz": "",
    "3mf": "",
    "mtl": ""
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/a43b5c6d-7e8f-901a-234b-567c890d1e2f/output/preview.png?Expires=***",
  "texture_urls": [],
  "consumed_credits": 10
}

प्रिंट-योग्यता मरम्मत टास्क ऑब्जेक्ट

  • Name
    id
    Type
    string
    Description

    टास्क के लिए यूनीक पहचानकर्ता। हालांकि हम टास्क आईडी के लिए इम्प्लीमेंटेशन डिटेल के रूप में k-sortable UUID का उपयोग करते हैं, आपको आईडी के फॉर्मेट के बारे में कोई धारणा नहीं बनानी चाहिए।

  • Name
    type
    Type
    string
    Description

    प्रिंट-योग्यता मरम्मत टास्क का प्रकार। इसका मान print-repair है।

  • 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

    टास्क का परिणाम सिस्टम से कब समाप्त (expire) होगा, उसका टाइमस्टैंप, मिलीसेकंड में। यदि टास्क अभी समाप्त नहीं हुआ है तो 0।

  • Name
    task_error
    Type
    object
    Description

    यदि टास्क विफल हो गया है तो एरर की जानकारी। यदि टास्क विफल नहीं हुआ है तो यह प्रॉपर्टी null है। अधिक जानकारी के लिए एरर देखें।

    • Name
      message
      Type
      string
      Description

      एरर संदेश जो बताता है कि क्या गलत हुआ।

  • Name
    model_urls
    Type
    object
    Description

    मरम्मत किए गए 3D मॉडल के डाउनलोड करने योग्य URL। केवल इनपुट फॉर्मेट से मेल खाने वाली फ़ील्ड ही भरी जाती है; अन्य फॉर्मेट फ़ील्ड खाली स्ट्रिंग होती हैं।

    • Name
      glb
      Type
      string
      Description

      मरम्मत किए गए GLB का डाउनलोड करने योग्य URL। यह तब भरा जाता है जब इनपुट GLB था या जब input_task_id का उपयोग किया गया था।

    • Name
      gltf
      Type
      string
      Description

      मरम्मत किए गए GLTF का डाउनलोड करने योग्य URL। यह तब भरा जाता है जब इनपुट एक GLTF अपलोड था।

    • Name
      fbx
      Type
      string
      Description

      मरम्मत किए गए FBX का डाउनलोड करने योग्य URL। यह तब भरा जाता है जब इनपुट एक FBX अपलोड था।

    • Name
      obj
      Type
      string
      Description

      मरम्मत किए गए OBJ का डाउनलोड करने योग्य URL। यह तब भरा जाता है जब इनपुट एक OBJ अपलोड था।

    • Name
      stl
      Type
      string
      Description

      मरम्मत किए गए STL का डाउनलोड करने योग्य URL। यह तब भरा जाता है जब इनपुट एक STL अपलोड था।

    • Name
      usdz
      Type
      string
      Description

      USDZ आउटपुट के लिए आरक्षित। प्रिंट-योग्यता मरम्मत टास्क के लिए हमेशा एक खाली स्ट्रिंग।

    • Name
      3mf
      Type
      string
      Description

      3MF आउटपुट के लिए आरक्षित। प्रिंट-योग्यता मरम्मत टास्क के लिए हमेशा एक खाली स्ट्रिंग।

    • Name
      mtl
      Type
      string
      Description

      MTL आउटपुट के लिए आरक्षित। प्रिंट-योग्यता मरम्मत टास्क के लिए हमेशा एक खाली स्ट्रिंग।

  • Name
    thumbnail_url
    Type
    string
    Description

    मरम्मत किए गए मॉडल से रेंडर की गई प्रीव्यू इमेज का URL।

  • Name
    alpha_thumbnail_url
    Type
    string
    Description

    thumbnail_url के पारदर्शी-बैकग्राउंड (RGBA) संस्करण का डाउनलोड करने योग्य URL। यह केवल तभी मौजूद होता है जब टास्क alpha_thumbnail: true के साथ बनाया गया था और पारदर्शी प्रीव्यू सफलतापूर्वक रेंडर हुआ था; अन्यथा यह फ़ील्ड छोड़ दी जाती है।

  • Name
    texture_urls
    Type
    array
    Description

    हमेशा एक खाली array। मरम्मत केवल इनपुट ज्यामिति को संरक्षित रखती है और टेक्सचर को दोबारा बेक नहीं करती।

  • Name
    consumed_credits
    Type
    integer
    Description

    इस टास्क द्वारा उपयोग किए गए क्रेडिट की संख्या। टास्क के SUCCEEDED तक पहुंचने पर 10। FAILED टास्क के लिए 0 लौटाता है (विफलता पर क्रेडिट वापस कर दिए जाते हैं)।

The Repair Printability Task Object

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "print-repair",
  "status": "SUCCEEDED",
  "progress": 100,
  "preceding_tasks": 0,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000030000,
  "expires_at": 1715725401000,
  "task_error": null,
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
    "gltf": "",
    "fbx": "",
    "obj": "",
    "stl": "",
    "usdz": "",
    "3mf": "",
    "mtl": ""
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
  "texture_urls": [],
  "consumed_credits": 10
}