Ireretiro ang lowpoly sa Oct 30, 2026. Lumipat ng modelo bago ang mga petsang ito para maiwasan ang mga error sa request. Tingnan ang lahat ng deprecation

Rigging API

Magdagdag ng skeleton (armature) sa isang humanoid na 3D model at itali ang mesh dito, upang maging handa nang i-animate ang character. Upang mag-apply ng mga animation sa isang rigged na character, tingnan ang Animation API.

Maayos lamang gumagana ang Rigging sa mga standard na humanoid (bipedal) na character na may malinaw na structure ng paa't braso at katawan.


POST/openapi/v1/rigging

Gumawa ng Rigging task

Gumagawa ng Rigging task para sa isang 3D model. Kapag nagtagumpay ang task, nagbabalik ito ng naka-rig na character sa mga standard na format at, opsyonal, ng mga pangunahing walking at running na animation.

Tumatakbo ang task sa background. Para malaman kung gaano karaming oras karaniwang tatagal ang isang task, tingnan ang Processing times.

Hindi angkop ang Rigging para sa mga sumusunod na model:

  • Mga mesh na walang texture
  • Mga asset na hindi humanoid
  • Mga humanoid asset na may hindi malinaw na istruktura ng paa't kamay at katawan

Request

POST
/openapi/v1/rigging
# Rig a model from a URL
curl https://api.meshy.ai/openapi/v1/rigging \
  -X POST \
  -H "Authorization: Bearer ${YOUR_API_KEY}" \
  -H 'Content-Type: application/json' \
  -d '{
    "model_url": "YOUR_MODEL_URL_OR_DATA_URI",
    "height_meters": 1.8
  }'

Response

{
  "result": "018b314a-a1b5-716d-c222-2f1776f7f579"
}

Mga Parameter

  • Name
    input_task_id
    Type
    string
    Kinakailangan
    Description

    Kinakailangan maliban kung magpapadala ka ng model_url. Ang ID ng task na ang model ay gusto mong i-rig. Sinusuportahan ng Meshy ang mga may-texture na humanoid na model.

    Ang model ay maaaring magkaroon ng pinakamarami na 380,000 triangles (ang quad ay binibilang bilang 2), at kung lumagpas dito ay magbabalik ng 400. Para manatili sa ilalim ng limitasyon, patakbuhin muna ang Remesh API dito gamit ang target_polycount na 300000 o mas mababa, o 150000 o mas mababa kung topology: quad.

  • Name
    model_url
    Type
    string
    Kinakailangan
    Description

    Kinakailangan maliban kung magpapadala ka ng input_task_id. Ang model na i-rig, bilang isang pampublikong URL o isang data URI. Kung magpapadala ka ng pareho, gagamitin ng Meshy ang input_task_id.

    Ang model ay dapat na isang GLB (.glb) file na hindi hihigit sa 400 MB mula sa isang http o https URL, o 100 MB bilang isang data URI. Sinusuportahan ng Rigging ang mga may-texture na humanoid na model.

    Ang model ay maaaring magkaroon ng pinakamarami na 380,000 triangles (ang quad ay binibilang bilang 2), at kung lumagpas dito ay magbabalik ng 400. Para manatili sa ilalim ng limitasyon, patakbuhin muna ang Remesh API dito gamit ang target_polycount na 300000 o mas mababa, o 150000 o mas mababa kung topology: quad.

    Ang mukha ng character ay dapat nakaharap sa +Z axis, ang standard na glTF forward direction. Mabibigo ang pose estimation para sa isang model na nakaharap sa ibang axis.

    Ang file na mas malaki sa 100 MB ay dapat ding sumunod sa mga sumusunod na patakaran:

    • Maaari itong magkaroon ng pinakamarami na 10,000,000 faces. Kung lumagpas dito ay magbabalik ng 400. Binibilang ng Meshy ang faces bilang triangles, at ang isang mesh na naguguhit nang higit sa isang beses ay binibilang isang beses kada kopya.
    • Hindi ito dapat gumamit ng Draco compression.
  • Name
    height_meters
    Type
    number
    default 1.7
    Description

    Ang tinatayang taas ng character, sa metro. Ginagamit ito ng Meshy para mas tumpak na i-scale at i-rig ang model. Ang negatibong halaga ay magbabalik ng 400.

  • Name
    texture_image_url
    Type
    string
    ⚠ lipas na
    Description

    Huwag isama kung ang model ay mayroon nang sariling texture. Kapag wala ito, gagamitin ng Meshy ang mga texture na naka-embed sa model_url file, o ang mga texture ng input task. Kung ipapadala mo ito, ang imaheng ito ang magiging tanging texture ng naka-rig na model, at mawawala sa model ang mga PBR maps nito.

    Ang UV-unwrapped na base color texture ng model, bilang isang pampublikong URL o isang data URI. Ang imahe ay dapat na isang PNG file na hindi hihigit sa 20 MB. Ang ibang format ng imahe ay magbabalik ng 400.

Ibinabalik

Ang result field ng tugon ay naglalaman ng ID ng bagong Rigging task.

Mga mode ng kabiguan

  • Name
    400 - Bad Request
    Description

    Hindi matatakbo ang request. Sinasabi ng mensahe ng error kung aling problema ang natagpuan nito. Halimbawa:

    • Nawawalang parameter: Hindi ipinadala ang model_url o input_task_id.
    • Di-wastong format ng model: Ang model_url file ay may hindi suportadong extension. Tanging .glb lamang ang suportado.
    • Hindi maabot na URL: Hindi ma-download ng Meshy ang model_url file.
    • Masyadong malaki ang model file: Ang model_url file ay lumalagpas sa 400 MB mula sa isang http o https URL, o lumalagpas sa 100 MB bilang isang data URI.
    • Sobra sa limitasyon ang faces: Ang model_url file ay lumalagpas sa 100 MB at may higit sa 10,000,000 faces. Bawasan ang bilang ng faces, pagkatapos ay ipadala muli ang file.
    • Hindi mabasang model file: Ang model_url file ay lumalagpas sa 100 MB, at hindi mabasa ng Meshy ang header nito. Halimbawa, ito ay isang Draco-compressed GLB.
    • Masyadong kumplikado ang header ng model: Ang model_url file ay lumalagpas sa 100 MB, at ang header nito ay may masyadong maraming mesh, node, o record na susuriin. Bawasan ang bilang ng mga object sa file, pagkatapos ay ipadala itong muli.
    • Masyadong malaki ang imahe: Ang texture_image_url na imahe ay lumalagpas sa 20 MB.
    • Di-wastong format ng texture: Ang texture_image_url na imahe ay hindi isang PNG file.
    • Di-wastong taas: Negatibo ang height_meters.
    • Di-wastong input task: Hindi tumutukoy ang input_task_id sa isang wastong API task.
    • Hindi pa handa ang input task: Hindi pa nakarating sa SUCCEEDED ang input_task_id task. Maghintay hanggang magtagumpay ito, pagkatapos ay subukan muli.
    • Lumagpas sa limitasyon ang bilang ng faces: Ang input model ay may higit sa 380,000 triangles (ang quad ay binibilang bilang 2). Patakbuhin ang Remesh API dito gamit ang target_polycount na 300000 o mas mababa, o 150000 o mas mababa kung topology: quad, bago i-rig ang model.

    Ayusin ang request, pagkatapos ay ipadala itong muli. Tingnan ang Errors.

  • Name
    401 - Unauthorized
    Description

    Nawawala o di-wasto ang API key. Suriin ang Authorization header.

  • Name
    402 - Payment Required
    Description

    Halimbawa:

    • Hindi sapat na credits: Wala sapat na credits ang account para sa task na ito, o naabot ng account ang limitasyon ng credit. Suriin ang iyong balanse ng credit, pagkatapos ay subukan muli.
    • Libreng plano: Ang paggawa ng task ay nangangailangan ng bayad na plano. I-upgrade ang iyong plano sa iyong mga setting ng subscription, pagkatapos ay subukan muli.
  • Name
    403 - Forbidden
    Description

    Ang input_task_id ay isang bas-relief na model, na hindi kayang i-rig ng endpoint na ito. Ang mensahe ay This model type does not support this operation. Magpadala ng ibang model.

  • Name
    404 - Not Found
    Description

    Hindi mahanap ng Meshy ang mga file ng input_task_id task. Isa sa mga sumusunod ang nangyayari:

    • Binura ng Meshy ang mga file ng task matapos ang expires_at nito. Gawin muli ang task, pagkatapos ay ipadala ang ID ng task na iyon.
    • Wala sa task ang mga file na kailangan ng rigging, tulad ng preview image, halimbawa isang Convert task. I-rig ang task na pinagmulan nito, o ipadala ang model bilang model_url.
  • Name
    422 - Unprocessable Entity
    Description

    Nabigo ang pose estimation. Maaaring hindi ang model ay isang wastong humanoid character. Magpadala ng model ng isang humanoid character. Para sa model_url, suriin din na ang character ay nakaharap sa +Z axis.

  • Name
    429 - Too Many Requests
    Description

    Nalagpasan mo ang iyong rate limit. Maghintay, pagkatapos ay subukan muli. Tingnan ang Rate limits.


GET/openapi/v1/rigging/:id

Kumuha ng Rigging task

Ibinabalik ang isang Rigging task batay sa ID nito.

Request

GET
/openapi/v1/rigging/018b314a-a1b5-716d-c222-2f1776f7f579
curl https://api.meshy.ai/openapi/v1/rigging/018b314a-a1b5-716d-c222-2f1776f7f579 \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Response

{
  "id": "018b314a-a1b5-716d-c222-2f1776f7f579",
  "type": "rig",
  "status": "SUCCEEDED",
  "created_at": 1747032400453,
  "progress": 100,
  "started_at": 1747032401314,
  "finished_at": 1747032418417,
  "expires_at": 1747291618417,
  "task_error": null,
  "consumed_credits": 5,
  "result": {
    "rigged_character_fbx_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Character_output.fbx?Expires=...",
    "rigged_character_glb_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Character_output.glb?Expires=...",
    "basic_animations": {
      "walking_glb_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Animation_Walking_withSkin.glb?Expires=...",
      "walking_fbx_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Animation_Walking_withSkin.fbx?Expires=...",
      "walking_armature_glb_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Animation_Walking_withSkin_armature.glb?Expires=...",
      "running_glb_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Animation_Running_withSkin.glb?Expires=...",
      "running_fbx_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Animation_Running_withSkin.fbx?Expires=...",
      "running_armature_glb_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Animation_Running_withSkin_armature.glb?Expires=..."
    }
  }
}

Mga Parameter

  • Name
    id
    Type
    path
    Description

    Ang task ID mula sa create response.

Ibinabalik

Ang Rigging task object.


DELETE/openapi/v1/rigging/:id

Mag-delete ng Rigging task

Permanenteng nagde-delete ng Rigging task, kasama ang mga model at data nito. Hindi mo na maaaring i-undo ang pag-delete.

Request

DELETE
/openapi/v1/rigging/018b314a-a1b5-716d-c222-2f1776f7f579
curl --request DELETE \
  --url https://api.meshy.ai/openapi/v1/rigging/018b314a-a1b5-716d-c222-2f1776f7f579 \
  -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."
}

Mga path parameter

  • Name
    id
    Type
    path
    Description

    Ang ID ng task na ide-delete.

Status ng task

Ang pag-delete ng PENDING na task ay nagre-refund ng credits na nagamit noong ginawa mo ito.

Ang isang IN_PROGRESS na task ay hindi maaaring i-delete. Magbabalik ang request ng 409 Conflict, at magpapatuloy ang pagtakbo ng task. Hindi nagre-refund ang Meshy para sa task na nagsimula na, kaya kung ide-delete mo ito, mawawala sa iyo pareho ang credits at ang resulta. Hintayin itong umabot sa SUCCEEDED, FAILED, o CANCELED, bago ito i-delete.

Ang pag-delete ng task na nasa final status na (SUCCEEDED, FAILED, o CANCELED) ay hindi nagre-refund ng credits nito.

Mga ibinabalik

200 OK kapag na-delete na ang task, o 409 Conflict kapag ang task ay IN_PROGRESS.


GET/openapi/v1/rigging

List Rigging tasks

Nagbabalik ito ng isang pinaged na listahan ng iyong mga Rigging tasks, pinakabago muna. Para mag-page sa listahan, gamitin ang page_num at page_size.

Ang mga task na ginawa mo gamit ang API ay nananatili sa API at hindi lumalabas sa My Assets sa web app. Upang mahanap ang isang task na ang ID ay wala ka nang hawak, gamitin ang endpoint na ito.

Request

GET
/openapi/v1/rigging
curl "https://api.meshy.ai/openapi/v1/rigging?page_num=1&page_size=20" \
-H "Authorization: Bearer ${YOUR_API_KEY}"

GET/openapi/v1/rigging/:id/stream

Mag-stream ng Rigging task

Nagsa-stream ng mga update ng Rigging task bilang Server-Sent Events (SSE).

Request

GET
/openapi/v1/rigging/018b314a-a1b5-716d-c222-2f1776f7f579/stream
curl -N https://api.meshy.ai/openapi/v1/rigging/018b314a-a1b5-716d-c222-2f1776f7f579/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response Stream

// Error event example
event: error
data: {
  "status_code": 404,
  "message": "Task not found"
}

// Message event examples illustrate task progress.
// These examples are shortened. Each event holds the full task object.
event: message
data: {
  "id": "018b314a-a1b5-716d-c222-2f1776f7f579",
  "progress": 0,
  "status": "PENDING"
}

event: message
data: {
  "id": "018b314a-a1b5-716d-c222-2f1776f7f579",
  "progress": 50,
  "status": "IN_PROGRESS"
}

event: message
data: { // Example of a SUCCEEDED task event, with the same fields as the Rigging task object
  "id": "018b314a-a1b5-716d-c222-2f1776f7f579",
  "type": "rig",
  "status": "SUCCEEDED",
  "created_at": 1747032400453,
  "progress": 100,
  "started_at": 1747032401314,
  "finished_at": 1747032418417,
  "expires_at": 1747291618417,
  "task_error": null,
  "consumed_credits": 5,
  "result": {
    "rigged_character_fbx_url": "https://assets.meshy.ai/.../Character_output.fbx?...",
    "rigged_character_glb_url": "https://assets.meshy.ai/.../Character_output.glb?...",
    "basic_animations": {
      "walking_glb_url": "https://assets.meshy.ai/.../Animation_Walking_withSkin.glb?...",
      "walking_fbx_url": "https://assets.meshy.ai/.../Animation_Walking_withSkin.fbx?...",
      "walking_armature_glb_url": "https://assets.meshy.ai/.../Animation_Walking_withSkin_armature.glb?...",
      "running_glb_url": "https://assets.meshy.ai/.../Animation_Running_withSkin.glb?...",
      "running_fbx_url": "https://assets.meshy.ai/.../Animation_Running_withSkin.fbx?...",
      "running_armature_glb_url": "https://assets.meshy.ai/.../Animation_Running_withSkin_armature.glb?..."
    }
  }
}

Mga Parameter

  • Name
    id
    Type
    path
    Description

    Ang task ID mula sa create response.

Ibinabalik

Isang stream ng Rigging task objects bilang Server-Sent Events.

Bawat event ay may hawak na kumpletong task object, sa parehong anyo na ibinabalik ng Get endpoint. Habang ang task ay PENDING o IN_PROGRESS, wala pang mga halaga ang mga field ng resulta nito.


Ang Rigging task object

Inilalarawan ng Rigging task object ang rigging ng isang character. Dito nakalagay ang status, ang progress, at ang mga output file kapag nagtagumpay ang task.

Mga Property

Example Rigging Task Object

{
  "id": "018b314a-a1b5-716d-c222-2f1776f7f579",
  "type": "rig",
  "status": "SUCCEEDED",
  "created_at": 1747032400453,
  "progress": 100,
  "started_at": 1747032401314,
  "finished_at": 1747032418417,
  "expires_at": 1747291618417,
  "task_error": null,
  "consumed_credits": 5,
  "result": {
    "rigged_character_fbx_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Character_output.fbx?Expires=...",
    "rigged_character_glb_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Character_output.glb?Expires=...",
    "basic_animations": {
      "walking_glb_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Animation_Walking_withSkin.glb?Expires=...",
      "walking_fbx_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Animation_Walking_withSkin.fbx?Expires=...",
      "walking_armature_glb_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Animation_Walking_withSkin_armature.glb?Expires=...",
      "running_glb_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Animation_Running_withSkin.glb?Expires=...",
      "running_fbx_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Animation_Running_withSkin.fbx?Expires=...",
      "running_armature_glb_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Animation_Running_withSkin_armature.glb?Expires=..."
    }
  }
}
  • Name
    id
    Type
    string
    Description

    Ang task ID. Ituring itong isang opaque na string, at huwag umasa sa format nito.

  • Name
    type
    Type
    string
    Description

    Ang uri ng task, laging rig.

  • Name
    status
    Type
    string
    Description

    Ang status ng task, isa sa PENDING, IN_PROGRESS, SUCCEEDED, FAILED, o CANCELED.

  • Name
    progress
    Type
    integer
    Description

    Kung gaano na katapos ang task, bilang isang porsyento. 0 ito hanggang magsimula ang task at 100 kapag nagtagumpay ito.

  • Name
    created_at
    Type
    timestamp
    Description

    Oras nang ginawa ang task, sa Unix milliseconds.

  • Name
    started_at
    Type
    timestamp
    Description

    Oras nang nagsimula ang task, sa Unix milliseconds. 0 ito hanggang magsimula ang task.

  • Name
    finished_at
    Type
    timestamp
    Description

    Oras nang natapos ang task, sa Unix milliseconds. 0 ito hanggang matapos ang task.

  • Name
    expires_at
    Type
    timestamp
    Description

    Oras kung kailan mag-e-expire ang mga result file ng task, sa Unix milliseconds. Pagkatapos ng oras na ito, maaaring tanggalin ng Meshy ang mga file.

  • Name
    task_error
    Type
    object
    Description

    Ang detalye ng error kapag nabigo ang task. null ito maliban kung FAILED ang status. Tingnan ang Errors.

  • Name
    consumed_credits
    Type
    integer
    Description

    Ang bilang ng credits na ginamit ng task. Nakalagay ito kapag ang status ay PENDING, IN_PROGRESS, o SUCCEEDED. 0 ito para sa isang FAILED na task, dahil ibinabalik ng Meshy ang credits kapag nabigo ang isang task.

  • Name
    result
    Type
    object
    Description

    Ang mga URL ng output file. Hanggang magtagumpay ang task, bawat URL ay isang blangkong string, at null ang basic_animations.

    • Name
      rigged_character_fbx_url
      Type
      string
      Description

      Download URL para sa naka-rig na character bilang isang FBX file.

    • Name
      rigged_character_glb_url
      Type
      string
      Description

      Download URL para sa naka-rig na character bilang isang GLB file.

    • Name
      basic_animations
      Type
      object (optional)
      Description

      Mga download URL para sa default na walking at running animations.

      • Name
        walking_glb_url
        Type
        string
        Description
        Ang walking animation na may skin, bilang isang GLB file.
      • Name
        walking_fbx_url
        Type
        string
        Description
        Ang walking animation na may skin, bilang isang FBX file.
      • Name
        walking_armature_glb_url
        Type
        string
        Description
        Ang armature ng walking animation, bilang isang GLB file.
      • Name
        running_glb_url
        Type
        string
        Description
        Ang running animation na may skin, bilang isang GLB file.
      • Name
        running_fbx_url
        Type
        string
        Description
        Ang running animation na may skin, bilang isang FBX file.
      • Name
        running_armature_glb_url
        Type
        string
        Description
        Ang armature ng running animation, bilang isang GLB file.
  • Name
    preceding_tasks
    Type
    integer
    Description

    Ang bilang ng mga task na nauuna sa queue bago ang task na ito. Makabuluhan lamang ang value habang PENDING ang task. Hindi isinasama ang field na ito kapag 0 ang value.