UV अनरैप API
UV अनरैप API स्वचालित रूप से एक मौजूदा 3D मॉडल के लिए उच्च-गुणवत्ता वाला UV अनरैप उत्पन्न करता है। इसका उपयोग टेक्सचरिंग से पहले की पूर्वापेक्षित चरण के रूप में करें — या जब भी आपको डाउनस्ट्रीम टूल्स (Blender, Substance Painter, Unreal) के लिए एक साफ, गैर-ओवरलैपिंग UV लेआउट की आवश्यकता हो।
आउटपुट एक "UV व्हाइट मॉडल" है — इनपुट के समान आकार लेकिन नए UV निर्देशांक के साथ और कोई वास्तविक टेक्सचर नहीं (एक 2×2 ग्रे प्लेसहोल्डर मटेरियल शामिल है ताकि glTF मटेरियल स्लॉट वैध रहे; मानक टूल्स इसे बिना टेक्सचर के रूप में मानते हैं)।
सीमाएँ। ऑटो UV वर्तमान में 40,000 चेहरों तक के मेश का समर्थन करता है — बड़े मॉडल को 400 के साथ अस्वीकार कर दिया जाता है; पॉलीकाउंट को कम करने के लिए पहले रीमेश चलाएं। क्वाड और n-गोन मेश को UV जनरेशन के दौरान त्रिकोणीय किया जाता है, इसलिए आउटपुट हमेशा एक त्रिकोण मेश होता है।
UV अनरैप टास्क बनाएं
यह एंडपॉइंट एक नया UV अनरैप टास्क बनाता है।
यह टास्क बैकग्राउंड में चलता है। आमतौर पर इसमें कितना समय लगता है, यह जानने के लिए देखें Processing Times।
पैरामीटर
input_task_id या model_url में से ठीक एक आवश्यक है। यदि दोनों दिए जाते हैं, तो input_task_id को प्राथमिकता मिलती है।
- Name
- input_task_id
- Type
- string
- आवश्यक
- Description
एक पूर्ण Meshy API टास्क की ID, जिसके GLB आउटपुट को आप UV-अनरैप करना चाहते हैं (उदाहरण के लिए इमेज से 3D, टेक्स्ट से 3D, या रीमेश का परिणाम)। सोर्स टास्क का स्टेटस
SUCCEEDEDहोना चाहिए और उसने एक GLB फ़ाइल जनरेट की होनी चाहिए।यदि सोर्स मेश 40,000 फेस की सीमा से अधिक है, तो अनुरोध को
400के साथ अस्वीकार कर दिया जाएगा और आपको पहले पॉलीकाउंट कम करने के लिए रीमेश चलाना चाहिए।
- Name
- model_url
- Type
- string
- आवश्यक
- Description
सार्वजनिक रूप से एक्सेस योग्य URL या data URI के माध्यम से सीधे एक 3D मॉडल प्रदान करें। केवल
.glbसमर्थित है — API glTF बाइनरी को पढ़ता है और अन्य फॉर्मैट को पार्स नहीं करता है। किसी अन्य फॉर्मैट (.fbx,.obj,.stl,.gltf) में मॉडल को UV-अनरैप करने के लिए, पहले इसे Convert API के माध्यम से.glbमें कन्वर्ट करें, फिर परिणामी टास्क ID कोinput_task_idके रूप में या इसके GLB आउटपुट URL को यहाँ पास करें।Data URI के लिए, MIME type
application/octet-streamका उपयोग करें।अधिकतम फ़ाइल साइज़:
httpयाhttpsURL के लिए 400 MB,data:URI के लिए 100 MB। 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_idको GLB परिणाम वाले एक सफल टास्क को संदर्भित करना चाहिए। - फेस काउंट पार हो गया: सोर्स मेश में UV अनरैप सीमा से अधिक फेस हैं। पहले रीमेश चलाएं।
- अमान्य मॉडल फॉर्मैट:
model_urlएक असमर्थित एक्सटेंशन वाली फ़ाइल की ओर इशारा करता है। - अनपहुंच योग्य URL:
model_urlको डाउनलोड नहीं किया जा सका। - मॉडल फ़ाइल बहुत बड़ी है:
model_urlफ़ाइल 400 MB (httpयाhttpsURL) या 100 MB (data:URI) से अधिक है। - बहुत अधिक फेस:
model_urlफ़ाइल 100 MB से बड़ी है और इसमें 10,000,000 से अधिक फेस हैं। फेस काउंट कम करें, फिर फ़ाइल फिर से भेजें। - अपठनीय मॉडल फ़ाइल:
model_urlफ़ाइल 100 MB से बड़ी है और इसका हेडर नहीं पढ़ा जा सकता, उदाहरण के लिए एक Draco-कम्प्रेस्ड GLB। - मॉडल हेडर बहुत जटिल है:
model_urlफ़ाइल 100 MB से बड़ी है और इसके हेडर में जांचने के लिए बहुत अधिक मेश, नोड या रिकॉर्ड हैं। फ़ाइल में ऑब्जेक्ट्स की संख्या कम करें, फिर इसे फिर से भेजें।
- पैरामीटर गायब:
- Name
401 - Unauthorized- Description
प्रमाणीकरण विफल हुआ। कृपया अपनी API की जांचें।
- Name
402 - Payment Required- Description
यह टास्क करने के लिए अपर्याप्त क्रेडिट। UV अनरैप की लागत प्रति कॉल 5 क्रेडिट है।
- Name
404 - Not Found- Description
यह फ़ीचर आपके खाते के लिए सक्षम नहीं है। रोलआउट के दौरान UV अनरैप एक Statsig फ़्लैग द्वारा नियंत्रित है — यदि आपको एक्सेस चाहिए तो Meshy सपोर्ट से संपर्क करें।
- Name
429 - Too Many Requests- Description
आपने अपनी रेट लिमिट पार कर ली है।
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"
}
एक UV अनरैप कार्य प्राप्त करें
यह एंडपॉइंट ID द्वारा एक UV अनरैप कार्य की वर्तमान स्थिति प्राप्त करता है।
रिटर्न करता है
एक UV अनरैप कार्य ऑब्जेक्ट रिटर्न करता है।
Request
curl https://api.meshy.ai/openapi/v1/uv-unwrap/019361c6-9b34-7b23-bef2-d0107c4d92e2 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
नीचे उदाहरण कार्य ऑब्जेक्ट देखें।
UV अनरैप कार्य हटाएँ
किसी UV अनरैप कार्य को स्थायी रूप से हटाएँ। कार्य और उसके आउटपुट अप्राप्य हो जाते हैं।
जो कार्य अभी भी PENDING है, वह हटा दिया जाता है और बनाते समय
उपयोग हुए क्रेडिट वापस कर दिए जाते हैं।
जो कार्य पहले से IN_PROGRESS है, उसे हटाया नहीं जा सकता: अनुरोध
409 Conflict के साथ अस्वीकार कर दिया जाता है और कार्य चलता रहता है। जिस कार्य को वर्कर पहले
ही शुरू कर चुका है, उसके क्रेडिट वापस नहीं किए जा सकते, इसलिए उसे बीच में हटाने पर
आपको क्रेडिट और परिणाम दोनों गंवाने पड़ेंगे। इसके
SUCCEEDED, FAILED या CANCELED तक पहुँचने की प्रतीक्षा करें, फिर उसे हटाएँ।
टर्मिनल स्थिति (SUCCEEDED, FAILED या CANCELED) वाला कार्य
बिना रिफंड के हटा दिया जाता है।
Request
curl https://api.meshy.ai/openapi/v1/uv-unwrap/019361c6-9b34-7b23-bef2-d0107c4d92e2 \
-X DELETE \
-H "Authorization: Bearer ${YOUR_API_KEY}"
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 अनरैप कार्य को स्ट्रीम करें
सर्वर-सेंट इवेंट्स के रूप में कार्य progress की सदस्यता लें। प्रत्येक message इवेंट एक UV अनरैप कार्य ऑब्जेक्ट ले जाता है; स्ट्रीम तब बंद हो जाती है जब कार्य 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 अनरैप टास्क ऑब्जेक्ट
- Name
- id
- Type
- string
- Description
कार्य के लिए अद्वितीय पहचानकर्ता।
- Name
- type
- Type
- string
- Description
हमेशा
uv-unwrap।
- Name
- model_urls
- Type
- object
- Description
उत्पन्न UV व्हाइट मॉडल के लिए प्री-साइन किए गए डाउनलोड URLs। 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
टाइमस्टैंप जिसके बाद साइन किए गए डाउनलोड URLs समाप्त हो जाते हैं, मिलीसेकंड में।
- Name
- task_error
- Type
- object
- Description
असफल कार्यों के लिए एरर विवरण। पूर्ण
task_errorऑब्जेक्ट संदर्भ के लिए एरर देखें।
- Name
- consumed_credits
- Type
- integer
- Description
इस कार्य द्वारा उपभोग किए गए क्रेडिट।
FAILEDकार्यों के लिए0लौटाता है (असफलता पर क्रेडिट वापस कर दिए जाते हैं)। UV अनरैप सफलता पर 5 क्रेडिट चार्ज करता है।
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
}