API Ubah Ukuran

API Ubah Ukuran memungkinkan Anda untuk mengubah ukuran model 3D yang ada ke dimensi dunia nyata. Anda dapat menentukan tinggi yang tepat, batas sisi terpanjang, atau membiarkan AI secara otomatis memperkirakan ukuran yang sesuai.


POST/openapi/v1/resize

Buat Tugas Ubah Ukuran

Endpoint ini membuat tugas ubah ukuran baru.

Parameter

  • Name
    input_task_id
    Type
    string
    Wajib
    Description

    ID dari tugas Meshy yang telah selesai yang modelnya ingin Anda ubah ukurannya. Tugas tersebut harus memiliki status SUCCEEDED. Format keluaran akan berupa GLB.

  • Name
    model_url
    Type
    string
    Wajib
    Description

    URL yang dapat diakses publik atau Data URI yang menunjuk ke file model 3D. Format yang didukung: .glb, .gltf, .obj, .fbx, .stl. Untuk Data URI, gunakan MIME type: application/octet-stream. Format keluaran akan mempertahankan format asli dari model input.

  • Name
    resize_height
    Type
    number
    Description

    Ubah ukuran model ke tinggi tertentu yang diukur dalam meter.

  • Name
    resize_longest_side
    Type
    number
    Description

    Ubah ukuran model sehingga sisi terpanjangnya sesuai dengan nilai ini, diukur dalam meter. Rasio aspek dipertahankan.

  • Name
    auto_size
    Type
    boolean
    Description

    Ketika diatur ke true, layanan menggunakan AI vision untuk secara otomatis memperkirakan tinggi dunia nyata dari objek dan mengubah ukuran model sesuai. Titik asal akan default ke bottom kecuali origin_at diatur secara eksplisit.

  • Name
    origin_at
    Type
    string
    default bottom
    Description

    Posisi titik asal setelah mengubah ukuran.

    Nilai yang tersedia: bottom, center.

Mengembalikan

Properti result dari respons berisi id dari tugas ubah ukuran yang baru dibuat.

Mode Kegagalan

  • 400 - Bad Request

Permintaan tidak dapat diterima. Penyebab umum:

  • Parameter hilang: Baik model_url atau input_task_id harus disediakan.
  • Mode ubah ukuran hilang: Setidaknya satu dari resize_height, resize_longest_side, atau auto_size harus ditentukan.
  • Parameter saling eksklusif: resize_height, resize_longest_side, dan auto_size tidak dapat digabungkan.
  • Tugas input tidak valid: input_task_id harus merujuk pada tugas yang berhasil.
  • Format model tidak valid: model_url menunjuk ke file dengan ekstensi yang tidak didukung.
  • URL tidak dapat dijangkau: model_url tidak dapat diunduh.
  • 401 - Unauthorized

Autentikasi gagal. Silakan periksa kunci API Anda.

  • 402 - Payment Required

Kredit tidak mencukupi untuk melakukan tugas ini.

  • 429 - Too Many Requests

Anda telah melebihi batas laju Anda.

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

Mengambil Tugas Ubah Ukuran

Endpoint ini mengambil tugas ubah ukuran berdasarkan ID-nya.

Parameter

  • Name
    id
    Type
    path
    Description

    ID dari tugas ubah ukuran yang akan diambil.

Mengembalikan

Objek Tugas Ubah Ukuran.

Permintaan

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

Respon

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

Hapus Tugas Ubah Ukuran

Endpoint ini secara permanen menghapus tugas ubah ukuran, termasuk semua model dan data terkait. Tindakan ini tidak dapat dibatalkan.

Parameter Path

  • Name
    id
    Type
    path
    Description

    ID dari tugas ubah ukuran yang akan dihapus.

Mengembalikan

Mengembalikan 200 OK jika berhasil.

Permintaan

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

Respon

// Returns 200 Ok on success.

GET/openapi/v1/resize

Daftar Tugas Ubah Ukuran

Endpoint ini memungkinkan Anda untuk mengambil daftar tugas ubah ukuran.

Parameter

  • Name
    page_num
    Type
    integer
    default 1
    Description

    Nomor halaman untuk paginasi.

  • Name
    page_size
    Type
    integer
    default 10
    Description

    Batas ukuran halaman. Maksimum yang diizinkan adalah 50 item.

  • Name
    sort_by
    Type
    string
    Description

    Bidang untuk pengurutan. Nilai yang tersedia:

    • +created_at: Urutkan berdasarkan waktu pembuatan dalam urutan naik.
    • -created_at: Urutkan berdasarkan waktu pembuatan dalam urutan turun.

Mengembalikan

Mengembalikan daftar dengan paginasi dari Objek Tugas Ubah Ukuran.

Permintaan

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

Respon

[
  {
    "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

Streaming Tugas Ubah Ukuran

Endpoint ini mengalirkan pembaruan waktu nyata untuk tugas ubah ukuran menggunakan Server-Sent Events (SSE).

Parameter

  • Name
    id
    Type
    path
    Description

    Pengenal unik untuk tugas ubah ukuran yang akan dialirkan.

Mengembalikan

Mengembalikan aliran Objek Tugas Ubah Ukuran sebagai Server-Sent Events.

Untuk tugas PENDING atau IN_PROGRESS, aliran respons hanya akan menyertakan bidang progress dan status yang diperlukan.

Permintaan

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
}

Objek Tugas Ubah Ukuran

Objek Tugas Ubah Ukuran mewakili pekerjaan ubah ukuran.

Properti

  • id · string

Pengenal unik untuk tugas.

  • type · string

Jenis tugas. Nilainya adalah resize.

  • model_urls · object

URL yang dapat diunduh untuk file model yang telah diubah ukurannya. Saat menggunakan input_task_id, output selalu GLB. Saat menggunakan model_url, output mempertahankan format asli.

  • progress · integer

Kemajuan tugas (0-100).

  • status · string

Status tugas. Nilai yang mungkin: PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.

  • preceding_tasks · integer

Jumlah tugas sebelumnya. Bermakna hanya ketika status adalah PENDING.

  • created_at · timestamp

Stempel waktu ketika tugas dibuat, dalam milidetik.

  • started_at · timestamp

Stempel waktu ketika tugas dimulai, dalam milidetik. 0 jika belum dimulai.

  • finished_at · timestamp

Stempel waktu ketika tugas selesai, dalam milidetik. 0 jika belum selesai.

  • task_error · object

Objek kesalahan jika tugas gagal. Lihat Kesalahan untuk lebih jelasnya.

  • consumed_credits · integer

Jumlah kredit yang dikonsumsi oleh tugas ini (1 kredit per tugas ubah ukuran). Mengembalikan 0 untuk tugas FAILED.