lowpoly 30 अक्टू॰ 2026 को बंद हो जाएगा। अनुरोध त्रुटियों से बचने के लिए इन तारीखों से पहले मॉडल बदल लें।

Rigging API

Rigging API आपको प्रोग्रामेटिक रूप से 3D ह्यूमनॉइड मॉडल में स्केलेटन (आर्मेचर) जोड़ने की सुविधा देता है, जिसमें मेश को उससे बाइंड किया जाता है ताकि वे एनिमेशन के लिए तैयार हों। रिग किए गए कैरेक्टर पर एनिमेशन लागू करने के लिए, Animation API देखें।

कृपया ध्यान दें कि प्रोग्रामेटिक रिगिंग वर्तमान में केवल स्पष्ट रूप से परिभाषित अंगों और शरीर संरचना वाले स्टैंडर्ड ह्यूमनॉइड (बाइपेडल) असेट्स के साथ ही अच्छी तरह काम करती है।


POST/openapi/v1/rigging

एक रिगिंग टास्क बनाएँ

यह एंडपॉइंट आपको किसी दिए गए 3D मॉडल के लिए एक नया रिगिंग टास्क बनाने की सुविधा देता है। सफलतापूर्वक पूरा होने पर, यह मानक फॉर्मेट में एक रिग्ड कैरेक्टर और वैकल्पिक रूप से बेसिक वॉकिंग/रनिंग एनिमेशन प्रदान करता है।

यह टास्क बैकग्राउंड में चलता है। इसमें आमतौर पर कितना समय लगता है, यह जानने के लिए देखें Processing Times।

फिलहाल, ऑटो-रिगिंग निम्नलिखित मॉडलों के लिए उपयुक्त नहीं है:

  • बिना टेक्सचर वाले मेश
  • गैर-ह्यूमनॉइड एसेट
  • अस्पष्ट लिम्ब और बॉडी संरचना वाले ह्यूमनॉइड एसेट

पैरामीटर

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

    वह इनपुट टास्क जिसे रिग किया जाना है। हम वर्तमान में टेक्सचर्ड ह्यूमनॉइड मॉडल का समर्थन करते हैं।

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

    कृपया Meshy को रिग करने के लिए सार्वजनिक रूप से एक्सेस करने योग्य URL या Data URI के माध्यम से एक 3D मॉडल प्रदान करें। हम वर्तमान में टेक्सचर्ड ह्यूमनॉइड GLB फ़ाइलों (.glb फॉर्मेट) का समर्थन करते हैं।

    अधिकतम फ़ाइल आकार: http या https URL के लिए 400 MB, data: URI के लिए 100 MB।

    10,000,000 से अधिक फेस वाली 100 MB से बड़ी फ़ाइल 400 लौटाती है। फेस को त्रिभुजों (triangles) के रूप में गिना जाता है, और एक से अधिक बार ड्रा किया गया मेश प्रत्येक कॉपी के लिए एक बार गिना जाता है। 100 MB से बड़े GLB में Draco कम्प्रेशन का उपयोग नहीं होना चाहिए।

  • Name
    height_meters
    Type
    number
    डिफ़ॉल्ट 1.7
    Description

    कैरेक्टर मॉडल की मीटर में अनुमानित ऊँचाई। यह स्केलिंग और रिगिंग सटीकता में सहायता करता है। यह एक पॉजिटिव संख्या होनी चाहिए।

  • Name
    texture_image_url
    Type
    string
    Description

    मॉडल की UV-अनवाइंड की गई बेस कलर टेक्सचर इमेज। सार्वजनिक रूप से एक्सेस करने योग्य URL या Data URI। हम वर्तमान में .png फॉर्मेट का समर्थन करते हैं।

    अधिकतम फ़ाइल आकार: 20 MB।

रिटर्न

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

फेलियर मोड

  • Name
    400 - Bad Request
    Description

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

    • पैरामीटर गायब: model_url या input_task_id में से एक अवश्य प्रदान किया जाना चाहिए।
    • अमान्य मॉडल फॉर्मेट: model_url एक ऐसी फ़ाइल को पॉइंट करता है जिसका एक्सटेंशन समर्थित नहीं है (केवल .glb समर्थित है)।
    • पहुँच से बाहर URL: model_url को डाउनलोड नहीं किया जा सका।
    • मॉडल फ़ाइल बहुत बड़ी है: model_url फ़ाइल 400 MB (http या https URL) या 100 MB (data: URI) से अधिक है।
    • बहुत अधिक फेस: model_url फ़ाइल 100 MB से बड़ी है और इसमें 10,000,000 से अधिक फेस हैं। फेस काउंट कम करें, फिर फ़ाइल दोबारा भेजें।
    • मॉडल फ़ाइल पढ़ने योग्य नहीं है: model_url फ़ाइल 100 MB से बड़ी है और इसका हेडर पढ़ा नहीं जा सकता, उदाहरण के लिए Draco-कम्प्रेस्ड GLB।
    • मॉडल हेडर बहुत जटिल है: model_url फ़ाइल 100 MB से बड़ी है और इसके हेडर में जाँचने के लिए बहुत अधिक मेश, नोड या रिकॉर्ड हैं। फ़ाइल में ऑब्जेक्ट्स की संख्या कम करें, फिर इसे दोबारा भेजें।
    • इमेज बहुत बड़ी है: texture_image_url इमेज 20 MB से अधिक है।
    • अमान्य इनपुट टास्क: input_task_id किसी वैध API टास्क को संदर्भित नहीं करता।
    • फेस काउंट सीमा पार: इनपुट मॉडल में 300,000 से अधिक फेस हैं। कृपया फेस काउंट को कम करने के लिए रिगिंग से पहले Remesh API का उपयोग करें।
  • Name
    401 - Unauthorized
    Description

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

  • Name
    402 - Payment Required
    Description

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

  • Name
    422 - Unprocessable Entity
    Description

    पोज़ एस्टिमेशन विफल रहा। दिया गया मॉडल एक वैध ह्यूमनॉइड कैरेक्टर नहीं हो सकता है।

  • Name
    429 - Too Many Requests
    Description

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

Request

POST
/openapi/v1/rigging
# Rig a model from a URL
curl https://api.meshy.ai/openapi/v1/rigging \
  -X POST \
  -H "Authorization: Bearer ${YOUR_API_KEY}" \
  -H 'Content-Type: application/json' \
  -d '{
    "model_url": "YOUR_MODEL_URL_OR_DATA_URI",
    "height_meters": 1.8
  }'

Response

{
  "result": "018b314a-a1b5-716d-c222-2f1776f7f579"
}

GET/openapi/v1/rigging/:id

Retrieve a Rigging Task

यह एंडपॉइंट आपको किसी मान्य टास्क id के आधार पर rigging टास्क प्राप्त करने देता है। कौन-से properties शामिल हैं, यह देखने के लिए The Rigging Task Object देखें।

पैरामीटर

  • Name
    id
    Type
    path
    Description

    प्राप्त करने के लिए rigging टास्क का यूनीक आइडेंटिफायर।

रिटर्न

रिस्पॉन्स में Rigging Task ऑब्जेक्ट होता है। विवरण के लिए The Rigging Task Object सेक्शन देखें।

Request

GET
/openapi/v1/rigging/018b314a-a1b5-716d-c222-2f1776f7f579
curl https://api.meshy.ai/openapi/v1/rigging/018b314a-a1b5-716d-c222-2f1776f7f579 \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Response

{
  "id": "018b314a-a1b5-716d-c222-2f1776f7f579",
  "type": "rig",
  "status": "SUCCEEDED",
  "created_at": 1747032400453,
  "progress": 100,
  "started_at": 1747032401314,
  "finished_at": 1747032418417,
  "expires_at": 1747291618417,
  "task_error": {

    "message": ""

  },

  "consumed_credits": 5,
  "result": {
    "rigged_character_fbx_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Character_output.fbx?Expires=...",
    "rigged_character_glb_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Character_output.glb?Expires=...",
    "basic_animations": {
      "walking_glb_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Animation_Walking_withSkin.glb?Expires=...",
      "walking_fbx_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Animation_Walking_withSkin.fbx?Expires=...",
      "walking_armature_glb_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Animation_Walking_withSkin_armature.glb?Expires=...",
      "running_glb_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Animation_Running_withSkin.glb?Expires=...",
      "running_fbx_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Animation_Running_withSkin.fbx?Expires=...",
      "running_armature_glb_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Animation_Running_withSkin_armature.glb?Expires=..."
    }
  },
  "preceding_tasks": 0
}

DELETE/openapi/v1/rigging/:id

रिगिंग टास्क को डिलीट करें

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

पाथ पैरामीटर्स

  • Name
    id
    Type
    path
    Description

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

टास्क की स्थिति

जो टास्क अभी भी PENDING है, उसे डिलीट कर दिया जाता है और क्रिएट-टाइम पर खर्च हुए क्रेडिट वापस कर दिए जाते हैं।

जो टास्क पहले से IN_PROGRESS है, उसे डिलीट नहीं किया जा सकता: अनुरोध को 409 Conflict के साथ अस्वीकार कर दिया जाता है और टास्क चलता रहता है। जिस टास्क को वर्कर पहले ही शुरू कर चुका है, उसके क्रेडिट वापस नहीं किए जा सकते, इसलिए उसे बीच में डिलीट करने पर आपके क्रेडिट और परिणाम दोनों का नुकसान होगा। इसके SUCCEEDED, FAILED या CANCELED स्थिति तक पहुंचने का इंतजार करें, फिर उसे डिलीट करें।

टर्मिनल स्थिति (SUCCEEDED, FAILED या CANCELED) में मौजूद टास्क को बिना किसी रिफंड के डिलीट कर दिया जाता है।

रिटर्न वैल्यू

सफल होने पर 200 OK रिटर्न करता है, या जब टास्क IN_PROGRESS हो तो 409 Conflict रिटर्न करता है।

Request

DELETE
/openapi/v1/rigging/018b314a-a1b5-716d-c222-2f1776f7f579
curl --request DELETE \
  --url https://api.meshy.ai/openapi/v1/rigging/018b314a-a1b5-716d-c222-2f1776f7f579 \
  -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 is left 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."
}

GET/openapi/v1/rigging

List Rigging Tasks

कॉलर के रिगिंग टास्क की पेजिनेटेड सूची लौटाता है, सबसे नए सबसे पहले। page_num और page_size के माध्यम से मानक पेजिनेशन।

ध्यान दें कि API के माध्यम से बनाए गए टास्क API के माध्यम से ही प्रबंधित होते हैं — वे वेब ऐप के My Assets में दिखाई नहीं देते। उस टास्क को खोजने के लिए इस एंडपॉइंट का उपयोग करें जिसकी ID अब आपके पास नहीं है।

Request

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

GET/openapi/v1/rigging/:id/stream

Rigging टास्क को स्ट्रीम करें

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

पैरामीटर

  • Name
    id
    Type
    path
    Description

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

रिटर्न

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

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

Request

GET
/openapi/v1/rigging/018b314a-a1b5-716d-c222-2f1776f7f579/stream
curl -N https://api.meshy.ai/openapi/v1/rigging/018b314a-a1b5-716d-c222-2f1776f7f579/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": "018b314a-a1b5-716d-c222-2f1776f7f579",
  "progress": 0,
  "status": "PENDING"
}

event: message
data: {
  "id": "018b314a-a1b5-716d-c222-2f1776f7f579",
  "progress": 50,
  "status": "IN_PROGRESS"
}

event: message
data: { // Example of a SUCCEEDED task stream item, mirroring The Rigging Task Object structure
  "id": "018b314a-a1b5-716d-c222-2f1776f7f579",
  "type": "rig",
  "status": "SUCCEEDED",
  "created_at": 1747032400453,
  "progress": 100,
  "started_at": 1747032401314,
  "finished_at": 1747032418417,
  "expires_at": 1747291618417,
  "task_error": {

    "message": ""

  },

  "consumed_credits": 5,
  "result": {
    "rigged_character_fbx_url": "https://assets.meshy.ai/.../Character_output.fbx?...",
    "rigged_character_glb_url": "https://assets.meshy.ai/.../Character_output.glb?...",
    "basic_animations": {
      "walking_glb_url": "https://assets.meshy.ai/.../Animation_Walking_withSkin.glb?...",
      "walking_fbx_url": "https://assets.meshy.ai/.../Animation_Walking_withSkin.fbx?...",
      "walking_armature_glb_url": "https://assets.meshy.ai/.../Animation_Walking_withSkin_armature.glb?...",
      "running_glb_url": "https://assets.meshy.ai/.../Animation_Running_withSkin.glb?...",
      "running_fbx_url": "https://assets.meshy.ai/.../Animation_Running_withSkin.fbx?...",
      "running_armature_glb_url": "https://assets.meshy.ai/.../Animation_Running_withSkin_armature.glb?..."
    }
  },
  "preceding_tasks": 0
}

The Rigging Task Object

Rigging Task ऑब्जेक्ट किसी कैरेक्टर की rigging के कार्य इकाई को दर्शाता है।

Properties

  • Name
    id
    Type
    string
    Description

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

  • Name
    type
    Type
    string
    Description

    Rigging टास्क का प्रकार। इसका मान rig है।

  • Name
    status
    Type
    string
    Description

    टास्क की स्थिति। संभावित मान: PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED।

  • Name
    progress
    Type
    integer
    Description

    टास्क की progress (0-100)। यदि शुरू नहीं हुआ है तो 0, यदि सफल हो गया है तो 100।

  • Name
    created_at
    Type
    timestamp
    Description

    टास्क के बनाए जाने का टाइमस्टैंप (epoch के बाद से मिलीसेकंड में)।

  • Name
    started_at
    Type
    timestamp
    Description

    टास्क के प्रोसेसिंग शुरू होने का टाइमस्टैंप (epoch के बाद से मिलीसेकंड में)। यदि शुरू नहीं हुआ है तो 0।

  • Name
    finished_at
    Type
    timestamp
    Description

    टास्क के समाप्त होने का टाइमस्टैंप (epoch के बाद से मिलीसेकंड में)। यदि समाप्त नहीं हुआ है तो 0।

  • Name
    expires_at
    Type
    timestamp
    Description

    वह टाइमस्टैंप (epoch के बाद से मिलीसेकंड में) जब टास्क के परिणामी asset समाप्त हो जाते हैं और उन्हें हटाया जा सकता है।

  • Name
    task_error
    Type
    object
    Description

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

  • Name
    consumed_credits
    Type
    integer
    Description

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

  • Name
    result
    Type
    object
    Description

    यदि टास्क SUCCEEDED होता है तो इसमें आउटपुट asset के URL होते हैं, अन्यथा null।

    • Name
      rigged_character_fbx_url
      Type
      string
      Description

      FBX फॉर्मेट में rig किए गए कैरेक्टर के लिए डाउनलोड करने योग्य URL।

    • Name
      rigged_character_glb_url
      Type
      string
      Description

      GLB फॉर्मेट में rig किए गए कैरेक्टर के लिए डाउनलोड करने योग्य URL।

    • Name
      basic_animations
      Type
      object (optional)
      Description

      इसमें डिफ़ॉल्ट एनिमेशन के लिए URL होते हैं। (उदाहरण के लिए, यदि generate_basic_animations परोक्ष रूप से true था या डिफ़ॉल्ट रूप से सक्षम था)।

      • Name
        walking_glb_url
        Type
        string
        Description
        GLB फॉर्मेट में चलने के एनिमेशन (skin के साथ) के लिए डाउनलोड करने योग्य URL।
      • Name
        walking_fbx_url
        Type
        string
        Description
        FBX फॉर्मेट में चलने के एनिमेशन (skin के साथ) के लिए डाउनलोड करने योग्य URL।
      • Name
        walking_armature_glb_url
        Type
        string
        Description
        GLB फॉर्मेट में चलने के एनिमेशन आर्मेचर के लिए डाउनलोड करने योग्य URL।
      • Name
        running_glb_url
        Type
        string
        Description
        GLB फॉर्मेट में दौड़ने के एनिमेशन (skin के साथ) के लिए डाउनलोड करने योग्य URL।
      • Name
        running_fbx_url
        Type
        string
        Description
        FBX फॉर्मेट में दौड़ने के एनिमेशन (skin के साथ) के लिए डाउनलोड करने योग्य URL।
      • Name
        running_armature_glb_url
        Type
        string
        Description
        GLB फॉर्मेट में दौड़ने के एनिमेशन आर्मेचर के लिए डाउनलोड करने योग्य URL।
  • Name
    preceding_tasks
    Type
    integer
    Description

    कतार में पूर्ववर्ती टास्क की संख्या। केवल तभी सार्थक है जब स्थिति PENDING हो।

Example Rigging Task Object

{
  "id": "018b314a-a1b5-716d-c222-2f1776f7f579",
  "type": "rig",
  "status": "SUCCEEDED",
  "created_at": 1747032400453,
  "progress": 100,
  "started_at": 1747032401314,
  "finished_at": 1747032418417,
  "expires_at": 1747291618417,
  "task_error": {

    "message": ""

  },

  "consumed_credits": 5,
  "result": {
    "rigged_character_fbx_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Character_output.fbx?Expires=...",
    "rigged_character_glb_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Character_output.glb?Expires=...",
    "basic_animations": {
      "walking_glb_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Animation_Walking_withSkin.glb?Expires=...",
      "walking_fbx_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Animation_Walking_withSkin.fbx?Expires=...",
      "walking_armature_glb_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Animation_Walking_withSkin_armature.glb?Expires=...",
      "running_glb_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Animation_Running_withSkin.glb?Expires=...",
      "running_fbx_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Animation_Running_withSkin.fbx?Expires=...",
      "running_armature_glb_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Animation_Running_withSkin_armature.glb?Expires=..."
    }
  },
  "preceding_tasks": 0
}