API Ubah ukuran

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


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 harus memiliki status SUCCEEDED. Format output akan berupa GLB.

  • Name
    model_url
    Type
    string
    Wajib
    Description

    URL yang dapat diakses publik atau Data URI yang mengarah ke file model 3D. Format yang didukung: .glb, .gltf, .obj, .fbx, .stl. Untuk Data URI, gunakan MIME type: application/octet-stream. Format output 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, yang diukur dalam meter. Rasio aspek dipertahankan.

  • Name
    auto_size
    Type
    boolean
    Description

    Saat diatur ke true, layanan menggunakan visi AI untuk secara otomatis memperkirakan tinggi objek di dunia nyata dan mengubah ukuran model sesuai dengannya. Titik asal akan secara default menjadi bottom kecuali origin_at diatur secara eksplisit.

  • Name
    origin_at
    Type
    string
    default bottom
    Description

    Posisi titik asal setelah pengubahan ukuran.

    Nilai yang tersedia: bottom, center.

Mengembalikan

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

Mode Kegagalan

  • 400 - Permintaan Buruk

Permintaan tidak dapat diterima. Penyebab umum:

  • parameter hilang: Salah satu dari model_url atau input_task_id harus diberikan.
  • Mode ubah ukuran hilang: Setidaknya salah 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 mengarah ke file dengan ekstensi yang tidak didukung.
  • URL tidak dapat dijangkau: model_url tidak dapat diunduh.
  • 401 - Tidak Diotorisasi

autentikasi gagal. Harap periksa kunci API Anda.

  • 402 - Pembayaran Diperlukan

kredit tidak mencukupi untuk menjalankan tugas ini.

  • 429 - Terlalu Banyak Permintaan

Anda telah melampaui 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

Ambil Tugas Ubah ukuran

endpoint ini mengambil tugas ubah ukuran berdasarkan ID-nya.

Parameter

  • Name
    id
    Type
    path
    Description

    ID tugas ubah ukuran yang akan diambil.

Mengembalikan

Objek Tugas Ubah ukuran.

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

Hapus Tugas Ubah ukuran

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

Parameter Path

  • Name
    id
    Type
    path
    Description

    ID tugas ubah ukuran yang akan dihapus.

Pengembalian

Mengembalikan 200 OK jika berhasil.

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

// Returns 200 Ok on success.

GET/openapi/v1/resize

Daftar Tugas Ubah ukuran

Endpoint ini memungkinkan Anda 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

    Kolom untuk pengurutan. Nilai yang tersedia:

    • +created_at: Urutkan berdasarkan waktu pembuatan dalam urutan menaik.
    • -created_at: Urutkan berdasarkan waktu pembuatan dalam urutan menurun.

Mengembalikan

Mengembalikan daftar berpaginasi dari Objek Tugas Ubah ukuran.

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

Streaming Tugas Ubah ukuran

Endpoint ini melakukan streaming pembaruan real-time untuk tugas ubah ukuran menggunakan Server-Sent Events (SSE).

Parameter

  • Name
    id
    Type
    path
    Description

    Pengidentifikasi unik untuk tugas ubah ukuran yang akan di-streaming.

Mengembalikan

Mengembalikan stream Objek Tugas Ubah ukuran sebagai Server-Sent Events.

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

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
}

Objek Tugas Ubah ukuran

Objek Tugas Ubah ukuran merepresentasikan pekerjaan ubah ukuran.

Properti

  • id · string

Pengidentifikasi 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 berupa GLB. Saat menggunakan model_url, output mempertahankan format asli.

  • progress · integer

Progress 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 saat tugas dibuat, dalam milidetik.

  • started_at · timestamp

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

  • finished_at · timestamp

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

  • task_error · object

Objek kesalahan jika tugas gagal. Lihat Kesalahan untuk detail selengkapnya.

  • consumed_credits · integer

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