रीमेश API

रीमेश API आपको अन्य Meshy APIs (जैसे इमेज से 3D या टेक्स्ट से 3D) द्वारा जनरेट किए गए मौजूदा 3D मॉडल को रीमेश करने और उन्हें विभिन्न फॉर्मेट में एक्सपोर्ट करने की सुविधा देता है। यह सेक्शन रीमेश API का उपयोग कैसे करें, इस बारे में विवरण प्रदान करता है।


POST/openapi/v1/remesh

Remesh टास्क बनाएं

यह एंडपॉइंट एक नया रीमेश टास्क बनाता है।

पैरामीटर

  • Name
    input_task_id
    Type
    string
    आवश्यक
    Description

    उस पूर्ण हो चुके इमेज से 3D या टेक्स्ट से 3D टास्क की ID, जिसे आप रीमेश करना चाहते हैं। यह टास्क निम्नलिखित में से एक होना चाहिए: टेक्स्ट से 3D Preview, टेक्स्ट से 3D Refine, इमेज से 3D या रीटेक्सचर। इसके अलावा, इसकी स्थिति SUCCEEDED होनी चाहिए।

  • Name
    model_url
    Type
    string
    आवश्यक
    Description

    कृपया Meshy को रीमेश करने के लिए एक सार्वजनिक रूप से सुलभ URL या data URI के माध्यम से एक 3D मॉडल प्रदान करें। समर्थित फॉर्मेट: .glb, .gltf, .obj, .fbx, .stl

    Data URIs के लिए, MIME type का उपयोग करें: application/octet-stream

  • Name
    target_formats
    Type
    string[]
    डिफ़ॉल्ट ["glb"]
    Description

    रीमेश किए गए मॉडल के लिए लक्ष्य फॉर्मेट की एक सूची। जब छोड़ दिया जाता है, तो केवल GLB जनरेट किया जाता है।

    उपलब्ध वैल्यूज़: glb, fbx, obj, usdz, blend, stl, 3mf

  • Name
    topology
    Type
    string
    डिफ़ॉल्ट triangle
    Description

    जनरेट किए गए मॉडल की topology निर्दिष्ट करें।

    उपलब्ध वैल्यूज़:

    • quad: एक quad-dominant मेश जनरेट करें।
    • triangle: एक decimated triangle मेश जनरेट करें।
  • Name
    target_polycount
    Type
    integer
    डिफ़ॉल्ट 30,000
    Description

    जनरेट किए गए मॉडल में पॉलीगन्स की लक्षित संख्या निर्दिष्ट करें। ज्यामिति की जटिलता के आधार पर पॉलीगन्स की वास्तविक संख्या लक्ष्य से भिन्न हो सकती है।

    मान्य वैल्यू रेंज यूज़र टियर के आधार पर भिन्न होती है:

    • 100 से 300,000 (समावेशी)
  • Name
    decimation_mode
    Type
    integer
    Description

    पॉलीकाउंट स्तर सेट करके एडैप्टिव decimation सक्षम करें। जब सेट किया जाता है, तो target_polycount को नज़रअंदाज़ कर दिया जाता है।

    उपलब्ध वैल्यूज़:

    • 1: एडैप्टिव — अल्ट्रा पॉलीकाउंट।
    • 2: एडैप्टिव — हाई पॉलीकाउंट।
    • 3: एडैप्टिव — मीडियम पॉलीकाउंट।
    • 4: एडैप्टिव — लो पॉलीकाउंट।
  • Name
    resize_height
    Type
    number
    पुराना
    डिफ़ॉल्ट 0
    Description

    मॉडल को मीटर में मापी गई एक निश्चित ऊंचाई तक रीसाइज़ करें। हम इसके बजाय समर्पित Resize API का उपयोग करने की सलाह देते हैं।

  • Name
    resize_longest_side
    Type
    number
    पुराना
    डिफ़ॉल्ट 0
    Description

    मॉडल को इस तरह रीसाइज़ करें कि सबसे लंबा bounding-box आयाम मीटर में निर्दिष्ट वैल्यू के बराबर हो। हम इसके बजाय समर्पित Resize API का उपयोग करने की सलाह देते हैं।

  • Name
    auto_size
    Type
    boolean
    पुराना
    डिफ़ॉल्ट false
    Description

    जब true पर सेट किया जाता है, तो सेवा ऑब्जेक्ट की वास्तविक दुनिया की ऊंचाई का स्वचालित रूप से अनुमान लगाने और उसके अनुसार मॉडल को रीसाइज़ करने के लिए AI vision का उपयोग करती है। हम इसके बजाय समर्पित Resize API का उपयोग करने की सलाह देते हैं।

केवल तब लागू होता है जब auto_size = true
  • Name
    origin_at
    Type
    string
    पुराना
    डिफ़ॉल्ट bottom
    Description

    ओरिजिन की स्थिति। हम इसके बजाय समर्पित Resize API का उपयोग करने की सलाह देते हैं।

    उपलब्ध वैल्यूज़: bottom, center

  • Name
    convert_format_only
    Type
    boolean
    पुराना
    Description

    यदि true है, तो सेवा केवल इनपुट मॉडल फ़ाइल का फॉर्मेट बदलेगी, अन्य इनपुट जैसे topology, resize_height, और target_polycount को नज़रअंदाज़ करते हुए। हम इसके बजाय समर्पित Convert API का उपयोग करने की सलाह देते हैं।

  • Name
    alpha_thumbnail
    Type
    boolean
    डिफ़ॉल्ट false
    Description

    जब true पर सेट किया जाता है, तो टास्क अतिरिक्त रूप से प्रीव्यू का एक transparent-background (RGBA) संस्करण रेंडर करता है और इसे GET प्रतिक्रिया पर alpha_thumbnail_url के रूप में लौटाता है। मौजूदा thumbnail_url फ़ील्ड अपरिवर्तित रहता है।

रिटर्न

प्रतिक्रिया की result प्रॉपर्टी में नए बनाए गए रीमेश टास्क की id होती है।

विफलता के मोड

  • Name
    400 - Bad Request
    Description

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

    • पैरामीटर गायब है: model_url या input_task_id में से एक अवश्य दिया जाना चाहिए।
    • अमान्य इनपुट टास्क: input_task_id को एक समर्थित मॉडल से एक सफल टास्क को संदर्भित करना चाहिए।
    • अमान्य मॉडल फॉर्मेट: model_url एक ऐसी फ़ाइल की ओर इशारा करता है जिसका एक्सटेंशन असमर्थित है।
    • अनुपलब्ध URL: model_url को डाउनलोड नहीं किया जा सका।
    • अमान्य topology: topology पैरामीटर अमान्य है।
    • परस्पर अनन्य पैरामीटर: auto_size और resize_height दोनों एक साथ सेट नहीं किए जा सकते।
  • Name
    401 - Unauthorized
    Description

    प्रमाणीकरण विफल हुआ। कृपया अपनी API की जांचें।

  • Name
    402 - Payment Required
    Description

    इस टास्क को करने के लिए अपर्याप्त क्रेडिट।

  • Name
    429 - Too Many Requests
    Description

    आपने अपनी रेट लिमिट पार कर ली है।

Request

POST
/openapi/v1/remesh
# Basic remesh with custom formats and resize
curl https://api.meshy.ai/openapi/v1/remesh \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
    "input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "target_formats": ["glb", "fbx"],
    "topology": "quad",
    "target_polycount": 50000,
    "resize_height": 1.0,
    "origin_at": "bottom"
  }'

# Quad remesh with auto-size
curl https://api.meshy.ai/openapi/v1/remesh \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
    "input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "target_formats": ["glb", "fbx"],
    "topology": "quad",
    "target_polycount": 50000,
    "auto_size": true
  }'

Response

{
  "result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}

GET/openapi/v1/remesh/:id

एक रीमेश टास्क प्राप्त करें

यह एंडपॉइंट किसी रीमेश टास्क को उसकी ID के द्वारा प्राप्त करता है।

पैरामीटर

  • Name
    id
    Type
    path
    Description

    प्राप्त किए जाने वाले रीमेश टास्क की ID।

रिटर्न

रीमेश टास्क ऑब्जेक्ट।

Request

GET
/openapi/v1/remesh/a43b5c6d-7e8f-901a-234b-567c890d1e2f
curl https://api.meshy.ai/openapi/v1/remesh/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "remesh",
  "model_urls": {
      "glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
      "fbx": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.fbx?Expires=***",
      "obj": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.obj?Expires=***",
      "usdz": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.usdz?Expires=***",
      "blend": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.blend?Expires=***",
      "stl": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.stl?Expires=***"
},
  "progress": 100,
  "status": "SUCCEEDED",
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "task_error": null,
}

DELETE/openapi/v1/remesh/:id

एक रीमेश टास्क डिलीट करें

यह एंडपॉइंट किसी रीमेश टास्क को स्थायी रूप से डिलीट कर देता है, जिसमें उससे जुड़े सभी मॉडल और डेटा शामिल हैं। यह क्रिया अपरिवर्तनीय है।

पथ पैरामीटर (Path Parameters)

  • Name
    id
    Type
    path
    Description

    डिलीट किए जाने वाले रीमेश टास्क की ID।

रिटर्न

सफल होने पर 200 OK रिटर्न करता है।

Request

DELETE
/openapi/v1/remesh/a43b5c6d-7e8f-901a-234b-567c890d1e2f
curl --request DELETE \
  --url https://api.meshy.ai/openapi/v1/remesh/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Response

// Returns 200 Ok on success.

GET/openapi/v1/remesh

रीमेश टास्क की सूची

यह एंडपॉइंट आपको रीमेश टास्क की सूची प्राप्त करने की अनुमति देता है।

पैरामीटर

  • Name
    page_num
    Type
    integer
    डिफ़ॉल्ट 1
    Description

    पेजिनेशन के लिए पेज नंबर।

  • Name
    page_size
    Type
    integer
    डिफ़ॉल्ट 10
    Description

    पेज साइज़ की सीमा। अधिकतम अनुमत सीमा 50 आइटम है।

  • Name
    sort_by
    Type
    string
    Description

    जिस फ़ील्ड के आधार पर क्रमबद्ध करना है।

    उपलब्ध मान:

    • +created_at: निर्माण समय के आधार पर आरोही क्रम में क्रमबद्ध करें।
    • -created_at: निर्माण समय के आधार पर अवरोही क्रम में क्रमबद्ध करें।

रिटर्न

रीमेश टास्क ऑब्जेक्ट्स की एक पेजिनेटेड सूची लौटाता है।

Request

GET
/openapi/v1/remesh
curl https://api.meshy.ai/openapi/v1/remesh?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response

[
  {
    "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
    "type": "remesh",
    "model_urls": {
      "glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
      "fbx": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.fbx?Expires=***",
      "obj": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.obj?Expires=***",
      "usdz": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.usdz?Expires=***",
      "blend": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.blend?Expires=***",
      "stl": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.stl?Expires=***"
    },
    "progress": 100,
    "status": "SUCCEEDED",
    "created_at": 1699999999000,
    "started_at": 1700000000000,
    "finished_at": 1700000001000,
    "task_error": null
  }
]

GET/openapi/v1/remesh/:id/stream

Stream a Remesh Task

यह एंडपॉइंट Server-Sent Events (SSE) का उपयोग करके किसी Remesh टास्क के लिए रीयल-टाइम अपडेट स्ट्रीम करता है।

पैरामीटर

  • Name
    id
    Type
    path
    Description

    स्ट्रीम करने के लिए Remesh टास्क का यूनीक आइडेंटिफ़ायर।

रिटर्न

यह Server-Sent Events के रूप में The Remesh Task Objects की एक स्ट्रीम रिटर्न करता है।

PENDING या IN_PROGRESS टास्क के लिए, रिस्पॉन्स स्ट्रीम में केवल आवश्यक progress और status फ़ील्ड शामिल होंगी।

Request

GET
/openapi/v1/remesh/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream
curl -N https://api.meshy.ai/openapi/v1/remesh/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response Stream

// Error event example
event: error
data: {
  "status_code": 404,
  "message": "Task not found"
}

// Message event examples illustrate task progress.
// For PENDING or IN_PROGRESS tasks, the response stream will not include all fields.
event: message
data: {
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "progress": 0,
  "status": "PENDING"
}

event: message
data: {
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "remesh",
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
    "fbx": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.fbx?Expires=***",
    "obj": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.obj?Expires=***",
    "usdz": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.usdz?Expires=***",
    "blend": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.blend?Expires=***",
    "stl": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.stl?Expires=***"
  },
  "progress": 100,
  "status": "SUCCEEDED",
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "task_error": null,
}

रीमेश Task ऑब्जेक्ट

रीमेश Task ऑब्जेक्ट एक कार्य इकाई को दर्शाता है जिसका उपयोग Meshy किसी मौजूदा 3D मॉडल को रीमेश करने और विभिन्न फॉर्मैट में एक्सपोर्ट करने के लिए करता है। इस ऑब्जेक्ट में निम्नलिखित properties हैं:

Properties

  • Name
    id
    Type
    string
    Description

    Task के लिए यूनीक पहचानकर्ता। हालांकि हम टास्क आईडी के लिए क्रियान्वयन विवरण के रूप में k-sortable UUID का उपयोग करते हैं, आपको id के फॉर्मैट के बारे में कोई भी अनुमान नहीं लगाना चाहिए।

  • Name
    type
    Type
    string
    Description

    रीमेश task का प्रकार। इसका मान remesh है।

  • Name
    model_urls
    Type
    object
    Description

    Meshy द्वारा जेनरेट की गई टेक्सचर्ड 3D मॉडल फ़ाइल का डाउनलोड योग्य URL। किसी फॉर्मैट के लिए property को खाली स्ट्रिंग लौटाने के बजाय छोड़ दिया जाएगा, यदि वह फॉर्मैट जेनरेट नहीं किया गया है।

    • Name
      glb
      Type
      string
      Description

      GLB फ़ाइल का डाउनलोड योग्य URL।

    • Name
      fbx
      Type
      string
      Description

      FBX फ़ाइल का डाउनलोड योग्य URL।

    • Name
      obj
      Type
      string
      Description

      OBJ फ़ाइल का डाउनलोड योग्य URL।

    • Name
      usdz
      Type
      string
      Description

      USDZ फ़ाइल का डाउनलोड योग्य URL।

    • Name
      blend
      Type
      string
      Description

      Blender फ़ाइल का डाउनलोड योग्य URL।

    • Name
      stl
      Type
      string
      Description

      STL फ़ाइल का डाउनलोड योग्य URL।

    • Name
      3mf
      Type
      string
      Description

      3MF फ़ाइल का डाउनलोड योग्य URL। यह केवल तभी मौजूद होता है जब target_formats के माध्यम से 3mf का अनुरोध किया गया हो।

  • Name
    thumbnail_url
    Type
    string
    Description

    रीमेश किए गए मॉडल से रेंडर की गई प्रीव्यू इमेज का डाउनलोड योग्य URL।

  • Name
    alpha_thumbnail_url
    Type
    string
    Description

    thumbnail_url के पारदर्शी-बैकग्राउंड (RGBA) संस्करण का डाउनलोड योग्य URL। यह केवल तभी मौजूद होता है जब task को alpha_thumbnail: true के साथ बनाया गया हो और पारदर्शी प्रीव्यू सफलतापूर्वक रेंडर हुआ हो; अन्यथा इस फ़ील्ड को छोड़ दिया जाता है।

  • Name
    progress
    Type
    integer
    Description

    Task का progress। यदि task अभी शुरू नहीं हुआ है, तो यह property 0 होगी। एक बार task के सफल हो जाने पर, यह 100 हो जाएगी।

  • Name
    status
    Type
    string
    Description

    Task की स्थिति। संभावित मान PENDING, IN_PROGRESS, SUCCEEDED, FAILED में से एक हैं।

  • Name
    preceding_tasks
    Type
    integer
    Description

    पूर्ववर्ती tasks की संख्या।

  • Name
    created_at
    Type
    timestamp
    Description

    Task को बनाए जाने का टाइमस्टैंप, मिलीसेकंड में।

  • Name
    started_at
    Type
    timestamp
    Description

    Task को शुरू किए जाने का टाइमस्टैंप, मिलीसेकंड में। यदि task अभी शुरू नहीं हुआ है, तो यह property 0 होगी।

  • Name
    finished_at
    Type
    timestamp
    Description

    Task के समाप्त होने का टाइमस्टैंप, मिलीसेकंड में। यदि task अभी समाप्त नहीं हुआ है, तो यह property 0 होगी।

  • Name
    task_error
    Type
    object
    Description

    असफल tasks के लिए एरर विवरण। पूर्ण task_error ऑब्जेक्ट संदर्भ के लिए एरर देखें।

  • Name
    consumed_credits
    Type
    integer
    Description

    इस task द्वारा उपभोग किए गए क्रेडिट की संख्या। यह तब मौजूद होता है जब task की स्थिति PENDING, IN_PROGRESS, या SUCCEEDED हो। FAILED tasks के लिए 0 लौटाता है (विफलता पर क्रेडिट वापस कर दिए जाते हैं)।

Example Remesh Task Object

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "remesh",
  "model_urls": {
      "glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
      "fbx": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.fbx?Expires=***",
      "obj": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.obj?Expires=***",
      "usdz": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.usdz?Expires=***",
      "blend": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.blend?Expires=***",
      "stl": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.stl?Expires=***"
  },
  "progress": 100,
  "status": "SUCCEEDED",
  "preceding_tasks": 0,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "task_error": {

    "message": ""

  },

  "consumed_credits": 5
}