Resize API

Binibigyang-daan ka ng Resize API na i-resize ang mga umiiral nang 3D model batay sa mga aktwal na sukat sa totoong mundo. Maaari kang magtakda ng eksaktong taas, isang hangganan batay sa pinakamahabang gilid, o hayaan ang AI na awtomatikong tantiyahin ang naaangkop na sukat.


POST/openapi/v1/resize

Gumawa ng Resize Task

Ang endpoint na ito ay gumagawa ng bagong resize task.

Mga Parameter

  • Name
    input_task_id
    Type
    string
    Kinakailangan
    Description

    Ang ID ng isang natapos nang Meshy task kung saan gusto mong i-resize ang modelo. Dapat ang status ng task ay SUCCEEDED. Ang output format ay magiging GLB.

  • Name
    model_url
    Type
    string
    Kinakailangan
    Description

    Isang publikong maa-access na URL o data URI na tumuturo sa isang 3D model file. Mga suportadong format: .glb, .gltf, .obj, .fbx, .stl. Para sa Data URIs, gamitin ang MIME type: application/octet-stream. Ang output format ay mananatili sa orihinal na format ng input na modelo.

  • Name
    resize_height
    Type
    number
    Description

    I-resize ang modelo sa isang partikular na taas na sinusukat sa metro.

  • Name
    resize_longest_side
    Type
    number
    Description

    I-resize ang modelo upang tumugma ang pinakamahabang gilid nito sa halagang ito, na sinusukat sa metro. Ang aspect ratio ay napapanatili.

  • Name
    auto_size
    Type
    boolean
    Description

    Kapag naka-set sa true, ginagamit ng serbisyo ang AI vision upang awtomatikong tantiyahin ang tunay na taas ng bagay sa totoong mundo at i-resize ang modelo alinsunod dito. Ang origin ay magiging bottom bilang default maliban kung tahasang na-set ang origin_at.

  • Name
    origin_at
    Type
    string
    default bottom
    Description

    Posisyon ng origin pagkatapos ng pag-resize.

    Mga available na halaga: bottom, center.

Mga Ibinabalik

Ang result property ng tugon ay naglalaman ng id ng bagong nilikhang resize task.

Mga Mode ng Pagkabigo

  • 400 - Bad Request

Hindi katanggap-tanggap ang request. Karaniwang mga sanhi:

  • Kulang na parameter: Dapat ibigay ang model_url o input_task_id.
  • Kulang na resize mode: Dapat magtakda ng kahit isa sa resize_height, resize_longest_side, o auto_size.
  • Mga parameter na hindi pwedeng pagsabayin: Ang resize_height, resize_longest_side, at auto_size ay hindi maaaring pagsamahin.
  • Di-wastong input task: Ang input_task_id ay dapat tumutukoy sa isang matagumpay na task.
  • Di-wastong format ng modelo: Ang model_url ay tumuturo sa isang file na may hindi suportadong extension.
  • Hindi maabot na URL: Hindi ma-download ang model_url.
  • 401 - Unauthorized

Nabigo ang authentication. Pakisuri ang iyong API key.

  • 402 - Payment Required

Hindi sapat ang credits upang isagawa ang task na ito.

  • 429 - Too Many Requests

Lumampas ka na sa iyong rate limit.

Request

POST
/openapi/v1/resize
# Simple: resize to a specific height
curl https://api.meshy.ai/openapi/v1/resize \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
    "input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "resize_height": 1.8
  }'

# Advanced: resize longest side with custom origin
curl https://api.meshy.ai/openapi/v1/resize \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
    "model_url": "https://example.com/model.glb",
    "resize_longest_side": 2.0,
    "origin_at": "center"
  }'

Response

{
  "result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}

GET/openapi/v1/resize/:id

Kunin ang isang Resize Task

Kinukuha ng endpoint na ito ang isang resize task gamit ang ID nito.

Mga Parameter

  • Name
    id
    Type
    path
    Description

    Ang ID ng resize task na kukunin.

Ibinabalik

Ang Resize Task object.

Request

GET
/openapi/v1/resize/:id
curl https://api.meshy.ai/openapi/v1/resize/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "resize",
  "model_urls": {
      "glb": "https://assets.meshy.ai/.../model.glb?Expires=..."
  },
  "progress": 100,
  "status": "SUCCEEDED",
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "task_error": null,
  "consumed_credits": 1
}

DELETE/openapi/v1/resize/:id

Burahin ang Resize Task

Ang endpoint na ito ay permanenteng nagbubura ng resize task, kasama na ang lahat ng kaugnay na modelo at datos. Ang aksyong ito ay hindi na maaaring bawiin.

Path Parameters

  • Name
    id
    Type
    path
    Description

    Ang ID ng resize task na ibubura.

Katayuan ng Task

Ang isang task na nasa PENDING pa ay buburahin at ire-refund ang mga credits na nagamit noong panahon ng paggawa nito.

Ang isang task na nasa IN_PROGRESS na ay hindi maaaring burahin: ang request ay tatanggihan na may 409 Conflict at magpapatuloy pa rin ang pagtakbo ng task. Ang mga credits para sa isang task na nasimulan na ng worker ay hindi na maaaring i-refund, kaya kung buburahin ito habang tumatakbo, mawawala sa iyo ang credits at ang resulta. Hintayin munang umabot ito sa SUCCEEDED, FAILED o CANCELED, saka mo ito burahin.

Ang isang task na nasa terminal state (SUCCEEDED, FAILED o CANCELED) ay buburahin nang walang refund.

Ibinabalik

Nagbabalik ng 200 OK kapag matagumpay, o 409 Conflict kapag ang task ay nasa IN_PROGRESS.

Request

DELETE
/openapi/v1/resize/:id
curl --request DELETE \
  --url https://api.meshy.ai/openapi/v1/resize/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
  -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 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."
}

GET/openapi/v1/resize

Ilistang mga Resize Task

Ang endpoint na ito ay nagbibigay-daan sa iyo upang kumuha ng listahan ng mga resize task.

Mga Parameter

  • Name
    page_num
    Type
    integer
    default 1
    Description

    Numero ng pahina para sa pagination.

  • Name
    page_size
    Type
    integer
    default 10
    Description

    Limitasyon sa laki ng pahina. Ang pinakamataas na pinapayagan ay 100 item.

  • Name
    sort_by
    Type
    string
    Description

    Field na gagamitin para sa pag-sort. Mga available na value:

    • +created_at: Isaayos ayon sa oras ng paglikha nang pataas (ascending order).
    • -created_at: Isaayos ayon sa oras ng paglikha nang pababa (descending order).

Ibinabalik

Nagbabalik ng paginated na listahan ng The Resize Task Objects.

Request

GET
/openapi/v1/resize
curl https://api.meshy.ai/openapi/v1/resize?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response

[
  {
    "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
    "type": "resize",
    "model_urls": {
      "glb": "https://assets.meshy.ai/.../model.glb?Expires=..."
    },
    "progress": 100,
    "status": "SUCCEEDED",
    "created_at": 1699999999000,
    "started_at": 1700000000000,
    "finished_at": 1700000001000,
    "task_error": null,
    "consumed_credits": 1
  }
]

GET/openapi/v1/resize/:id/stream

I-stream ang Resize Task

Ang endpoint na ito ay nag-i-stream ng real-time na mga update para sa isang resize task gamit ang Server-Sent Events (SSE).

Mga Parameter

  • Name
    id
    Type
    path
    Description

    Natatanging identifier para sa resize task na is-stream.

Ibinabalik

Nagbabalik ng stream ng Mga Resize Task Object bilang Server-Sent Events.

Para sa mga task na PENDING o IN_PROGRESS, ang response stream ay maglalaman lamang ng kinakailangang mga field na progress at status.

Request

GET
/openapi/v1/resize/:id/stream
curl -N https://api.meshy.ai/openapi/v1/resize/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response Stream

// Message event examples illustrate task progress.
event: message
data: {
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "progress": 0,
  "status": "PENDING"
}

event: message
data: {
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "resize",
  "model_urls": {
    "glb": "https://assets.meshy.ai/.../model.glb?Expires=..."
  },
  "progress": 100,
  "status": "SUCCEEDED",
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "task_error": null,
  "consumed_credits": 1
}

The Resize Task Object

Ang Resize Task object ay kumakatawan sa isang resize job.

Properties

  • id · string

Natatanging identifier para sa task.

  • type · string

Uri ng task. Ang value ay resize.

  • model_urls · object

Downloadable URL para sa na-resize na model file. Kapag gumagamit ng input_task_id, ang output ay laging GLB. Kapag gumagamit ng model_url, ang output ay pinananatili ang orihinal na format.

  • progress · integer

Progress ng task (0-100).

  • status · string

Status ng task. Mga posibleng value: PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.

  • preceding_tasks · integer

Ang bilang ng mga naunang task. May kahulugan lamang kapag ang status ay PENDING.

  • created_at · timestamp

Timestamp kung kailan nagawa ang task, sa milliseconds.

  • started_at · timestamp

Timestamp kung kailan sinimulan ang task, sa milliseconds. 0 kung hindi pa nasisimulan.

  • finished_at · timestamp

Timestamp kung kailan natapos ang task, sa milliseconds. 0 kung hindi pa natatapos.

  • task_error · object

Error object kung nabigo ang task. Tingnan ang Errors para sa karagdagang detalye.

  • consumed_credits · integer

Ang bilang ng credits na nagamit ng task na ito (1 credit bawat resize task). Nagbabalik ng 0 para sa mga FAILED na task.