UV अनरैप API
किसी मौजूदा 3D मॉडल के लिए UV अनरैप जनरेट करें। मॉडल को टेक्सचर करने से पहले इसे चलाएं, या जब Blender, Substance Painter, या Unreal जैसे किसी टूल को एक साफ़, नॉन-ओवरलैपिंग UV लेआउट की आवश्यकता हो।
आउटपुट एक UV व्हाइट मॉडल होता है। इसका आकार इनपुट जैसा ही होता है, इसमें नए UV निर्देशांक होते हैं, और कोई वास्तविक टेक्सचर नहीं होता। इसमें 2×2 ग्रे प्लेसहोल्डर मटेरियल शामिल होता है ताकि glTF मटेरियल स्लॉट वैध बना रहे, और स्टैंडर्ड टूल इसे अनटेक्सचर्ड के रूप में मानते हैं।
UV अनरैप 40,000 फेस तक के मेश को सपोर्ट करता है। इससे बड़े मॉडल के लिए 400 रिटर्न होता है। फेस काउंट कम करने के लिए, पहले रीमेश चलाएं।
Meshy UV जनरेशन के दौरान क्वाड और n-gon मेश को ट्राइऐंगुलेट करता है, इसलिए आउटपुट हमेशा एक ट्राइऐंगल मेश होता है।
UV अनरैप टास्क बनाएं
यह एक UV अनरैप टास्क बनाता है।
टास्क बैकग्राउंड में चलता है। किसी टास्क में आमतौर पर कितना समय लगता है, यह जानने के लिए देखें प्रोसेसिंग टाइम।
Request
# Chain from an existing Meshy task
curl https://api.meshy.ai/openapi/v1/uv-unwrap \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"input_task_id": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}'
# Or from a publicly accessible model URL
curl https://api.meshy.ai/openapi/v1/uv-unwrap \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"model_url": "https://example.com/path/to/model.glb"
}'
Response
{
"result": "019361c6-9b34-7b23-bef2-d0107c4d92e2"
}
पैरामीटर
- Name
- input_task_id
- Type
- string
- आवश्यक
- Description
यह तब तक आवश्यक है जब तक आप
model_urlनहीं भेजते। एक Meshy API टास्क की ID, जिसके GLB आउटपुट को आप अनरैप करना चाहते हैं, उदाहरण के लिए इमेज से 3D, टेक्स्ट से 3D, या रीमेश टास्क। टास्क की स्थितिSUCCEEDEDहोनी चाहिए और उसने एक GLB फ़ाइल बनाई होनी चाहिए।मेश में अधिकतम 40,000 फेस हो सकते हैं। इससे अधिक फेस वाला मेश
400रिटर्न करता है। फेस काउंट कम करने के लिए पहले रीमेश चलाएं।
- Name
- model_url
- Type
- string
- आवश्यक
- Description
यह तब तक आवश्यक है जब तक आप
input_task_idनहीं भेजते। अनरैप करने के लिए मॉडल, एक पब्लिक URL या data URI के रूप में। यदि आप दोनों भेजते हैं, तो Meshyinput_task_idका उपयोग करता है।मॉडल
.glbफ़ाइल होनी चाहिए। किसी अन्य फॉर्मेट को अनरैप करने के लिए, पहले उसे Convert API के साथ GLB में कन्वर्ट करें।फ़ाइल
httpयाhttpsURL से अधिकतम 400 MB, या data URI के रूप में 100 MB हो सकती है। data URI के लिए, MIME typeapplication/octet-streamका उपयोग करें। 100 MB से बड़ी GLB में Draco कंप्रेशन का उपयोग नहीं होना चाहिए।input_task_idजैसी ही 40,000-फेस की सीमा लागू होती है। इससे अधिक वाला मेश400रिटर्न करता है, इसलिए पहले रीमेश चलाएं।
रिटर्न वैल्यू
रिस्पॉन्स के result फ़ील्ड में नए UV अनरैप टास्क की ID होती है।
फेल्यर मोड
- Name
400 - Bad Request- Description
रिक्वेस्ट चल नहीं सकती। एरर मैसेज बताता है कि कौन सी समस्या मिली। उदाहरण के लिए:
- पैरामीटर गायब: न तो
input_task_idभेजा गया और न हीmodel_url। - अमान्य इनपुट टास्क:
input_task_idGLB रिज़ल्ट वाला सफल API टास्क नहीं है। - फेस काउंट पार हो गया: मेश में UV अनरैप की अनुमति से अधिक फेस हैं। पहले रीमेश चलाएं।
- अमान्य मॉडल फॉर्मेट:
model_urlफ़ाइल का एक्सटेंशन समर्थित नहीं है। - अनपहुंच योग्य URL: Meshy
model_urlफ़ाइल डाउनलोड नहीं कर सकता। - मॉडल फ़ाइल बहुत बड़ी है:
model_urlफ़ाइलhttpयाhttpsURL से 400 MB से अधिक है, या data URI के रूप में 100 MB से अधिक है। - बहुत अधिक फेस:
model_urlफ़ाइल 100 MB से बड़ी है और उसमें 10,000,000 से अधिक फेस हैं। फेस काउंट कम करें, फिर फ़ाइल फिर से भेजें। - पढ़ने योग्य नहीं मॉडल फ़ाइल:
model_urlफ़ाइल 100 MB से बड़ी है, और Meshy उसका हेडर नहीं पढ़ सकता। उदाहरण के लिए, यह Draco-कंप्रेस्ड GLB है। - मॉडल हेडर बहुत जटिल है:
model_urlफ़ाइल 100 MB से बड़ी है, और इसके हेडर में जांच के लिए बहुत अधिक मेश, नोड या रिकॉर्ड हैं। फ़ाइल में ऑब्जेक्ट की संख्या कम करें, फिर उसे फिर से भेजें।
रिक्वेस्ट को ठीक करें, फिर इसे फिर से भेजें। देखें एरर।
- पैरामीटर गायब: न तो
- Name
401 - Unauthorized- Description
API की गायब है या अमान्य है।
Authorizationहेडर जांचें।
- Name
402 - Payment Required- Description
उदाहरण के लिए:
- अपर्याप्त क्रेडिट: अकाउंट में इस टास्क के लिए पर्याप्त क्रेडिट नहीं हैं, या अकाउंट क्रेडिट लिमिट तक पहुंच गया है। एक UV अनरैप टास्क की कीमत 5 क्रेडिट है। अपना क्रेडिट बैलेंस जांचें, फिर दोबारा कोशिश करें।
- फ्री प्लान: टास्क बनाने के लिए पेड प्लान आवश्यक है। अपने सब्सक्रिप्शन सेटिंग्स में अपना प्लान अपग्रेड करें, फिर दोबारा कोशिश करें।
- 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
आपने अपनी रेट लिमिट पार कर ली है। प्रतीक्षा करें, फिर दोबारा कोशिश करें। देखें रेट लिमिट।
UV Unwrap टास्क प्राप्त करें
किसी UV Unwrap टास्क की वर्तमान स्थिति उसकी ID के आधार पर लौटाता है।
Request
curl https://api.meshy.ai/openapi/v1/uv-unwrap/019361c6-9b34-7b23-bef2-d0107c4d92e2 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
उदाहरण प्रतिक्रिया के लिए, example UV Unwrap task object देखें।
Returns
UV अनरैप टास्क को हटाएं
किसी UV अनरैप टास्क को, उसके आउटपुट सहित, स्थायी रूप से हटा देता है। आप किसी डिलीट को पूर्ववत नहीं कर सकते।
Request
curl https://api.meshy.ai/openapi/v1/uv-unwrap/019361c6-9b34-7b23-bef2-d0107c4d92e2 \
-X DELETE \
-H "Authorization: Bearer ${YOUR_API_KEY}"
टास्क स्थिति
PENDING टास्क को हटाने से उसे बनाते समय इस्तेमाल किए गए क्रेडिट वापस कर दिए जाते हैं।
IN_PROGRESS टास्क को हटाया नहीं जा सकता। रिक्वेस्ट 409 Conflict लौटाती है,
और टास्क चलता रहता है। Meshy उस टास्क के लिए रिफंड नहीं देता जो शुरू हो चुका है,
इसलिए उसे हटाने पर आपको क्रेडिट और परिणाम दोनों का नुकसान होगा। इसके SUCCEEDED,
FAILED, या CANCELED तक पहुंचने का इंतज़ार करें, फिर इसे हटाएं।
अंतिम स्थिति (SUCCEEDED, FAILED, या CANCELED) में किसी टास्क को हटाने
पर उसके क्रेडिट वापस नहीं किए जाते।
UV अनरैप टास्क सूची
यह आपके UV अनरैप टास्क की एक पेजिनेटेड सूची लौटाता है, जिसमें सबसे नया टास्क सबसे ऊपर होता है। सूची में आगे-पीछे जाने के लिए page_num और page_size का उपयोग करें।
Request
curl "https://api.meshy.ai/openapi/v1/uv-unwrap?page_num=1&page_size=20" \
-H "Authorization: Bearer ${YOUR_API_KEY}"
UV Unwrap टास्क को स्ट्रीम करें
किसी UV Unwrap टास्क के अपडेट को Server-Sent Events (SSE) के रूप में स्ट्रीम करता है। प्रत्येक message इवेंट एक UV Unwrap task object लेकर आता है। जब टास्क SUCCEEDED, FAILED, या CANCELED स्थिति पर पहुँचता है, तो स्ट्रीम बंद हो जाती है।
टास्क पूरा होने की जानकारी जल्द पाने के लिए, GET /openapi/v1/uv-unwrap/:id को बार-बार पोल करने के बजाय इस एंडपॉइंट का उपयोग करें।
Request
curl https://api.meshy.ai/openapi/v1/uv-unwrap/019361c6-9b34-7b23-bef2-d0107c4d92e2/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-N
UV अनरैप टास्क ऑब्जेक्ट
एक UV अनरैप टास्क ऑब्जेक्ट किसी 3D मॉडल के एक UV अनरैप का वर्णन करता है। यह स्थिति, progress, और टास्क के सफल होने पर मॉडल फ़ाइल को रखता है।
Example UV Unwrap Task Object
{
"id": "019361c6-9b34-7b23-bef2-d0107c4d92e2",
"type": "uv-unwrap",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/019361c6-9b34-7b23-bef2-d0107c4d92e2/output/model.glb?Expires=***"
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/019361c6-9b34-7b23-bef2-d0107c4d92e2/output/preview.png?Expires=***",
"progress": 100,
"status": "SUCCEEDED",
"preceding_tasks": 0,
"created_at": 1716579120000,
"started_at": 1716579122000,
"finished_at": 1716579180000,
"expires_at": 1716665580000,
"task_error": {
"message": ""
},
"consumed_credits": 5
}
- Name
- id
- Type
- string
- Description
टास्क ID। इसे एक अपारदर्शी स्ट्रिंग मानें, और इसके फ़ॉर्मेट पर निर्भर न रहें।
- Name
- type
- Type
- string
- Description
टास्क प्रकार, हमेशा
uv-unwrap।
- Name
- model_urls
- Type
- object
- Description
UV व्हाइट मॉडल के लिए हस्ताक्षरित डाउनलोड URL। UV अनरैप हमेशा एक एकल
glbकुंजी लौटाता है। मॉडल इनपुट ज्यामिति को बनाए रखता है, इसमें नए UV निर्देशांक होते हैं, और टेक्सचर के बजाय एक डिफ़ॉल्ट ग्रे मटेरियल का उपयोग करता है।
- Name
- thumbnail_url
- Type
- string
- Description
UV व्हाइट मॉडल की PNG प्रीव्यू इमेज के लिए हस्ताक्षरित डाउनलोड URL।
- Name
- progress
- Type
- integer
- Description
टास्क का कितना हिस्सा पूरा हो चुका है,
0से100तक प्रतिशत के रूप में।
- Name
- status
- Type
- string
- Description
टास्क की स्थिति,
PENDING,IN_PROGRESS,SUCCEEDED,FAILED, याCANCELEDमें से एक।
- Name
- preceding_tasks
- Type
- integer
- Description
कतार में इस टास्क से आगे मौजूद टास्कों की संख्या। यह टास्क के
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 की समाप्ति का समय, यूनिक्स मिलीसेकंड में।
- Name
- task_error
- Type
- object
- Description
टास्क विफल होने पर एरर विवरण। देखें एरर।
- Name
- consumed_credits
- Type
- integer
- Description
टास्क द्वारा उपयोग किए गए क्रेडिट की संख्या। एक सफल UV अनरैप टास्क की लागत 5 क्रेडिट होती है। यह
FAILEDटास्क के लिए0होता है, क्योंकि जब कोई टास्क विफल होता है तो Meshy क्रेडिट वापस कर देता है।