lowpoly 30 अक्टू॰ 2026 को बंद हो जाएगा। 3D जनरेशन मॉडल के रूप में meshy-7 31 दिस॰ 2026 को बंद हो जाएगा; टेक्सचर मॉडल के रूप में यह उपलब्ध रहेगा। अनुरोध त्रुटियों से बचने के लिए इन तारीखों से पहले मॉडल बदल लें। सभी बहिष्करण देखें

टेक्स्ट टू मोशन API

टेक्स्ट विवरणों से कैरेक्टर मोशन क्लिप जनरेट करें। कोई क्रिया वर्णित करें, जैसे "a character waving" या "a zombie shambling forward", और एक रॉ मोशन क्लिप प्राप्त करें। आप इस क्लिप को अपनी खुद की पाइपलाइन या DCC टूल्स में रिग्ड कैरेक्टर्स पर रीटार्गेट कर सकते हैं।

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


POST/openapi/v1/text-to-motion

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

एक टेक्स्ट टू मोशन टास्क बनाता है, जो एक टेक्स्ट prompt से मोशन क्लिप जनरेट करता है।

यह टास्क बैकग्राउंड में चलता है। एक टास्क में आमतौर पर कितना समय लगता है, इसके लिए देखें Processing times।

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

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"
}

पैरामीटर

  • 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।

  • 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।


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

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

यह उसकी ID द्वारा एक Text to Motion टास्क लौटाता है।

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
}

पैरामीटर

  • Name
    id
    Type
    path
    Description

    क्रिएट रिस्पॉन्स से प्राप्त टास्क ID।

रिटर्न

Text to Motion टास्क ऑब्जेक्ट।


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

Stream a Text to Motion task

किसी Text to Motion task के अपडेट्स को Server-Sent Events (SSE) के रूप में स्ट्रीम करता है।

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 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 पर नज़र रखें।


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

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

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

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

// 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

    टास्क द्वारा उपयोग किए गए क्रेडिट की संख्या, prime mode के लिए 10 या swift mode के लिए 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
      क्लिप का फाइल फॉर्मेट, prime mode के लिए fbx या swift mode के लिए bvh।
    • Name
      duration_ms
      Type
      integer
      Description
      क्लिप की लंबाई, मिलीसेकंड में।
    • Name
      mode
      Type
      string
      Description
      क्लिप जनरेट करने के लिए Meshy द्वारा उपयोग किया गया mode, prime या swift।