टेक्स्ट टू मोशन API
टेक्स्ट विवरणों से कैरेक्टर मोशन क्लिप जनरेट करें। कोई क्रिया वर्णित करें, जैसे "a character waving" या "a zombie shambling forward", और एक रॉ मोशन क्लिप प्राप्त करें। आप इस क्लिप को अपनी खुद की पाइपलाइन या DCC टूल्स में रिग्ड कैरेक्टर्स पर रीटार्गेट कर सकते हैं।
आउटपुट एक स्टैंडअलोन मोशन क्लिप है। इसे किसी कैरेक्टर मॉडल की आवश्यकता नहीं होती, और यह किसी से जुड़ी हुई नहीं है। पहले किसी कैरेक्टर को rig करने के लिए, Rigging APIid को motion_task_id के रूप में एनिमेशन API
टेक्स्ट टू मोशन टास्क बनाएं
एक टेक्स्ट टू मोशन टास्क बनाता है, जो एक टेक्स्ट prompt से मोशन क्लिप जनरेट करता है।
यह टास्क बैकग्राउंड में चलता है। एक टास्क में आमतौर पर कितना समय लगता है, इसके लिए देखें Processing times।
एक prime टास्क की कीमत 10 क्रेडिट है और यह Meshy के उच्च-गुणवत्ता वाले मोशन मॉडल का उपयोग करता है। एक swift टास्क की कीमत 3 क्रेडिट है और यह एक तेज़, कम लागत वाले मोशन मॉडल का उपयोग करता है।
Request
# Generate a motion clip with required params only
curl https://api.meshy.ai/openapi/v1/text-to-motion \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"prompt": "a character waving",
"duration": 3
}'
# Generate a fast, economical clip with Swift mode
curl https://api.meshy.ai/openapi/v1/text-to-motion \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"prompt": "a character waving",
"mode": "swift",
"duration": 4.5
}'
Response
{
"result": "018c425b-b2c6-727e-d333-3c1887i9h791"
}
पैरामीटर
- Name
- prompt
- Type
- string
- आवश्यक
- Description
वह टेक्स्ट जो जनरेट किए जाने वाले मोशन का वर्णन करता है, अधिकतम 400 अक्षर तक। इससे लंबा टेक्स्ट
400रिटर्न करता है।
- Name
- mode
- Type
- string
- डिफ़ॉल्ट prime
- Description
मोशन मॉडल, जो क्लिप का फ़ाइल फ़ॉर्मेट भी सेट करता है।
उपलब्ध वैल्यू:
prime: उच्च गुणवत्ता, एक FBX क्लिप रिटर्न करता हैswift: तेज़ और सस्ता, एक BVH क्लिप रिटर्न करता है
कोई भी अन्य वैल्यू
400रिटर्न करती है।
- Name
- duration
- Type
- number
- आवश्यक
- Description
सेकंड में लक्षित क्लिप लंबाई,
2से10तक0.5के चरणों में, उदाहरण के लिए2,2.5, या3। कोई भी अन्य वैल्यू400रिटर्न करती है।
रिटर्न
रिस्पॉन्स के result फ़ील्ड में नए टेक्स्ट टू मोशन टास्क की ID होती है।
फेलियर मोड
- Name
400 - Bad Request- Description
रिक्वेस्ट नहीं चल सकती। एरर मैसेज बताता है कि कौन सी समस्या पाई गई। उदाहरण के लिए:
- गुम या खाली prompt:
promptगुम है, खाली है, या 400 अक्षरों से अधिक लंबा है। - अमान्य mode:
mode,primeयाswiftनहीं है। - अमान्य duration:
durationगुम है,2से10की रेंज से बाहर है, या0.5सेकंड के चरण पर नहीं है।
रिक्वेस्ट को ठीक करें, फिर इसे फिर से भेजें। देखें Errors।
- गुम या खाली prompt:
- Name
401 - Unauthorized- Description
API की गुम या अमान्य है।
Authorizationहेडर जांचें।
- Name
402 - Payment Required- Description
उदाहरण के लिए:
- अपर्याप्त क्रेडिट: अकाउंट में इस टास्क के लिए पर्याप्त क्रेडिट नहीं हैं, या अकाउंट एक क्रेडिट लिमिट तक पहुंच गया है। अपना क्रेडिट बैलेंस जांचें, फिर फिर से कोशिश करें।
- फ्री प्लान: टास्क बनाने के लिए एक पेड प्लान आवश्यक है। अपने subscription settings में अपना प्लान अपग्रेड करें, फिर फिर से कोशिश करें।
- Name
403 - Forbidden- Description
Content moderation ने prompt को फ़्लैग किया है। prompt बदलें, फिर रिक्वेस्ट फिर से भेजें।
- Name
429 - Too Many Requests- Description
आपने अपनी रेट लिमिट पार कर ली है। प्रतीक्षा करें, फिर फिर से कोशिश करें। देखें Rate limits।
Text to Motion टास्क प्राप्त करें
यह उसकी ID द्वारा एक Text to Motion टास्क लौटाता है।
Request
curl https://api.meshy.ai/openapi/v1/text-to-motion/018c425b-b2c6-727e-d333-3c1887i9h791 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
{
"id": "018c425b-b2c6-727e-d333-3c1887i9h791",
"type": "text-to-motion",
"status": "SUCCEEDED",
"progress": 100,
"created_at": 1787314497437,
"started_at": 1787314498012,
"finished_at": 1787314505881,
"expires_at": 1787573705881,
"task_error": null,
"result": {
"motion_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018c425b-b2c6-727e-d333-3c1887i9h791/output/clip.fbx?Expires=...",
"motion_format": "fbx",
"duration_ms": 3000,
"mode": "prime"
},
"consumed_credits": 10
}
पैरामीटर
- Name
- id
- Type
- path
- Description
क्रिएट रिस्पॉन्स से प्राप्त टास्क ID।
रिटर्न
Text to Motion कार्यों की सूची
यह आपके Text to Motion कार्यों की एक पेजिनेटेड सूची लौटाता है, जिसमें सबसे नया कार्य सबसे पहले होता है। सूची में पेज दर पेज जाने के लिए page_num और page_size का उपयोग करें।
प्रतिक्रिया Text to Motion कार्य ऑब्जेक्ट्स की एक array है।
API के माध्यम से बनाए गए कार्य API में ही रहते हैं और वेब ऐप में My Assets में दिखाई नहीं देते। ऐसे कार्य को खोजने के लिए जिसकी ID अब आपके पास नहीं है, इस एंडपॉइंट का उपयोग करें।
Request
curl "https://api.meshy.ai/openapi/v1/text-to-motion?page_num=1&page_size=20" \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
[
{
"id": "018c425b-b2c6-727e-d333-3c1887i9h791",
"type": "text-to-motion",
"status": "SUCCEEDED",
"...": "..."
}
]
Stream a Text to Motion task
किसी Text to Motion task के अपडेट्स को Server-Sent Events (SSE) के रूप में स्ट्रीम करता है।
Request
curl -N https://api.meshy.ai/openapi/v1/text-to-motion/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 events carry the full task object at every stage; the result
// fields stay empty until the task succeeds.
event: message
data: {
"id": "018c425b-b2c6-727e-d333-3c1887i9h791",
"type": "text-to-motion",
"status": "IN_PROGRESS",
"progress": 50,
"created_at": 1787314497437,
"started_at": 1787314498012,
"finished_at": 0,
"expires_at": 0,
"task_error": null,
"result": {
"motion_url": "",
"motion_format": "",
"duration_ms": 0,
"mode": ""
},
"consumed_credits": 10
}
event: message
data: { // Example of a SUCCEEDED task event, with the same fields as the Text to Motion task object
"id": "018c425b-b2c6-727e-d333-3c1887i9h791",
"type": "text-to-motion",
"status": "SUCCEEDED",
"progress": 100,
"created_at": 1787314497437,
"started_at": 1787314498012,
"finished_at": 1787314505881,
"expires_at": 1787573705881,
"task_error": null,
"result": {
"motion_url": "https://assets.meshy.ai/.../output/clip.fbx?Expires=...",
"motion_format": "fbx",
"duration_ms": 3000,
"mode": "prime"
},
"consumed_credits": 10
}
पैरामीटर
- Name
- id
- Type
- path
- Description
क्रिएट रिस्पॉन्स से प्राप्त task ID।
रिटर्न वैल्यू
Text to Motion task objects की एक स्ट्रीम, Server-Sent Events के रूप में।
हर message इवेंट पूरा task object लेकर आता है। जब तक task PENDING या IN_PROGRESS स्थिति में है, तब तक result फ़ील्ड्स खाली रहती हैं ("" या 0), और finished_at तथा expires_at 0 रहते हैं। task को ट्रैक करने के लिए status और progress पर नज़र रखें।
Text to Motion टास्क डिलीट करें
यह किसी Text to Motion टास्क को स्थायी रूप से डिलीट कर देता है, जिसमें उसका मोशन क्लिप भी शामिल है। आप डिलीट को वापस नहीं ले सकते।
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/text-to-motion/018c425b-b2c6-727e-d333-3c1887i9h791 \
-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 keeps 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."
}
पथ पैरामीटर
- Name
- id
- Type
- path
- Description
डिलीट किए जाने वाले टास्क की ID।
टास्क स्टेटस
किसी PENDING टास्क को डिलीट करने पर, टास्क बनाते समय इस्तेमाल हुए क्रेडिट वापस कर दिए जाते हैं।
किसी IN_PROGRESS टास्क को डिलीट नहीं किया जा सकता। रिक्वेस्ट 409 Conflict
रिटर्न करती है, और टास्क चलता रहता है। Meshy किसी ऐसे टास्क को रिफंड नहीं करता
जो शुरू हो चुका है, इसलिए उसे डिलीट करने पर आपको क्रेडिट और रिज़ल्ट दोनों
का नुकसान होगा। SUCCEEDED, FAILED, या CANCELED तक पहुंचने का इंतज़ार करें,
फिर उसे डिलीट करें।
किसी फाइनल स्टेटस (SUCCEEDED, FAILED, या CANCELED) में मौजूद टास्क को
डिलीट करने पर उसके क्रेडिट वापस नहीं किए जाते।
रिटर्न वैल्यू
टास्क डिलीट होने पर 200 OK, या टास्क IN_PROGRESS होने पर 409 Conflict।
टेक्स्ट टू मोशन टास्क ऑब्जेक्ट
एक टेक्स्ट टू मोशन टास्क ऑब्जेक्ट एक मोशन क्लिप के जनरेशन का वर्णन करता है। इसमें स्टेटस, progress, और टास्क के सफल होने पर क्लिप शामिल होती है।
Properties
Example Text to Motion Task Object
{
"id": "018c425b-b2c6-727e-d333-3c1887i9h791",
"type": "text-to-motion",
"status": "SUCCEEDED",
"progress": 100,
"created_at": 1787314497437,
"started_at": 1787314498012,
"finished_at": 1787314505881,
"expires_at": 1787573705881,
"task_error": null,
"result": {
"motion_url": "https://assets.meshy.ai/.../output/clip.fbx?Expires=...",
"motion_format": "fbx",
"duration_ms": 3000,
"mode": "prime"
},
"consumed_credits": 10
}
- Name
- id
- Type
- string
- Description
टास्क ID। इसे एक ओपेक स्ट्रिंग मानें, और इसके फॉर्मेट पर निर्भर न करें।
- Name
- type
- Type
- string
- Description
टास्क टाइप, हमेशा
text-to-motion।
- Name
- status
- Type
- string
- Description
टास्क स्टेटस,
PENDING,IN_PROGRESS,SUCCEEDED,FAILED, याCANCELEDमें से एक।
- Name
- progress
- Type
- integer
- Description
टास्क कितना पूरा हो चुका है,
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
टास्क की रिज़ल्ट फाइलों के एक्सपायर होने का समय, यूनिक्स मिलीसेकंड में। जब तक टास्क पूरा नहीं होता, यह
0रहता है। Meshy क्लिप को टास्क पूरा होने के बाद 3 दिनों तक रखता है, इसलिए उसे उससे पहले डाउनलोड कर लें।
- Name
- preceding_tasks
- Type
- integer
- Description
क्यू में इस टास्क से आगे मौजूद टास्कों की संख्या। यह वैल्यू केवल तभी सार्थक होती है जब टास्क
PENDINGस्थिति में हो। जब वैल्यू0होती है, तो यह फ़ील्ड छोड़ दी जाती है।
- Name
- consumed_credits
- Type
- integer
- Description
टास्क द्वारा उपयोग किए गए क्रेडिट की संख्या,
primemode के लिए10याswiftmode के लिए3।FAILEDटास्क के लिए यह0होती है, क्योंकि टास्क फेल होने पर Meshy क्रेडिट वापस कर देता है।
- Name
- task_error
- Type
- object
- Description
टास्क फेल होने पर एरर विवरण, अन्यथा
null। देखें एरर।
- Name
- result
- Type
- object
- Description
टास्क के सफल होने पर जनरेट की गई मोशन क्लिप। तब तक, फ़ील्ड मौजूद रहती हैं लेकिन खाली (
""या0) होती हैं।- Name
motion_url- Type
- string
- Description
- मोशन क्लिप के लिए डाउनलोड URL। Meshy हर बार पढ़े जाने पर URL को फिर से साइन करता है, और यह टास्क की रिटेंशन विंडो के साथ एक्सपायर हो जाता है।
- Name
motion_format- Type
- string
- Description
- क्लिप का फाइल फॉर्मेट,
primemode के लिएfbxयाswiftmode के लिएbvh।
- Name
duration_ms- Type
- integer
- Description
- क्लिप की लंबाई, मिलीसेकंड में।
- Name
mode- Type
- string
- Description
- क्लिप जनरेट करने के लिए Meshy द्वारा उपयोग किया गया mode,
primeयाswift।