रीसाइज़ API

रीसाइज़ API आपको मौजूदा 3D मॉडल को वास्तविक-दुनिया के आयामों के अनुसार रीसाइज़ करने की सुविधा देता है। आप एक सटीक ऊंचाई, सबसे लंबी भुजा की सीमा निर्दिष्ट कर सकते हैं, या AI को उपयुक्त आकार का स्वतः अनुमान लगाने दे सकते हैं।


POST/openapi/v1/resize

Resize टास्क बनाएं

यह एंडपॉइंट एक नया resize टास्क बनाता है।

पैरामीटर

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

    उस पूर्ण हो चुके Meshy टास्क की ID जिसके मॉडल का आकार आप बदलना चाहते हैं। टास्क का status SUCCEEDED होना चाहिए। आउटपुट फॉर्मेट GLB होगा।

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

    किसी 3D मॉडल फ़ाइल की ओर इशारा करने वाला सार्वजनिक रूप से सुलभ URL या data URI। समर्थित फॉर्मेट: .glb, .gltf, .obj, .fbx, .stl. Data URIs के लिए, MIME type का उपयोग करें: application/octet-stream. आउटपुट फॉर्मेट इनपुट मॉडल का मूल फॉर्मेट बनाए रखेगा।

  • Name
    resize_height
    Type
    number
    Description

    मॉडल का आकार मीटर में मापी गई एक विशिष्ट ऊंचाई तक बदलें।

  • Name
    resize_longest_side
    Type
    number
    Description

    मॉडल का आकार इस तरह बदलें कि उसका सबसे लंबा पक्ष इस मान से मेल खाए, जिसे मीटर में मापा जाता है। आस्पेक्ट रेशियो (aspect ratio) बरकरार रहता है।

  • Name
    auto_size
    Type
    boolean
    Description

    जब इसे true पर सेट किया जाता है, तो सेवा AI vision का उपयोग करके ऑब्जेक्ट की वास्तविक दुनिया की ऊंचाई का स्वतः अनुमान लगाती है और उसके अनुसार मॉडल का आकार बदलती है। जब तक origin_at को स्पष्ट रूप से सेट न किया जाए, ओरिजिन डिफ़ॉल्ट रूप से bottom होगा।

  • Name
    origin_at
    Type
    string
    डिफ़ॉल्ट bottom
    Description

    आकार बदलने के बाद ओरिजिन की स्थिति।

    उपलब्ध मान: bottom, center.

रिटर्न मान

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

विफलता के तरीके

  • 400 - Bad Request

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

  • पैरामीटर गायब: model_url या input_task_id में से एक अवश्य दिया जाना चाहिए।
  • resize mode गायब: resize_height, resize_longest_side, या auto_size में से कम से कम एक निर्दिष्ट किया जाना चाहिए।
  • परस्पर अनन्य पैरामीटर: resize_height, resize_longest_side, और auto_size को एक साथ नहीं जोड़ा जा सकता।
  • अमान्य इनपुट टास्क: input_task_id को किसी सफल टास्क का संदर्भ देना चाहिए।
  • अमान्य मॉडल फॉर्मेट: model_url एक असमर्थित एक्सटेंशन वाली फ़ाइल की ओर इशारा करता है।
  • अनुपलब्ध URL: model_url को डाउनलोड नहीं किया जा सका।
  • 401 - Unauthorized

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

  • 402 - Payment Required

इस टास्क को करने के लिए पर्याप्त क्रेडिट नहीं हैं।

  • 429 - Too Many Requests

आपने अपनी रेट लिमिट पार कर ली है।

Request

POST
/openapi/v1/resize
# Simple: resize to a specific height
curl https://api.meshy.ai/openapi/v1/resize \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
    "input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "resize_height": 1.8
  }'

# Advanced: resize longest side with custom origin
curl https://api.meshy.ai/openapi/v1/resize \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
    "model_url": "https://example.com/model.glb",
    "resize_longest_side": 2.0,
    "origin_at": "center"
  }'

Response

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

GET/openapi/v1/resize/:id

एक Resize Task प्राप्त करें

यह एंडपॉइंट किसी resize task को उसकी ID के आधार पर प्राप्त करता है।

Parameters

  • Name
    id
    Type
    path
    Description

    जिस resize task को प्राप्त करना है, उसकी ID।

Returns

Resize Task ऑब्जेक्ट।

Request

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

Response

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "resize",
  "model_urls": {
      "glb": "https://assets.meshy.ai/.../model.glb?Expires=..."
  },
  "progress": 100,
  "status": "SUCCEEDED",
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "task_error": null,
  "consumed_credits": 1
}

DELETE/openapi/v1/resize/:id

रीसाइज़ टास्क डिलीट करें

यह एंडपॉइंट किसी रीसाइज़ टास्क को स्थायी रूप से डिलीट कर देता है, जिसमें उससे जुड़े सभी मॉडल और डेटा शामिल हैं। यह क्रिया अपरिवर्तनीय (irreversible) है।

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

  • 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/resize/:id
curl --request DELETE \
  --url https://api.meshy.ai/openapi/v1/resize/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/resize

रीसाइज़ टास्क की सूची

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

पैरामीटर

  • Name
    page_num
    Type
    integer
    डिफ़ॉल्ट 1
    Description

    पेजिनेशन के लिए पेज नंबर।

  • Name
    page_size
    Type
    integer
    डिफ़ॉल्ट 10
    Description

    पेज साइज़ लिमिट। अधिकतम अनुमत 100 आइटम है।

  • Name
    sort_by
    Type
    string
    Description

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

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

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

द रीसाइज़ टास्क ऑब्जेक्ट्स की एक पेजिनेटेड सूची लौटाता है।

Request

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

Response

[
  {
    "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
    "type": "resize",
    "model_urls": {
      "glb": "https://assets.meshy.ai/.../model.glb?Expires=..."
    },
    "progress": 100,
    "status": "SUCCEEDED",
    "created_at": 1699999999000,
    "started_at": 1700000000000,
    "finished_at": 1700000001000,
    "task_error": null,
    "consumed_credits": 1
  }
]

GET/openapi/v1/resize/:id/stream

रीसाइज़ टास्क को स्ट्रीम करें

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

पैरामीटर

  • Name
    id
    Type
    path
    Description

    स्ट्रीम करने के लिए रीसाइज़ टास्क का यूनिक आइडेंटिफ़ायर।

रिटर्न

Server-Sent Events के रूप में रीसाइज़ टास्क ऑब्जेक्ट्स की एक स्ट्रीम रिटर्न करता है।

PENDING या IN_PROGRESS टास्क के लिए, रिस्पॉन्स स्ट्रीम में केवल आवश्यक progress और status फ़ील्ड शामिल होंगी।

Request

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

Response Stream

// Message event examples illustrate task progress.
event: message
data: {
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "progress": 0,
  "status": "PENDING"
}

event: message
data: {
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "resize",
  "model_urls": {
    "glb": "https://assets.meshy.ai/.../model.glb?Expires=..."
  },
  "progress": 100,
  "status": "SUCCEEDED",
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "task_error": null,
  "consumed_credits": 1
}

The Resize Task Object

Resize Task ऑब्जेक्ट एक रीसाइज़ जॉब को दर्शाता है।

Properties

  • id · string

टास्क के लिए यूनीक आइडेंटिफ़ायर।

  • type · string

टास्क का प्रकार। इसका मान resize है।

  • model_urls · object

रीसाइज़ की गई मॉडल फ़ाइल के लिए डाउनलोड योग्य URL। input_task_id का उपयोग करने पर, आउटपुट हमेशा GLB होता है। model_url का उपयोग करने पर, आउटपुट मूल फ़ॉर्मेट को बनाए रखता है।

  • progress · integer

टास्क की progress (0-100)।

  • status · string

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

  • preceding_tasks · integer

पूर्ववर्ती टास्क की संख्या। यह केवल तब मायने रखता है जब स्थिति PENDING हो।

  • created_at · timestamp

टास्क बनाए जाने का टाइमस्टैंप, मिलीसेकंड में।

  • started_at · timestamp

टास्क शुरू होने का टाइमस्टैंप, मिलीसेकंड में। यदि शुरू नहीं हुआ है तो 0।

  • finished_at · timestamp

टास्क समाप्त होने का टाइमस्टैंप, मिलीसेकंड में। यदि समाप्त नहीं हुआ है तो 0।

  • task_error · object

यदि टास्क विफल हो जाता है तो एरर ऑब्जेक्ट। अधिक विवरण के लिए Errors देखें।

  • consumed_credits · integer

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