रीसाइज़ API
किसी 3D मॉडल को मीटर में वास्तविक-विश्व आकार में रीसाइज़ करें। इसकी ऊंचाई या इसके सबसे लंबे साइड की लंबाई सेट करें, या Meshy को ऑब्जेक्ट की वास्तविक-विश्व ऊंचाई का अनुमान लगाने दें।
Resize टास्क बनाएं
एक Resize टास्क बनाता है। टास्क बैकग्राउंड में चलता है। टास्क में आमतौर पर कितना समय लगता है, यह जानने के लिए Processing times देखें।
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"
}
पैरामीटर
- Name
- input_task_id
- Type
- string
- आवश्यक
- Description
आवश्यक है जब तक आप
model_urlन भेजें। उस टास्क की ID जिसने 3D मॉडल बनाया, उदाहरण के लिए टेक्स्ट से 3D, इमेज से 3D, रीमेश, या रीटेक्सचर टास्क। टास्क API से आया होना चाहिए और उसकी स्थितिSUCCEEDEDहोनी चाहिए। Meshy रीसाइज़ किए गए मॉडल को GLB फ़ाइल के रूप में लौटाता है।
- Name
- model_url
- Type
- string
- आवश्यक
- Description
आवश्यक है जब तक आप
input_task_idन भेजें। रीसाइज़ करने के लिए मॉडल, एक सार्वजनिक URL या Data URI के रूप में। यदि आप दोनों भेजते हैं, तो Meshyinput_task_idका उपयोग करता है।मॉडल
httpयाhttpsURL से अधिकतम 400 MB का, या Data URI के रूप में 100 MB का GLB, glTF, OBJ, FBX, या STL फ़ाइल होनी चाहिए। Data URI के लिए, MIME typeapplication/octet-streamका उपयोग करें।100 MB से बड़ी फ़ाइल को इन नियमों का भी पालन करना चाहिए:
- एक GLB, glTF, FBX, या OBJ फ़ाइल में अधिकतम 10,000,000 फेस हो सकते हैं। Meshy फेस को त्रिभुज के रूप में गिनता है, इसलिए एक क्वाड 2 के रूप में गिना जाता है, और एक से अधिक बार खींचा गया मेश प्रति कॉपी एक बार गिना जाता है।
- एक FBX फ़ाइल बाइनरी FBX 7.1 या नया होना चाहिए।
- एक GLB या glTF फ़ाइल को Draco कंप्रेशन का उपयोग नहीं करना चाहिए।
एक GLB, OBJ, FBX, या STL फ़ाइल परिणाम में अपना फॉर्मेट बनाए रखती है। एक
.gltfफ़ाइल या Data URI GLB के रूप में वापस आती है।
resize_height, resize_longest_side, या auto_size में से ठीक एक भेजें। इनमें से कोई भी न भेजने, या एक से अधिक भेजने पर 400 लौटता है।
- Name
- resize_height
- Type
- number
- Description
मॉडल की नई ऊँचाई मीटर में, जो 0 से अधिक हो। नेगेटिव वैल्यू
400लौटाता है।
- Name
- resize_longest_side
- Type
- number
- Description
मॉडल के सबसे लंबे पक्ष की नई लंबाई मीटर में, जो 0 से अधिक हो। नेगेटिव वैल्यू
400लौटाता है। Meshy मॉडल का आस्पेक्ट रेशियो बनाए रखता है।
- Name
- auto_size
- Type
- boolean
- Description
AI विज़न के साथ ऑब्जेक्ट की वास्तविक-दुनिया की ऊँचाई का अनुमान लगाना है या नहीं और मॉडल को उसके अनुसार रीसाइज़ करना है या नहीं। जब तक आप
origin_atसेट नहीं करते, Meshy ओरिजिन को नीचे रखता है।
- Name
- origin_at
- Type
- string
- डिफ़ॉल्ट bottom
- Description
रीसाइज़ के बाद मॉडल का ओरिजिन कहाँ रखा जाए,
bottomयाcenter।
रिटर्न
रिस्पॉन्स का result फ़ील्ड नए Resize टास्क की ID रखता है।
फेल्योर मोड
- Name
400 - Bad Request- Description
रिक्वेस्ट नहीं चल सकती। एरर मैसेज बताता है कि कौन सी समस्या मिली। उदाहरण के लिए:
- गायब पैरामीटर: न तो
model_urlऔर न हीinput_task_idभेजा गया। - गायब रीसाइज़ मोड:
resize_height,resize_longest_side, औरauto_sizeमें से कोई भी नहीं भेजा गया। - परस्पर विशिष्ट पैरामीटर: रिक्वेस्ट में
resize_height,resize_longest_side, औरauto_sizeमें से एक से अधिक हैं। केवल एक भेजें। - नेगेटिव साइज़:
resize_heightयाresize_longest_sideनेगेटिव है। - अमान्य इनपुट टास्क:
input_task_idमॉडल फ़ाइल वाला सफल API टास्क नहीं है। - अमान्य मॉडल फॉर्मेट:
model_urlफ़ाइल में एक असमर्थित एक्सटेंशन है। - अनपहुँच योग्य URL: Meshy
model_urlफ़ाइल डाउनलोड नहीं कर सकता। - मॉडल फ़ाइल बहुत बड़ी है:
model_urlफ़ाइलhttpयाhttpsURL से 400 MB से अधिक है, या Data URI के रूप में 100 MB से अधिक है। - बहुत अधिक फेस:
model_urlफ़ाइल 100 MB से अधिक है और इसमें 10,000,000 से अधिक फेस हैं। फेस की संख्या कम करें, फिर फ़ाइल दोबारा भेजें। - ASCII FBX 100 MB से अधिक:
model_urlफ़ाइल 100 MB से बड़ी ASCII FBX है। इसे बाइनरी FBX या GLB के रूप में भेजें। - अपठनीय मॉडल फ़ाइल:
model_urlफ़ाइल 100 MB से अधिक है, और Meshy इसका हेडर नहीं पढ़ सकता। उदाहरण के लिए, यह Draco-कंप्रेस्ड GLB या glTF है, या 7.1 से पुराना बाइनरी FBX है। - मॉडल हेडर बहुत जटिल है:
model_urlफ़ाइल 100 MB से अधिक है, और इसके हेडर में जाँचने के लिए बहुत अधिक मेश, नोड, या रिकॉर्ड हैं। फ़ाइल में ऑब्जेक्ट की संख्या कम करें, फिर इसे दोबारा भेजें।
रिक्वेस्ट को ठीक करें, फिर इसे दोबारा भेजें। Errors देखें।
- गायब पैरामीटर: न तो
- Name
401 - Unauthorized- Description
API की गायब है या अमान्य है।
Authorizationहेडर जाँचें।
- Name
402 - Payment Required- Description
उदाहरण के लिए:
- अपर्याप्त क्रेडिट: अकाउंट के पास इस टास्क के लिए पर्याप्त क्रेडिट नहीं हैं, या अकाउंट क्रेडिट लिमिट तक पहुँच गया है। अपना क्रेडिट बैलेंस जाँचें, फिर फिर से कोशिश करें।
- फ्री प्लान: टास्क बनाने के लिए पेड प्लान आवश्यक है। अपने सब्सक्रिप्शन सेटिंग्स में अपना प्लान अपग्रेड करें, फिर फिर से कोशिश करें।
- Name
403 - Forbidden- Description
input_task_idएक बेस-रिलीफ मॉडल है, जिसे यह एंडपॉइंट रीसाइज़ नहीं कर सकता। मैसेज हैThis model type does not support this operation। कोई अलग मॉडल भेजें।
- Name
404 - Not Found- Description
input_task_idआपके किसी भी टास्क से मेल नहीं खाता। टास्क ID जाँचें, फिर रिक्वेस्ट दोबारा भेजें।
- Name
429 - Too Many Requests- Description
आपने अपनी रेट लिमिट पार कर ली है। प्रतीक्षा करें, फिर फिर से कोशिश करें। Rate limits देखें।
Resize टास्क प्राप्त करें
यह किसी Resize टास्क को उसकी 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।
रिटर्न वैल्यू
Resize टास्क डिलीट करें
यह किसी Resize टास्क को, उसके मॉडल और डेटा सहित, स्थायी रूप से डिलीट कर देता है। आप किसी डिलीट को पूर्ववत नहीं कर सकते।
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 keeps 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."
}
Path पैरामीटर
- Name
- id
- Type
- path
- Description
डिलीट किए जाने वाले टास्क की ID।
टास्क स्टेटस
किसी PENDING टास्क को डिलीट करने पर उसे बनाते समय इस्तेमाल हुए क्रेडिट वापस कर दिए जाते हैं।
किसी IN_PROGRESS टास्क को डिलीट नहीं किया जा सकता। रिक्वेस्ट 409 Conflict
रिटर्न करती है, और टास्क चलता रहता है। Meshy उस टास्क के लिए रिफंड नहीं देता
जो शुरू हो चुका है, इसलिए उसे डिलीट करने पर आपके क्रेडिट और परिणाम दोनों का नुकसान
होगा। इसके SUCCEEDED, FAILED, या CANCELED तक पहुँचने का इंतज़ार करें,
फिर उसे डिलीट करें।
किसी फाइनल स्टेटस (SUCCEEDED, FAILED, या CANCELED) वाले टास्क को डिलीट करने पर
उसके क्रेडिट वापस नहीं किए जाते।
रिटर्न्स
टास्क डिलीट हो जाने पर 200 OK, या टास्क के IN_PROGRESS होने पर 409 Conflict।
रीसाइज़ टास्क की सूची
आपके रीसाइज़ टास्क की एक सूची लौटाता है।
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
}
]
पैरामीटर
- Name
- page_num
- Type
- integer
- डिफ़ॉल्ट 1
- Description
लौटाया जाने वाला पेज नंबर, अधिकतम
255तक। इससे बड़ा मान400लौटाएगा।
- Name
- page_size
- Type
- integer
- डिफ़ॉल्ट 10
- Description
प्रति पेज टास्क की संख्या, अधिकतम
100तक।
- Name
- sort_by
- Type
- string
- Description
सॉर्ट क्रम।
उपलब्ध मान:
+created_at: सबसे पुराना पहले-created_at: सबसे नया पहले
रिटर्न
रीसाइज़ टास्क ऑब्जेक्ट्स की एक पेजिनेटेड सूची।
एक Resize टास्क स्ट्रीम करें
किसी Resize टास्क के अपडेट्स को Server-Sent Events (SSE) के रूप में स्ट्रीम करता है।
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
}
पैरामीटर
- Name
- id
- Type
- path
- Description
क्रिएट रिस्पॉन्स से मिली टास्क ID।
रिटर्न वैल्यू
Resize टास्क ऑब्जेक्ट्स की एक स्ट्रीम, Server-Sent Events के रूप में।
हर इवेंट में पूरा टास्क ऑब्जेक्ट होता है, उसी शेप में जो Get एंडपॉइंट रिटर्न करता है। जब तक टास्क PENDING या IN_PROGRESS स्थिति में है, तब तक उसके रिज़ल्ट फ़ील्ड्स में कोई वैल्यू नहीं होती।
The Resize task object
एक Resize task object किसी 3D मॉडल के एक रीसाइज़ का वर्णन करता है। इसमें status, progress, और टास्क सफल होने पर मॉडल फ़ाइल होती है।
Properties
- Name
- id
- Type
- string
- Description
टास्क ID। इसे एक अपारदर्शी (opaque) स्ट्रिंग मानें, और इसके फ़ॉर्मैट पर निर्भर न रहें।
- Name
- type
- Type
- string
- Description
टास्क का प्रकार, हमेशा
resize।
- Name
- model_urls
- Type
- object
- Description
रीसाइज़ की गई मॉडल फ़ाइल के लिए डाउनलोड URL।
input_task_idके लिए, फ़ाइल हमेशा GLB होती है।model_urlके लिए, एक GLB, OBJ, FBX, या STL फ़ाइल अपना फ़ॉर्मैट बनाए रखती है, और एक.gltfफ़ाइल या Data URI, GLB के रूप में वापस आती है।
- Name
- progress
- Type
- integer
- Description
टास्क कितना पूरा हो चुका है, प्रतिशत के रूप में। टास्क शुरू होने तक यह
0रहता है और सफल होने पर100हो जाता है।
- Name
- status
- Type
- string
- Description
टास्क की स्थिति, जो
PENDING,IN_PROGRESS,SUCCEEDED,FAILED, याCANCELEDमें से एक होती है।
- Name
- preceding_tasks
- Type
- integer
- Description
कतार (queue) में इस टास्क से पहले मौजूद टास्कों की संख्या। यह मान केवल तभी सार्थक होता है जब टास्क
PENDINGहो।
- 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
वह समय जब टास्क के डाउनलोड URL की समय-सीमा समाप्त होती है, यूनिक्स मिलीसेकंड में। टास्क समाप्त होने तक यह
0रहता है।
- Name
- texture_urls
- Type
- array
- Description
टास्क सफल होने पर, मॉडल के टेक्सचर मैप के लिए डाउनलोड URL: objects का एक array, प्रत्येक टेक्सचर सेट के लिए एक। प्रत्येक object में एक
base_colorURL होता है, और साथ हीmetallic,roughness,normal,emission, औरmetallic_roughnessURL भी हो सकते हैं। टास्क सफल होने तक यहnullरहता है, और जब मॉडल में कोई टेक्सचर मैप नहीं होता है तो यह एक खाली array होता है।
- Name
- task_error
- Type
- object
- Description
टास्क विफल होने पर एरर का विवरण। देखें एरर।
- Name
- consumed_credits
- Type
- integer
- Description
टास्क द्वारा उपयोग किए गए क्रेडिट की संख्या, जो Resize टास्क के लिए
1होती है।FAILEDटास्क के लिए यह0होती है।