रीसाइज़ API
रीसाइज़ API आपको मौजूदा 3D मॉडल को वास्तविक-दुनिया के आयामों के अनुसार रीसाइज़ करने की सुविधा देता है। आप एक सटीक ऊंचाई, सबसे लंबी भुजा की सीमा निर्दिष्ट कर सकते हैं, या AI को उपयुक्त आकार का स्वतः अनुमान लगाने दे सकते हैं।
Resize टास्क बनाएं
यह एंडपॉइंट एक नया resize टास्क बनाता है।
पैरामीटर
input_task_id या model_url में से केवल एक ही आवश्यक है। यदि दोनों दिए जाते हैं, तो input_task_id को प्राथमिकता मिलती है।
- 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. आउटपुट फॉर्मेट इनपुट मॉडल का मूल फॉर्मेट बनाए रखेगा।
बिल्कुल एक resize mode आवश्यक है: resize_height, resize_longest_side, या auto_size। ये तीनों पैरामीटर परस्पर अनन्य (mutually exclusive) हैं।
- 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
# 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"
}
एक Resize Task प्राप्त करें
यह एंडपॉइंट किसी resize task को उसकी ID के आधार पर प्राप्त करता है।
Parameters
- Name
- id
- Type
- path
- Description
जिस resize task को प्राप्त करना है, उसकी ID।
Returns
Resize Task ऑब्जेक्ट।
Request
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
}
रीसाइज़ टास्क डिलीट करें
यह एंडपॉइंट किसी रीसाइज़ टास्क को स्थायी रूप से डिलीट कर देता है, जिसमें उससे जुड़े सभी मॉडल और डेटा शामिल हैं। यह क्रिया अपरिवर्तनीय (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
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."
}
रीसाइज़ टास्क की सूची
यह एंडपॉइंट आपको रीसाइज़ टास्क की एक सूची प्राप्त करने की अनुमति देता है।
पैरामीटर
- 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
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
}
]
रीसाइज़ टास्क को स्ट्रीम करें
यह एंडपॉइंट Server-Sent Events (SSE) का उपयोग करके एक रीसाइज़ टास्क के लिए रीयल-टाइम अपडेट स्ट्रीम करता है।
पैरामीटर
- Name
- id
- Type
- path
- Description
स्ट्रीम करने के लिए रीसाइज़ टास्क का यूनिक आइडेंटिफ़ायर।
रिटर्न
Server-Sent Events के रूप में रीसाइज़ टास्क ऑब्जेक्ट्स की एक स्ट्रीम रिटर्न करता है।
PENDING या IN_PROGRESS टास्क के लिए, रिस्पॉन्स स्ट्रीम में केवल आवश्यक progress और status फ़ील्ड शामिल होंगी।
Request
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 लौटाता है।