रीसाइज़ API
रीसाइज़ API आपको मौजूदा 3D मॉडल को वास्तविक-दुनिया के आयामों में रीसाइज़ करने की अनुमति देता है। आप एक सटीक ऊंचाई, एक सबसे लंबे-पक्ष की सीमा निर्दिष्ट कर सकते हैं, या AI को उचित आकार का स्वतः अनुमान लगाने दे सकते हैं।
रीसाइज़ टास्क बनाएं
यह एंडपॉइंट एक नया रीसाइज़ टास्क बनाता है।
यह टास्क बैकग्राउंड में चलता है। इसमें आमतौर पर कितना समय लगता है, यह जानने के लिए देखें Processing Times।
पैरामीटर
input_task_id या model_url में से केवल एक आवश्यक है। यदि दोनों दिए जाते हैं, तो input_task_id को प्राथमिकता मिलती है।
- Name
- input_task_id
- Type
- string
- आवश्यक
- Description
उस पूर्ण हो चुके Meshy टास्क की ID जिसके मॉडल को आप रीसाइज़ करना चाहते हैं। टास्क की स्थिति
SUCCEEDEDहोनी चाहिए। आउटपुट फॉर्मेट GLB होगा।
- Name
- model_url
- Type
- string
- आवश्यक
- Description
3D मॉडल फ़ाइल की ओर इशारा करने वाला एक सार्वजनिक रूप से एक्सेस योग्य URL या data URI। समर्थित फॉर्मेट:
.glb,.gltf,.obj,.fbx,.stl। Data URIs के लिए, इस MIME type का उपयोग करें:application/octet-stream। एक.glb,.obj,.fbxया.stlURL आउटपुट में अपना फॉर्मेट बनाए रखता है; एक.gltfURL या data URI, GLB उत्पन्न करता है।अधिकतम फ़ाइल आकार:
httpयाhttpsURL के लिए 400 MB,data:URI के लिए 100 MB।100 MB से बड़ी GLB, glTF, FBX या OBJ फ़ाइल में अधिकतम 10,000,000 फेस हो सकते हैं। फेस को त्रिभुज के रूप में गिना जाता है: एक क्वाड को 2 के रूप में गिना जाता है, और एक से अधिक बार बनाई गई मेश को प्रत्येक प्रति के लिए एक बार गिना जाता है। 100 MB से बड़ी होने पर, FBX फ़ाइल बाइनरी FBX 7.1 या उससे नई होनी चाहिए, और GLB या glTF फ़ाइल Draco कम्प्रेशन का उपयोग नहीं करनी चाहिए।
बिल्कुल एक रीसाइज़ mode आवश्यक है: resize_height, resize_longest_side, या auto_size। ये तीन पैरामीटर परस्पर अनन्य (mutually exclusive) हैं।
- Name
- resize_height
- Type
- number
- Description
मॉडल को मीटर में मापी गई एक विशिष्ट ऊंचाई तक रीसाइज़ करें।
- Name
- resize_longest_side
- Type
- number
- Description
मॉडल को इस तरह रीसाइज़ करें कि उसकी सबसे लंबी भुजा इस मान से मेल खाए, जिसे मीटर में मापा जाता है। आस्पेक्ट रेशियो बरकरार रखा जाता है।
- Name
- auto_size
- Type
- boolean
- Description
जब
trueपर सेट किया जाता है, तो सेवा ऑब्जेक्ट की वास्तविक दुनिया की ऊंचाई का स्वतः अनुमान लगाने के लिए AI विज़न का उपयोग करती है और उसके अनुसार मॉडल को रीसाइज़ करती है। जब तकorigin_atको स्पष्ट रूप से सेट नहीं किया जाता, तब तक ओरिजिन डिफ़ॉल्ट रूप सेbottomहोगा।
- Name
- origin_at
- Type
- string
- डिफ़ॉल्ट bottom
- Description
रीसाइज़िंग के बाद ओरिजिन की स्थिति।
उपलब्ध मान:
bottom,center।
रिटर्न
रिस्पॉन्स के result प्रॉपर्टी में नए बनाए गए रीसाइज़ टास्क की id शामिल होती है।
विफलता के तरीके
400 - Bad Request
रिक्वेस्ट स्वीकार्य नहीं थी। सामान्य कारण:
- पैरामीटर गायब है:
model_urlयाinput_task_idमें से कोई एक अवश्य दिया जाना चाहिए। - रीसाइज़ mode गायब है:
resize_height,resize_longest_side, याauto_sizeमें से कम से कम एक निर्दिष्ट किया जाना चाहिए। - परस्पर अनन्य पैरामीटर:
resize_height,resize_longest_side, औरauto_sizeको संयोजित नहीं किया जा सकता। - अमान्य इनपुट टास्क:
input_task_idको एक सफल टास्क को संदर्भित करना चाहिए। - अमान्य मॉडल फॉर्मेट:
model_urlएक असमर्थित एक्सटेंशन वाली फ़ाइल की ओर इशारा करता है। - पहुंच योग्य नहीं URL:
model_urlको डाउनलोड नहीं किया जा सका। - मॉडल फ़ाइल बहुत बड़ी है:
model_urlफ़ाइल 400 MB (httpयाhttpsURL) या 100 MB (data:URI) से अधिक है। - बहुत अधिक फेस:
model_urlफ़ाइल 100 MB से बड़ी है और इसमें 10,000,000 से अधिक फेस हैं। फेस की संख्या घटाएं, फिर फ़ाइल को दोबारा भेजें। - ASCII FBX 100 MB से बड़ी है:
model_urlफ़ाइल 100 MB से बड़ी ASCII FBX है। इसे बाइनरी FBX या GLB के रूप में भेजें। - अपठनीय मॉडल फ़ाइल:
model_urlफ़ाइल 100 MB से बड़ी है और इसका हेडर पढ़ा नहीं जा सकता, उदाहरण के लिए एक Draco-कम्प्रेस्ड GLB या glTF, या 7.1 से पुरानी बाइनरी FBX। - मॉडल हेडर बहुत जटिल है:
model_urlफ़ाइल 100 MB से बड़ी है और इसके हेडर में जांचने के लिए बहुत अधिक मेश, नोड या रिकॉर्ड हैं। फ़ाइल में ऑब्जेक्ट्स की संख्या घटाएं, फिर इसे दोबारा भेजें।
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"
}
रीसाइज़ टास्क प्राप्त करें
यह एंडपॉइंट किसी रीसाइज़ टास्क को उसकी ID के ज़रिए प्राप्त करता है।
पैरामीटर
- Name
- id
- Type
- path
- Description
प्राप्त किए जाने वाले रीसाइज़ टास्क की ID।
रिटर्न
रीसाइज़ टास्क ऑब्जेक्ट।
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
}
रीसाइज़ टास्क डिलीट करें
यह एंडपॉइंट किसी रीसाइज़ टास्क को, उससे जुड़े सभी मॉडल्स और डेटा सहित, स्थायी रूप से डिलीट कर देता है। यह कार्रवाई अपरिवर्तनीय है।
पाथ पैरामीटर्स
- 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 ऑब्जेक्ट एक resize जॉब को दर्शाता है।
Properties
id· string
टास्क के लिए यूनीक पहचानकर्ता।
type· string
टास्क का प्रकार। इसका मान resize होता है।
model_urls· object
रीसाइज़ की गई मॉडल फ़ाइल के लिए डाउनलोड करने योग्य URL। input_task_id का उपयोग करने पर, आउटपुट हमेशा GLB होता है। model_url का उपयोग करने पर, .glb, .obj, .fbx या .stl इनपुट अपना फॉर्मेट बनाए रखता है, और .gltf इनपुट या एक Data URI GLB जनरेट करता है।
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
यदि टास्क विफल हो जाता है तो एरर ऑब्जेक्ट। अधिक जानकारी के लिए एरर देखें।
consumed_credits· integer
इस टास्क द्वारा खर्च किए गए क्रेडिट की संख्या (प्रति resize टास्क 1 क्रेडिट)। FAILED टास्क के लिए 0 रिटर्न करता है।