Text to Motion API

प्राकृतिक-भाषा विवरणों से कैरेक्टर मोशन क्लिप जनरेट करें। एक क्रिया का वर्णन करें — "एक कैरेक्टर हाथ हिला रहा है", "एक ज़ॉम्बी लड़खड़ाते हुए आगे बढ़ रहा है" — और एक रॉ मोशन क्लिप प्राप्त करें जिसे आप अपनी खुद की पाइपलाइन या DCC टूल्स में रिग्ड कैरेक्टर्स पर रीटार्गेट कर सकते हैं।

आउटपुट एक स्टैंडअलोन मोशन क्लिप है: इसके लिए किसी कैरेक्टर मॉडल की आवश्यकता नहीं होती, और यह किसी कैरेक्टर मॉडल से जुड़ा हुआ नहीं होता। पहले किसी कैरेक्टर को रिग करने के लिए, Rigging API देखें। एक जनरेट की गई क्लिप को अपने रिग्ड कैरेक्टर पर लागू करने के लिए, टास्क id को motion_task_id के रूप में एनिमेशन API को पास करें — इसे 3-दिन की एसेट रिटेंशन विंडो के भीतर लागू करें।


POST/openapi/v1/text-to-motion

Text to Motion टास्क बनाएं

यह एंडपॉइंट किसी टेक्स्ट prompt से मोशन क्लिप जेनरेट करने के लिए एक नया टास्क बनाता है।

mode prime वाले टास्क की कीमत 10 क्रेडिट होती है और यह हमारे उच्चतम-गुणवत्ता वाले मोशन मॉडल के साथ जेनरेट करता है। mode swift वाले टास्क की कीमत 3 क्रेडिट होती है और यह हमारे किफायती मोशन मॉडल के साथ तेज़ी से जेनरेट करता है।

पैरामीटर

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

    जेनरेट किए जाने वाले मोशन का एक प्राकृतिक-भाषा विवरण। अधिकतम 400 वर्ण।

  • Name
    mode
    Type
    string
    डिफ़ॉल्ट prime
    Description

    मोशन जेनरेशन mode। उपलब्ध वैल्यू: prime, swiftprime उच्चतम गुणवत्ता प्रदान करता है और FBX आउटपुट देता है; swift तेज़ और सस्ता है और BVH आउटपुट देता है।

  • Name
    duration
    Type
    number
    आवश्यक
    Description

    मोशन क्लिप की सेकंड में लक्षित अवधि। 2 और 10 के बीच, 0.5 के स्टेप्स में (उदाहरण के लिए 2, 2.5, 3, … 10)।

रिटर्न

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

फेल्योर मोड्स

  • Name
    400 - Bad Request
    Description

    रिक्वेस्ट स्वीकार्य नहीं थी। सामान्य कारण:

    • Missing या empty prompt: prompt गायब है, खाली है, या 400 वर्णों से अधिक लंबा है।
    • अमान्य mode: mode prime या swift नहीं है।
    • अमान्य duration: duration गायब है, 210 की सीमा से बाहर है, या 0.5 सेकंड के स्टेप पर नहीं है।
  • Name
    401 - Unauthorized
    Description

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

  • Name
    402 - Payment Required
    Description

    इस टास्क को करने के लिए पर्याप्त क्रेडिट नहीं हैं।

  • Name
    403 - Forbidden
    Description

    prompt को content moderation द्वारा फ़्लैग किया गया था।

  • Name
    429 - Too Many Requests
    Description

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

Request

POST
/openapi/v1/text-to-motion
# 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"
}

GET/openapi/v1/text-to-motion/:id

Text to Motion टास्क प्राप्त करें

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

पैरामीटर

  • Name
    id
    Type
    path
    Description

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

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

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

Request

GET
/openapi/v1/text-to-motion/018c425b-b2c6-727e-d333-3c1887i9h791
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
}

GET/openapi/v1/text-to-motion

Text to Motion टास्क की सूची

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

प्रतिक्रिया Text to Motion टास्क ऑब्जेक्ट्स की एक array होती है।

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

Request

GET
/openapi/v1/text-to-motion
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",
    "...": "..."
  }
]

GET/openapi/v1/text-to-motion/:id/stream

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

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

पैरामीटर

  • Name
    id
    Type
    path
    Description

    स्ट्रीम करने के लिए Text to Motion टास्क का यूनिक पहचानकर्ता।

रिटर्न

Server-Sent Events के रूप में The Text to Motion Task Objects की एक स्ट्रीम लौटाता है।

हर message इवेंट पूरा टास्क ऑब्जेक्ट लेकर आता है। जब तक टास्क PENDING या IN_PROGRESS अवस्था में है, तब तक result फ़ील्ड्स खाली ("" / 0) रहती हैं और finished_at / expires_at 0 रहते हैं; status और progress पर ध्यान दें।

Request

GET
/openapi/v1/text-to-motion/018c425b-b2c6-727e-d333-3c1887i9h791/stream
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 stream item, mirroring The Text to Motion Task Object structure
  "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
}

DELETE/openapi/v1/text-to-motion/:id

Text to Motion टास्क डिलीट करें

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

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

  • Name
    id
    Type
    path
    Description

    डिलीट किए जाने वाले Text to Motion टास्क की ID।

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

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

Request

DELETE
/openapi/v1/text-to-motion/018c425b-b2c6-727e-d333-3c1887i9h791
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

// Returns 200 Ok on success.

Text to Motion Task ऑब्जेक्ट

Text to Motion Task ऑब्जेक्ट किसी टेक्स्ट prompt से मोशन क्लिप जनरेट करने की कार्य इकाई को दर्शाता है।

Properties

  • Name
    id
    Type
    string
    Description

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

  • Name
    type
    Type
    string
    Description

    टास्क का प्रकार। मान text-to-motion है।

  • 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

    वह टाइमस्टैंप (एपोक के बाद से मिलीसेकंड) जब टास्क के परिणामी assets एक्सपायर होते हैं। टास्क समाप्त होने तक यह 0 रहता है। जनरेट की गई क्लिप टास्क समाप्त होने के बाद 3 दिनों तक बनी रहती है; इसके एक्सपायर होने से पहले इसे डाउनलोड कर लें।

  • Name
    preceding_tasks
    Type
    integer
    Description

    कतार में पहले से मौजूद टास्क की संख्या। यह केवल तभी मायने रखता है जब स्थिति PENDING हो; शून्य होने पर इसे छोड़ दिया जाता है।

  • Name
    consumed_credits
    Type
    integer
    Description

    इस टास्क द्वारा उपयोग किए गए क्रेडिट की संख्या। prime mode के लिए 10, swift mode के लिए 3FAILED टास्क के लिए 0 लौटाता है (विफलता पर क्रेडिट वापस कर दिए जाते हैं)।

  • Name
    task_error
    Type
    object
    Description

    विफल टास्क के लिए एरर विवरण; जब तक टास्क FAILED न हो, यह null रहता है। पूर्ण task_error ऑब्जेक्ट संदर्भ के लिए एरर देखें।

  • Name
    result
    Type
    object
    Description

    टास्क SUCCEEDED होने पर जनरेट की गई मोशन क्लिप शामिल होती है; तब तक फ़ील्ड मौजूद रहती हैं पर खाली ("" / 0) होती हैं।

    • Name
      motion_url
      Type
      string
      Description
      जनरेट की गई मोशन क्लिप के लिए डाउनलोड करने योग्य URL। यह URL हर रीड पर फिर से साइन किया जाता है और टास्क की रिटेंशन विंडो के साथ एक्सपायर हो जाता है।
    • Name
      motion_format
      Type
      string
      Description
      क्लिप का फ़ाइल फ़ॉर्मेट: prime mode के लिए fbx, swift mode के लिए bvh
    • Name
      duration_ms
      Type
      integer
      Description
      जनरेट की गई क्लिप की अवधि मिलीसेकंड में।
    • Name
      mode
      Type
      string
      Description
      वह mode जिससे क्लिप जनरेट की गई थी: prime या swift

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
}