यह एंडपॉइंट आपको पहले से रिग किए गए कैरेक्टर पर एनिमेशन लागू करने के लिए एक नया टास्क बनाने की अनुमति देता है — एनिमेशन लाइब्रेरी से एक प्रीसेट एक्शन (action_id), एक फ़ाइल में मर्ज किए गए कई प्रीसेट एक्शन (action_ids), या 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
लागू किए जाने वाले प्रीसेट एनिमेशन एक्शन का आइडेंटिफायर। उपलब्ध एनिमेशनों की पूरी सूची के लिए एनिमेशन लाइब्रेरी रेफरेंस देखें। action_id, action_ids या motion_task_id में से ठीक एक प्रदान करें।
Name
action_ids
Type
array of integers
Description
एक साथ लागू करने के लिए कई प्रीसेट एनिमेशन एक्शन, जिन्हें एक ही फ़ाइल के रूप में लौटाया जाता है जिसमें प्रति एक्शन एक एनिमेशन क्लिप होता है — यह गेम इंजन में स्टेट मशीन से कैरेक्टर को नियंत्रित करने के लिए उपयोगी है। एनिमेशन लाइब्रेरी रेफरेंस से 1 से 10 तक action_id मान प्रदान करें; id अद्वितीय होने चाहिए। प्रति एक्शन 3 क्रेडिट लगते हैं। action_id, action_ids या motion_task_id में से ठीक एक प्रदान करें।
एकल-तत्व वाला action_ids पास करना उस मान को action_id के रूप में पास करने के बराबर है।
Name
motion_task_id
Type
string
Description
प्रीसेट एक्शन के बजाय लागू करने के लिए एक सफलतापूर्वक पूर्ण हुए Text to Motion टास्क का id। जनरेट किए गए क्लिप को रिग किए गए कैरेक्टर पर रीटारगेट किया जाता है और क्लिप को बनाते समय ही स्नैपशॉट कर लिया जाता है, इसलिए यदि स्रोत टास्क बाद में एक्सपायर हो जाता है या डिलीट कर दिया जाता है तो भी यह टास्क प्रभावित नहीं होता। स्रोत टास्क के एसेट 3 दिनों तक बनाए रखे जाते हैं — एक्सपायर होने से पहले क्लिप को लागू करें। इसके लिए बाइपेड रिग आवश्यक है। action_id, action_ids या 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।
action_ids के साथ, टास्क प्रति एक्शन एक फ़ाइल के बजाय एक मर्ज की गई फ़ाइल लौटाता है: animation_glb_url और animation_fbx_url प्रत्येक एक एकल एसेट की ओर इशारा करते हैं जिसमें अनुरोधित प्रत्येक एक्शन एक अलग क्लिप के रूप में शामिल होता है।
क्लिप क्रम: action_ids ऐरे का क्रम, न कि id के संख्यात्मक क्रम में।
क्लिप नाम: लाइब्रेरी में एनिमेशन का नाम, जो Meshy वेब ऐप से किसी कैरेक्टर के सभी एनिमेशन को एक ही फ़ाइल के रूप में एक्सपोर्ट करते समय मिलने वाले नामों से मेल खाता है। यदि दो अनुरोधित id एक ही क्लिप नाम में हल होते हैं, तो बाद वाले नाम के साथ उसका action_id जोड़ दिया जाता है ताकि नाम अद्वितीय बने रहें।
पोस्ट-प्रोसेसिंग: व्यक्तिगत क्लिप पर नहीं, बल्कि मर्ज की गई फ़ाइल पर लागू की जाती है।
motion_task_id के साथ, रीटारगेट केवल GLB एनिमेशन उत्पन्न कर सकता है। यदि आपने post_process का अनुरोध किया है और कोई FBX उपलब्ध नहीं है, तो टास्क task_error के साथ विफल हो जाता है और आपके क्रेडिट स्वचालित रूप से वापस कर दिए जाते हैं; post_process के बिना टास्क सफल होता है और animation_fbx_url खाली रहता है।
रिटर्न
रिस्पॉन्स का result प्रॉपर्टी नए बनाए गए एनिमेशन टास्क का टास्क id शामिल करता है।
विफलता मोड
Name
400 - Bad Request
Description
अनुरोध अस्वीकार्य था। सामान्य कारण:
पैरामीटर गायब: rig_task_id गायब है, या action_id, action_ids और motion_task_id में से कोई भी प्रदान नहीं किया गया है।
परस्पर विरोधी पैरामीटर: action_id, action_ids और motion_task_id में से एक से अधिक प्रदान किए गए — ये परस्पर अनन्य हैं।
अमान्य रिग टास्क: rig_task_id अमान्य है या किसी विफल/अस्तित्वहीन टास्क की ओर इशारा करता है।
अमान्य एक्शन ID: एक action_id — या action_ids की कोई एंट्री — किसी मान्य एनिमेशन से मेल नहीं खाती।
बहुत अधिक एक्शन: action_ids में 10 से अधिक id शामिल हैं।
डुप्लिकेट एक्शन: action_ids में एक ही 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 onlycurlhttps://api.meshy.ai/openapi/v1/animations \-XPOST \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "rig_task_id": "018b314a-a1b5-716d-c222-2f1776f7f579", "action_id": 92 }'# Apply several preset actions and get one file with one clip per actioncurlhttps://api.meshy.ai/openapi/v1/animations \-XPOST \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "rig_task_id": "018b314a-a1b5-716d-c222-2f1776f7f579", "action_ids": [10, 25, 92] }'# Apply a generated Text to Motion clip instead of a preset actioncurlhttps://api.meshy.ai/openapi/v1/animations \-XPOST \-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 FPScurlhttps://api.meshy.ai/openapi/v1/animations \-XPOST \-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 } }'
यह एंडपॉइंट आपको किसी वैध टास्क id के आधार पर एक एनिमेशन टास्क प्राप्त करने की सुविधा देता है। कौन से प्रॉपर्टीज़ शामिल हैं, यह देखने के लिए द एनिमेशन टास्क ऑब्जेक्ट देखें।
पैरामीटर
Name
id
Type
path
Description
प्राप्त करने के लिए एनिमेशन टास्क का यूनीक पहचानकर्ता।
रिटर्न
प्रतिक्रिया में एनिमेशन टास्क ऑब्जेक्ट शामिल होता है। विवरण के लिए द एनिमेशन टास्क ऑब्जेक्ट सेक्शन देखें।
यह एंडपॉइंट किसी एनिमेशन टास्क को स्थायी रूप से डिलीट कर देता है, जिसमें सभी संबंधित मॉडल और डेटा शामिल हैं। यह कार्रवाई अपरिवर्तनीय है।
पाथ पैरामीटर
Name
id
Type
path
Description
डिलीट किए जाने वाले एनिमेशन टास्क की ID।
टास्क स्टेटस
जो टास्क अभी भी PENDING है, वह डिलीट कर दिया जाता है और बनाते समय
खर्च हुए क्रेडिट वापस कर दिए जाते हैं।
जो टास्क पहले से IN_PROGRESS है, उसे डिलीट नहीं किया जा सकता: अनुरोध को
409 Conflict के साथ अस्वीकार कर दिया जाता है और टास्क चलता रहता है। जिस टास्क को
वर्कर पहले ही शुरू कर चुका है, उसके क्रेडिट वापस नहीं किए जा सकते, इसलिए उसे बीच में
डिलीट करने पर आपको क्रेडिट और परिणाम दोनों का नुकसान होगा। इसके
SUCCEEDED, FAILED या CANCELED स्थिति तक पहुँचने का इंतज़ार करें, फिर इसे डिलीट करें।
अंतिम स्थिति (SUCCEEDED, FAILED या CANCELED) में मौजूद टास्क को
बिना रिफंड के डिलीट कर दिया जाता है।
रिटर्न
सफल होने पर 200 OK रिटर्न करता है, या जब टास्क IN_PROGRESS होता है
तो 409 Conflict रिटर्न करता है।
// 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."}
यह कॉलर के एनिमेशन टास्क की एक पेजिनेटेड सूची लौटाता है, जिसमें सबसे नया पहले होता है। page_num और page_size के माध्यम से मानक पेजिनेशन।
ध्यान दें कि API के माध्यम से बनाए गए टास्क API के माध्यम से ही प्रबंधित होते हैं — वे वेब ऐप के My Assets में दिखाई नहीं देते। इस एंडपॉइंट का उपयोग उस टास्क को खोजने के लिए करें जिसकी ID अब आपके पास नहीं है।
एनिमेशन Task object एक रिग्ड कैरेक्टर पर एनिमेशन लागू करने के कार्य इकाई (work unit) को दर्शाता है।
Properties
Name
id
Type
string
Description
टास्क के लिए यूनीक आइडेंटिफायर।
Name
type
Type
string
Description
एनिमेशन टास्क का प्रकार। इसका मान 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
टास्क बनाए जाने का टाइमस्टैंप (epoch के बाद से मिलीसेकंड में)।
एक टाइमस्टैंप 1 जनवरी, 1970 UTC के बाद से बीते मिलीसेकंड की संख्या को दर्शाता है, जो
RFC 3339 मानक का पालन करता है।
उदाहरण के लिए, शुक्रवार, 1 सितंबर, 2023 12:00:00 PM GMT को 1693569600000 के रूप में दर्शाया जाता है। यह
Meshy API में सभी टाइमस्टैंप पर लागू होता है।
Name
started_at
Type
timestamp
Description
टास्क के प्रोसेसिंग शुरू होने का टाइमस्टैंप (epoch के बाद से मिलीसेकंड में)। अगर शुरू नहीं हुआ है तो 0।
Name
finished_at
Type
timestamp
Description
टास्क के खत्म होने का टाइमस्टैंप (epoch के बाद से मिलीसेकंड में)। अगर खत्म नहीं हुआ है तो 0।
Name
expires_at
Type
timestamp
Description
टास्क के रिज़ल्ट असेट्स के एक्सपायर होने का टाइमस्टैंप (epoch के बाद से मिलीसेकंड में)।
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। action_ids के साथ बनाए गए टास्क के लिए, यह एकल फ़ाइल हर अनुरोधित एक्शन को अलग क्लिप के रूप में शामिल करती है।
Name
animation_fbx_url
Type
string
Description
FBX फॉर्मेट में एनिमेशन के लिए डाउनलोड करने योग्य URL। action_ids के साथ बनाए गए टास्क के लिए, यह एकल फ़ाइल हर अनुरोधित एक्शन को अलग क्लिप के रूप में शामिल करती है।
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
कतार (queue) में पहले से मौजूद टास्क की संख्या। यह केवल तभी सार्थक है जब स्थिति PENDING हो।
लाइब्रेरी में मौजूद हर एनिमेशन को action_id के क्रम में लौटाता है। प्रतिक्रिया एक पूरी सूची होती है, पेज नहीं, इसलिए एक्शन पिकर भरने के लिए एक ही कॉल पर्याप्त है। फ़िल्टर परिणाम को सीमित करते हैं; सब कुछ प्राप्त करने के लिए उन सभी को छोड़ दें।
उसी कैटलॉग को आँखों से ब्राउज़ करने के लिए, हर एक्शन के एनिमेटेड प्रीव्यू के साथ, देखें एनिमेशन लाइब्रेरी संदर्भ।
यह एंडपॉइंट मुफ़्त है — यह कोई क्रेडिट खर्च नहीं करता।
पैरामीटर
Name
search
Type
string
Description
name या key पर केस-असंवेदनशील सबस्ट्रिंग मिलान। शाब्दिक रूप से मिलान किया जाता है, इसलिए % और _ वाइल्डकार्ड के बजाय सामान्य कैरेक्टर हैं।
Name
category
Type
string
Description
category पर सटीक मिलान।
उपलब्ध मान:
WalkAndRun
BodyMovements
DailyActions
Fighting
Dancing
Name
sub_category
Type
string
Description
sub_category पर सटीक मिलान। इसे अकेले स्वीकार किया जाता है — सब-कैटेगरी नाम कैटेगरी में अद्वितीय नहीं होते (Transitioning दोनों Fighting और DailyActions के अंतर्गत दिखाई देता है), इसलिए बिना category के यह फ़िल्टर उस सब-कैटेगरी से मेल खाता है जहाँ भी वह दिखाई दे।
Name
action_ids
Type
string
Description
लौटाए जाने वाले action_id मानों की अल्पविराम-विभाजित सूची, ब्राउज़ करने के बजाय विशिष्ट id को हल करने के लिए। अधिकतम 200 id स्वीकार करता है। जिन id को कोई एनिमेशन धारण नहीं करता, वे प्रतिक्रिया से बस अनुपस्थित होते हैं, इसलिए आप इसका उपयोग यह जांचने के लिए भी कर सकते हैं कि आपके द्वारा संग्रहीत id अभी भी उपलब्ध हैं या नहीं।
फ़िल्टर को संयोजित करना
फ़िल्टर एक साथ लागू किए जाते हैं — प्रत्येक परिणाम को और सीमित करता है, इसलिए एक एनिमेशन तभी लौटाया जाता है जब वह उन सभी को संतुष्ट करता है। एक ही फ़िल्टर के भीतर, कई मान किसी से भी मेल खाते हैं: search, name या key से मेल खाता है, और action_ids सूची में किसी भी id से मेल खाता है।
इसका मतलब है कि बिना किसी ओवरलैप वाला संयोजन एक त्रुटि के बजाय एक खाली ऐरे लौटाता है। एक्शन 92 "Double Combo Attack" है, एक Fighting एनिमेशन:
?action_ids=92&category=Fighting एक्शन 92 लौटाता है।
?action_ids=92&category=Dancing[] लौटाता है — यह Dancing एनिमेशन नहीं है।
?action_ids=92&search=walk[] लौटाता है — इसका नाम walk से मेल नहीं खाता।
विशिष्ट एनिमेशन को उनकी कैटेगरी की परवाह किए बिना प्राप्त करने के लिए, action_ids को अकेले पास करें।
यहाँ लौटाया गया हर action_id ऊपर Create an Animation Task द्वारा स्वीकार किया जाता है, और जो भी id यह स्वीकार करता है वह यहाँ लौटाया जाता है। हटाए गए (retired) एनिमेशन दोनों में अनुपस्थित होते हैं। यदि आप लाइब्रेरी को कैश करते हैं, तो इसे समय-समय पर रीफ्रेश करें ताकि कोई हटाई गई id आपके पिकर में बनी न रहे।
एनिमेशन टास्क बनाते समय action_id के रूप में पास किया जाने वाला मान। यह अद्वितीय और स्थिर है, लेकिन लगातार क्रम में नहीं है — हटाए गए एनिमेशन क्रमांकन में रिक्त स्थान छोड़ जाते हैं, इसलिए कभी यह न मानें कि आईडी की कोई श्रेणी मान्य है।
Name
name
Type
string
Description
प्रदर्शन के लिए मानव-पठनीय लेबल। यह अद्वितीय नहीं है: कुछ एनिमेशन एक अलग वेरिएंट के साथ नाम साझा करते हैं, इसलिए पहचान के लिए action_id या key का उपयोग करें।
Name
key
Type
string
Description
एनिमेशन के लिए अद्वितीय, स्थिर स्लग। जब आपको अपने खुद के स्टोरेज को की (key) बनाने के लिए गैर-संख्यात्मक पहचानकर्ता की आवश्यकता हो, तो इसका उपयोग करें।
Name
category
Type
string
Description
शीर्ष-स्तरीय समूहन, जैसे Fighting।
Name
sub_category
Type
string
Description
श्रेणी के भीतर समूहन, जैसे AttackingwithWeapon।
Name
preview_url
Type
string
Description
एक्शन का पूर्वावलोकन करने वाली एनिमेटेड GIF का URL, जो सीधे आपके अपने पिकर में रेंडर करने के लिए उपयुक्त है।