एनिमेशन API

उपलब्ध एनिमेशनों की खोज करने और उन्हें रिग किए गए किरदारों पर लागू करने के लिए एंडपॉइंट।


POST/openapi/v1/animations

एक एनिमेशन टास्क बनाएं

यह एंडपॉइंट आपको पहले से रिग किए गए कैरेक्टर पर एनिमेशन लागू करने के लिए एक नया टास्क बनाने की अनुमति देता है — यह या तो एनिमेशन लाइब्रेरी से एक प्रीसेट एक्शन (action_id) हो सकता है, या Text to Motion API से जनरेट किया गया एक मोशन क्लिप (motion_task_id) हो सकता है। इसमें पोस्ट-प्रोसेसिंग विकल्प शामिल हैं।

पैरामीटर

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

    सफलतापूर्वक पूर्ण हुए रिगिंग टास्क का id (POST /openapi/v1/rigging से)। इस टास्क से मिले कैरेक्टर को एनिमेट किया जाएगा।

  • Name
    action_id
    Type
    integer
    Description

    लागू किए जाने वाले प्रीसेट एनिमेशन एक्शन का पहचानकर्ता। उपलब्ध एनिमेशन की पूरी सूची के लिए Animation Library Reference देखें। action_id या motion_task_id में से ठीक एक प्रदान करें।

  • Name
    motion_task_id
    Type
    string
    Description

    प्रीसेट एक्शन के बजाय लागू करने के लिए सफलतापूर्वक पूर्ण हुए Text to Motion टास्क का id। जनरेट किए गए क्लिप को रिग किए गए कैरेक्टर पर रीटार्गेट किया जाता है और क्लिप को बनाए जाने के समय ही स्नैपशॉट कर लिया जाता है, इसलिए यदि स्रोत टास्क बाद में समाप्त हो जाता है या हटा दिया जाता है, तो यह टास्क प्रभावित नहीं होता। स्रोत टास्क की एसेट 3 दिनों के लिए बरकरार रखी जाती हैं — क्लिप के समाप्त होने से पहले उसे लागू करें। इसके लिए बाइपेड रिग आवश्यक है। action_id या motion_task_id में से ठीक एक प्रदान करें।

  • Name
    post_process
    Type
    object
    Description

    एनिमेशन आउटपुट के लिए वैकल्पिक पोस्ट-प्रोसेसिंग। मानक एनिमेशन फ़ाइलें प्राप्त करने के लिए इसे छोड़ दें।

केवल तब लागू होता है जब post_process is set
  • Name
    operation_type
    Type
    string
    आवश्यक
    Description

    किया जाने वाला ऑपरेशन का प्रकार। उपलब्ध मान: change_fps, fbx2usdz, extract_armature

  • Name
    fps
    Type
    integer
    डिफ़ॉल्ट 30
    Description

    लक्ष्य फ्रेम रेट। केवल तब लागू होता है जब operation_type change_fps हो। अनुमत मान: 24, 25, 30, 60

रिटर्न

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

विफलता स्थितियां

  • Name
    400 - Bad Request
    Description

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

    • पैरामीटर गायब: rig_task_id गायब है, या action_id और motion_task_id में से कोई भी प्रदान नहीं किया गया है।
    • परस्पर विरोधी पैरामीटर: action_id और motion_task_id दोनों प्रदान किए गए थे — ये परस्पर अनन्य हैं।
    • अमान्य रिग टास्क: rig_task_id अमान्य है या किसी विफल/अस्तित्वहीन टास्क को संदर्भित करता है।
    • अमान्य एक्शन ID: action_id किसी मान्य एनिमेशन के अनुरूप नहीं है।
    • मोशन टास्क तैयार नहीं है: motion_task_id टास्क अभी SUCCEEDED नहीं हुआ है।
    • असमर्थित रिग: motion_task_id के लिए बाइपेड रिग आवश्यक है; क्वाड्रुपेड रिग को अस्वीकार कर दिया जाता है।
  • Name
    401 - Unauthorized
    Description

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

  • Name
    402 - Payment Required
    Description

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

  • Name
    404 - Not Found
    Description

    rig_task_id द्वारा निर्दिष्ट रिगिंग टास्क नहीं मिला, motion_task_id द्वारा निर्दिष्ट मोशन टास्क नहीं मिला, या मोशन क्लिप की समय सीमा समाप्त हो गई है (स्रोत टास्क की एसेट 3 दिनों के लिए बरकरार रखी जाती हैं)।

  • Name
    429 - Too Many Requests
    Description

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

Request

POST
/openapi/v1/animations
# Animate a rigged model with required params only
curl https://api.meshy.ai/openapi/v1/animations \
  -X POST \
  -H "Authorization: Bearer ${YOUR_API_KEY}" \
  -H 'Content-Type: application/json' \
  -d '{
    "rig_task_id": "018b314a-a1b5-716d-c222-2f1776f7f579",
    "action_id": 92
  }'

# Apply a generated Text to Motion clip instead of a preset action
curl https://api.meshy.ai/openapi/v1/animations \
  -X POST \
  -H "Authorization: Bearer ${YOUR_API_KEY}" \
  -H 'Content-Type: application/json' \
  -d '{
    "rig_task_id": "018b314a-a1b5-716d-c222-2f1776f7f579",
    "motion_task_id": "018c425b-b2c6-727e-d333-3c1887i9h791"
  }'

# With post-processing to change FPS
curl https://api.meshy.ai/openapi/v1/animations \
  -X POST \
  -H "Authorization: Bearer ${YOUR_API_KEY}" \
  -H 'Content-Type: application/json' \
  -d '{
    "rig_task_id": "018b314a-a1b5-716d-c222-2f1776f7f579",
    "action_id": 92,
    "post_process": {
      "operation_type": "change_fps",
      "fps": 24
    }
  }'

Response

{
  "result": "018c425b-b2c6-727e-d333-3c1887i9h791"
}

GET/openapi/v1/animations/:id

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

यह एंडपॉइंट आपको एक वैध टास्क id दिए जाने पर एनिमेशन टास्क प्राप्त करने की अनुमति देता है। यह देखने के लिए कि कौन से प्रॉपर्टीज़ शामिल हैं, The Animation Task Object देखें।

पैरामीटर

  • Name
    id
    Type
    path
    Description

    प्राप्त किए जाने वाले एनिमेशन टास्क के लिए यूनिक आइडेंटिफ़ायर।

रिटर्न

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

Request

GET
/openapi/v1/animations/018c425b-b2c6-727e-d333-3c1887i9h791
curl https://api.meshy.ai/openapi/v1/animations/018c425b-b2c6-727e-d333-3c1887i9h791 
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Response

{
  "id": "018c425b-b2c6-727e-d333-3c1887i9h791",
  "type": "animate",
  "status": "SUCCEEDED",
  "created_at": 1747032440896,
  "progress": 100,
  "started_at": 1747032441210,
  "finished_at": 1747032457530,
  "expires_at": 1747291657530,
  "task_error": {

    "message": ""

  },

  "consumed_credits": 3,
  "result": {
    "animation_glb_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018c425b-b2c6-727e-d333-3c1887i9h791/output/Animation_Reaping_Swing_withSkin.glb?Expires=...",
    "animation_fbx_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018c425b-b2c6-727e-d333-3c1887i9h791/output/Animation_Reaping_Swing_withSkin.fbx?Expires=...",
    "processed_usdz_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018c425b-b2c6-727e-d333-3c1887i9h791/output/processed.usdz?Expires=...",
    "processed_armature_fbx_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018c425b-b2c6-727e-d333-3c1887i9h791/output/processed_armature.fbx?Expires=...",
    "processed_animation_fps_fbx_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018c425b-b2c6-727e-d333-3c1887i9h791/output/processed_60fps.fbx?Expires=..."
  },
  "preceding_tasks": 0
}

DELETE/openapi/v1/animations/:id

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

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

पथ पैरामीटर

  • Name
    id
    Type
    path
    Description

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

रिटर्न

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

Request

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

Response

// Returns 200 Ok on success.

GET/openapi/v1/animations

एनिमेशन टास्क की सूची

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

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

Request

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

GET/openapi/v1/animations/:id/stream

एनिमेशन टास्क को स्ट्रीम करें

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

पैरामीटर्स

  • Name
    id
    Type
    path
    Description

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

रिटर्न

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

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

Request

GET
/openapi/v1/animations/018c425b-b2c6-727e-d333-3c1887i9h791/stream
curl -N https://api.meshy.ai/openapi/v1/animations/018c425b-b2c6-727e-d333-3c1887i9h791/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": "018c425b-b2c6-727e-d333-3c1887i9h791",
  "progress": 0,
  "status": "PENDING"
}

event: message
data: {
  "id": "018c425b-b2c6-727e-d333-3c1887i9h791",
  "progress": 50,
  "status": "IN_PROGRESS"
}

event: message
data: { // Example of a SUCCEEDED task stream item, mirroring The Animation Task Object structure
  "id": "018c425b-b2c6-727e-d333-3c1887i9h791",
  "type": "animate",
  "status": "SUCCEEDED",
  "created_at": 1747032440896,
  "progress": 100,
  "started_at": 1747032441210,
  "finished_at": 1747032457530,
  "expires_at": 1747291657530,
  "task_error": {

    "message": ""

  },

  "consumed_credits": 3,
  "result": {
    "animation_glb_url": "https://assets.meshy.ai/.../Animation_Reaping_Swing_withSkin.glb?...",
    "animation_fbx_url": "https://assets.meshy.ai/.../Animation_Reaping_Swing_withSkin.fbx?...",
    "processed_usdz_url": "https://assets.meshy.ai/.../processed.usdz?...",
    "processed_armature_fbx_url": "https://assets.meshy.ai/.../processed_armature.fbx?...",
    "processed_animation_fps_fbx_url": "https://assets.meshy.ai/.../processed_60fps.fbx?..."
  },
  "preceding_tasks": 0
}

The Animation Task Object

एनिमेशन टास्क ऑब्जेक्ट किसी रिग्ड कैरेक्टर पर एनिमेशन लागू करने के कार्य इकाई (work unit) का प्रतिनिधित्व करता है।

Properties

  • Name
    id
    Type
    string
    Description

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

  • Name
    type
    Type
    string
    Description

    Animation टास्क का प्रकार। इसका मान animate है।

  • Name
    status
    Type
    string
    Description

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

  • Name
    progress
    Type
    integer
    Description

    टास्क की progress (0-100)।

  • 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

    टास्क के परिणाम असेट्स की समय-सीमा समाप्त होने का टाइमस्टैंप (एपोक के बाद से मिलीसेकंड में)।

  • 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 है तो इसमें आउटपुट एनिमेशन URL शामिल हैं।

    • Name
      animation_glb_url
      Type
      string
      Description
      GLB फॉर्मेट में एनिमेशन के लिए डाउनलोड करने योग्य URL।
    • Name
      animation_fbx_url
      Type
      string
      Description
      FBX फॉर्मेट में एनिमेशन के लिए डाउनलोड करने योग्य URL।
    • Name
      processed_usdz_url
      Type
      string
      Description
      USDZ फॉर्मेट में प्रोसेस किए गए एनिमेशन के लिए डाउनलोड करने योग्य URL।
    • Name
      processed_armature_fbx_url
      Type
      string
      Description
      FBX फॉर्मेट में प्रोसेस किए गए आर्मेचर के लिए डाउनलोड करने योग्य URL।
    • Name
      processed_animation_fps_fbx_url
      Type
      string
      Description
      FBX फॉर्मेट में बदले हुए FPS वाले एनिमेशन के लिए डाउनलोड करने योग्य URL (उदाहरण के लिए, यदि change_fps ऑपरेशन का उपयोग किया गया था)।
  • Name
    preceding_tasks
    Type
    integer
    Description

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

Example Animation Task Object

{
  "id": "018c425b-b2c6-727e-d333-3c1887i9h791",
  "type": "animate",
  "status": "SUCCEEDED",
  "created_at": 1747032440896,
  "progress": 100,
  "started_at": 1747032441210,
  "finished_at": 1747032457530,
  "expires_at": 1747291657530,
  "task_error": {

    "message": ""

  },

  "consumed_credits": 3,
  "result": {
    "animation_glb_url": "https://assets.meshy.ai/.../Animation_Reaping_Swing_withSkin.glb?...",
    "animation_fbx_url": "https://assets.meshy.ai/.../Animation_Reaping_Swing_withSkin.fbx?...",
    "processed_usdz_url": "https://assets.meshy.ai/.../processed.usdz?...",
    "processed_armature_fbx_url": "https://assets.meshy.ai/.../processed_armature.fbx?...",
    "processed_animation_fps_fbx_url": "https://assets.meshy.ai/.../processed_60fps.fbx?..."
  },
  "preceding_tasks": 0
}