UV अनरैप API

UV अनरैप API स्वचालित रूप से एक मौजूदा 3D मॉडल के लिए उच्च-गुणवत्ता वाला UV अनरैप उत्पन्न करता है। इसका उपयोग टेक्सचरिंग से पहले की पूर्वापेक्षित चरण के रूप में करें — या जब भी आपको डाउनस्ट्रीम टूल्स (Blender, Substance Painter, Unreal) के लिए एक साफ, गैर-ओवरलैपिंग UV लेआउट की आवश्यकता हो।

आउटपुट एक "UV व्हाइट मॉडल" है — इनपुट के समान आकार लेकिन नए UV निर्देशांक के साथ और कोई वास्तविक टेक्सचर नहीं (एक 2×2 ग्रे प्लेसहोल्डर मटेरियल शामिल है ताकि glTF मटेरियल स्लॉट वैध रहे; मानक टूल्स इसे बिना टेक्सचर के रूप में मानते हैं)।


POST/openapi/v1/uv-unwrap

एक UV अनरैप टास्क बनाएं

यह एंडपॉइंट एक नया UV अनरैप टास्क बनाता है।

पैरामीटर

  • 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 या डेटा URI के माध्यम से सीधे एक 3D मॉडल प्रदान करें। केवल .glb समर्थित है — API glTF बाइनरी पढ़ता है और अन्य प्रारूपों को पार्स नहीं करता। किसी अन्य प्रारूप में मॉडल को UV-अनरैप करने के लिए (.fbx, .obj, .stl, .gltf), पहले इसे .glb में कन्वर्ट करें Convert API के माध्यम से, फिर उत्पन्न टास्क ID को input_task_id के रूप में या इसके GLB आउटपुट URL को यहां पास करें।

    डेटा URI के लिए, MIME type application/octet-stream का उपयोग करें।

    वही 40,000-फेस सीमा input_task_id के लिए लागू होती है: ओवरसाइज़ मेश को 400 के साथ अस्वीकार कर दिया जाता है — पहले रीमेश चलाएं।

रिटर्न्स

प्रतिक्रिया की result प्रॉपर्टी में नव निर्मित UV अनरैप टास्क का id होता है।

विफलता मोड

  • Name
    400 - Bad Request
    Description

    अनुरोध अस्वीकार्य था। सामान्य कारण:

    • लापता पैरामीटर: या तो input_task_id या model_url प्रदान किया जाना चाहिए।
    • अमान्य इनपुट टास्क: input_task_id को एक सफल टास्क के साथ GLB परिणाम के लिए संदर्भित करना चाहिए।
    • फेस काउंट अधिकतम सीमा पार: स्रोत मेश में UV अनरैप सीमा से अधिक फेस हैं। पहले रीमेश चलाएं।
    • अमान्य मॉडल प्रारूप: model_url एक असमर्थित एक्सटेंशन वाली फाइल की ओर इशारा करता है।
    • अप्राप्य URL: model_url को डाउनलोड नहीं किया जा सका।
  • 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

POST
/openapi/v1/uv-unwrap
# 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"
}

GET/openapi/v1/uv-unwrap/:id

एक UV अनरैप कार्य प्राप्त करें

यह एंडपॉइंट ID द्वारा एक UV अनरैप कार्य की वर्तमान स्थिति प्राप्त करता है।

रिटर्न करता है

एक UV अनरैप कार्य ऑब्जेक्ट रिटर्न करता है।

Request

GET
/openapi/v1/uv-unwrap/:id
curl https://api.meshy.ai/openapi/v1/uv-unwrap/019361c6-9b34-7b23-bef2-d0107c4d92e2 \
-H "Authorization: Bearer ${YOUR_API_KEY}"

नीचे उदाहरण कार्य ऑब्जेक्ट देखें।


DELETE/openapi/v1/uv-unwrap/:id

एक UV अनरैप कार्य हटाएं

एक UV अनरैप कार्य को स्थायी रूप से हटाएं। कार्य और इसके आउटपुट अप्राप्य हो जाते हैं।

Request

DELETE
/openapi/v1/uv-unwrap/:id
curl https://api.meshy.ai/openapi/v1/uv-unwrap/019361c6-9b34-7b23-bef2-d0107c4d92e2 \
-X DELETE \
-H "Authorization: Bearer ${YOUR_API_KEY}"

GET/openapi/v1/uv-unwrap

UV अनरैप कार्यों की सूची

कॉलर के UV अनरैप कार्यों की पेजिनेशन की गई सूची लौटाता है, नवीनतम पहले। page_num और page_size के माध्यम से मानक पेजिनेशन।

Request

GET
/openapi/v1/uv-unwrap
curl "https://api.meshy.ai/openapi/v1/uv-unwrap?page_num=1&page_size=20" \
-H "Authorization: Bearer ${YOUR_API_KEY}"

GET/openapi/v1/uv-unwrap/:id/stream

UV अनरैप कार्य को स्ट्रीम करें

सर्वर-सेंट इवेंट्स के रूप में कार्य progress की सदस्यता लें। प्रत्येक message इवेंट एक UV अनरैप कार्य ऑब्जेक्ट ले जाता है; स्ट्रीम तब बंद हो जाती है जब कार्य SUCCEEDED, FAILED, या CANCELED तक पहुँच जाता है।

इसे GET /openapi/v1/uv-unwrap/:id को पोल करने के बजाय उपयोग करें ताकि पूर्णता पर कम विलंबता हो।

Request

GET
/openapi/v1/uv-unwrap/:id/stream
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
}