यह एंडपॉइंट आपको एक नया टास्क बनाने की सुविधा देता है ताकि किसी पहले से रिग्ड कैरेक्टर पर एनिमेशन लागू किया जा सके — एनिमेशन लाइब्रेरी से एक प्रीसेट एक्शन (action_id), एक फ़ाइल में मर्ज किए गए कई प्रीसेट एक्शन (action_ids), या Text to Motion API से जनरेट किया गया एक मोशन क्लिप (motion_task_id)। इसमें पोस्ट-प्रोसेसिंग विकल्प भी शामिल हैं।
पैरामीटर
Name
rig_task_id
Type
string
आवश्यक
Description
एक सफलतापूर्वक पूर्ण हुए rigging टास्क (POST /openapi/v1/rigging से) की id। इस टास्क का कैरेक्टर एनिमेट किया जाएगा।
Name
action_id
Type
integer
Description
लागू करने के लिए प्रीसेट एनिमेशन एक्शन का पहचानकर्ता। उपलब्ध एनिमेशनों की पूरी सूची के लिए Animation Library Reference देखें। action_id, action_ids या motion_task_id में से ठीक एक प्रदान करें।
Name
action_ids
Type
array of integers
Description
एक साथ लागू करने के लिए कई प्रीसेट एनिमेशन एक्शन, जिन्हें एक ही फ़ाइल के रूप में लौटाया जाता है जिसमें प्रत्येक एक्शन के लिए एक एनिमेशन क्लिप होती है — यह गेम इंजन में स्टेट मशीन से कैरेक्टर को चलाने के लिए उपयोगी है। Animation Library Reference से 1 से 10 action_id मान प्रदान करें; ids अद्वितीय होनी चाहिए। प्रति एक्शन 3 क्रेडिट लगते हैं। action_id, action_ids या motion_task_id में से ठीक एक प्रदान करें।
एकल-तत्व वाला action_ids पास करना उस मान को action_id के रूप में पास करने के बराबर है।
Name
motion_task_id
Type
string
Description
प्रीसेट एक्शन की बजाय लागू करने के लिए एक सफलतापूर्वक पूर्ण हुए Text to Motion टास्क की id। जनरेट की गई क्लिप को रिग्ड कैरेक्टर पर रीटार्गेट किया जाता है और क्लिप को निर्माण के समय स्नैपशॉट कर लिया जाता है, इसलिए यदि सोर्स टास्क बाद में एक्सपायर हो जाए या हटा दिया जाए तो भी यह टास्क प्रभावित नहीं होता। सोर्स टास्क के एसेट 3 दिनों के लिए बनाए रखे जाते हैं — क्लिप के एक्सपायर होने से पहले उसे लागू करें। इसके लिए biped rig आवश्यक है। 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 array का क्रम, न कि ids का संख्यात्मक क्रम।
क्लिप के नाम: लाइब्रेरी में एनिमेशन का नाम, जो उन नामों से मेल खाते हैं जो आपको Meshy वेब ऐप से किसी कैरेक्टर के सभी एनिमेशन को एक फ़ाइल के रूप में एक्सपोर्ट करने पर मिलते हैं। यदि दो अनुरोधित ids एक ही क्लिप नाम पर रिज़ॉल्व होती हैं, तो बाद वाली को नाम अद्वितीय बनाए रखने के लिए उसके 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 में से एक से अधिक प्रदान किए गए — ये आपस में परस्पर अनन्य (mutually exclusive) हैं।
अमान्य rig टास्क: rig_task_id अमान्य है या किसी विफल/अस्तित्वहीन टास्क को संदर्भित करता है।
अमान्य action ID: एक action_id — या action_ids की कोई प्रविष्टि — किसी मान्य एनिमेशन के अनुरूप नहीं है।
बहुत अधिक actions: action_ids में 10 से अधिक ids हैं।
डुप्लिकेट actions: action_ids में एक ही id एक से अधिक बार मौजूद है।
मोशन टास्क तैयार नहीं: motion_task_id टास्क अभी तक SUCCEEDED नहीं हुआ है।
असमर्थित rig: motion_task_id के लिए biped rig आवश्यक है; quadruped rigs को अस्वीकार किया जाता है।
Name
401 - Unauthorized
Description
प्रमाणीकरण विफल हुआ। कृपया अपनी API की जाँच करें।
Name
402 - Payment Required
Description
यह टास्क करने के लिए पर्याप्त क्रेडिट नहीं हैं।
Name
404 - Not Found
Description
rig_task_id द्वारा निर्दिष्ट rigging टास्क नहीं मिला, 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 दिए जाने पर एनिमेशन टास्क प्राप्त करने की अनुमति देता है। यह देखने के लिए कि कौन से प्रॉपर्टीज़ शामिल हैं, The Animation Task Object देखें।
पैरामीटर
Name
id
Type
path
Description
प्राप्त किए जाने वाले एनिमेशन टास्क के लिए यूनिक आइडेंटिफ़ायर।
रिटर्न
प्रतिक्रिया में Animation Task ऑब्जेक्ट शामिल होता है। विवरण के लिए The Animation Task Object सेक्शन देखें।
यह एंडपॉइंट किसी एनिमेशन टास्क को स्थायी रूप से डिलीट कर देता है, जिसमें उससे जुड़े सभी मॉडल और डेटा शामिल हैं। यह क्रिया अपरिवर्तनीय है।
पथ पैरामीटर
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 आपके पास अब नहीं है, उसे खोजने के लिए इस एंडपॉइंट का उपयोग करें।
Animation Task ऑब्जेक्ट किसी रिग्ड कैरेक्टर पर एनिमेशन लागू करने के कार्य इकाई (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
टाइमस्टैंप (epoch के बाद से मिलीसेकंड) जब टास्क बनाया गया था।
एक टाइमस्टैंप, RFC 3339 मानक के अनुसार, 1 जनवरी, 1970 UTC से बीते
मिलीसेकंड की संख्या को दर्शाता है।
उदाहरण के लिए, शुक्रवार, 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 ऑब्जेक्ट संदर्भ के लिए Errors देखें।
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
कतार में पूर्ववर्ती टास्क की संख्या। यह केवल तभी सार्थक है जब स्थिति 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 पर सटीक मिलान। इसे अकेले भी स्वीकार किया जाता है — सब-कैटेगरी के नाम कैटेगरी के बीच अद्वितीय नहीं होते (TransitioningFighting और DailyActions दोनों के अंतर्गत दिखाई देता है), इसलिए category के बिना फ़िल्टर उस सब-कैटेगरी से मेल खाता है जहाँ भी वह दिखाई दे।
Name
action_ids
Type
string
Description
लौटाए जाने वाले action_id मानों की अल्पविराम-सीमांकित सूची, विशिष्ट आईडी को हल करने के लिए न कि ब्राउज़ करने के लिए। अधिकतम 200 आईडी स्वीकार करता है। जिन आईडी को कोई भी एनिमेशन धारण नहीं करता, वे प्रतिक्रिया से बस अनुपस्थित रहती हैं, इसलिए आप इसका उपयोग यह जाँचने के लिए भी कर सकते हैं कि आपके द्वारा संग्रहीत आईडी अभी भी उपलब्ध हैं या नहीं।
फ़िल्टरों को संयोजित करना
फ़िल्टर एक साथ लागू किए जाते हैं — प्रत्येक परिणाम को और सीमित करता है, इसलिए एक एनिमेशन तभी लौटाया जाता है जब वह सभी को संतुष्ट करता है। एक ही फ़िल्टर के भीतर, कई मान उनमें से किसी से भी मेल खाते हैं: searchname या key से मेल खाता है, और action_ids सूची में किसी भी आईडी से मेल खाता है।
इसका मतलब है कि बिना किसी ओवरलैप वाला संयोजन त्रुटि के बजाय एक खाली array लौटाता है। एक्शन 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 ऊपर एक एनिमेशन टास्क बनाएं द्वारा स्वीकार की जाती है, और यह जो भी आईडी स्वीकार करता है वह यहाँ लौटाई जाती है। रिटायर हो चुके एनिमेशन दोनों जगह से अनुपस्थित होते हैं। यदि आप लाइब्रेरी को कैश करते हैं, तो इसे समय-समय पर रीफ़्रेश करें ताकि कोई रिटायर हो चुकी आईडी आपके पिकर में बनी न रहे।
एनिमेशन टास्क बनाते समय action_id के रूप में पास किया जाने वाला वैल्यू। यह यूनिक और स्थिर है, लेकिन क्रमागत (contiguous) नहीं है — रिटायर हो चुके एनिमेशन नंबरिंग में गैप छोड़ जाते हैं, इसलिए कभी यह न मानें कि ids की कोई रेंज मान्य है।
Name
name
Type
string
Description
डिस्प्ले के लिए मानव-पठनीय लेबल। यह यूनिक नहीं है: कुछ एनिमेशन एक अलग वेरिएंट के साथ नाम शेयर करते हैं, इसलिए पहचान के लिए action_id या key का उपयोग करें।
Name
key
Type
string
Description
एनिमेशन के लिए यूनिक और स्थिर slug। जब आपको अपने स्टोरेज को की (key) करने के लिए किसी non-numeric आइडेंटिफायर की आवश्यकता हो, तब इसका उपयोग करें।
Name
category
Type
string
Description
टॉप-लेवल ग्रुपिंग, उदाहरण के लिए Fighting।
Name
sub_category
Type
string
Description
कैटेगरी के भीतर ग्रुपिंग, उदाहरण के लिए AttackingwithWeapon।
Name
preview_url
Type
string
Description
एक्शन का पूर्वावलोकन (preview) करने वाली एनिमेटेड GIF का URL, जिसे सीधे आपके अपने picker में रेंडर किया जा सकता है।