lowpoly dihentikan pada 30 Okt 2026. Ganti model sebelum tanggal-tanggal ini agar permintaan tidak error. Lihat semua penghentian

API Creative Lab Collapsible Fidget

Ubah sebuah foto menjadi mainan fidget collapsible yang dapat dicetak langsung tanpa rakitan dalam satu tugas. Siluet subjek menjadi cincin-cincin konsentris bersarang yang dapat dilipat rata dan direntangkan kembali. Mainan ini dicetak dalam satu bagian, tanpa perakitan.

  • POST /openapi/creative-lab/fidget-collapsible/v1

Berbeda dengan endpoint Creative Lab lainnya, endpoint ini tidak memiliki tahap prototype dan build yang terpisah. Tidak ada gambar kandidat untuk dipilih, sehingga satu tugas mengubah foto tersebut menjadi model 3D.

Permintaan ini juga tidak memiliki pengaturan geometri. Aplikasi web memungkinkan Anda mengatur ukuran, jumlah lapisan, lebar celah, ketebalan dinding, kedalaman ekstrusi, dan tonjolan. Setiap tugas API menggunakan nilai default yang sama untuk semuanya.


POST/openapi/creative-lab/fidget-collapsible/v1

Buat tugas Collapsible Fidget

Menghasilkan model collapsible fidget dari sebuah foto. Untuk kolom-kolom tugas ini, lihat Objek tugas Collapsible Fidget.

Setiap tugas berbiaya 6 kredit dan memerlukan paket berbayar.

Request

POST
/openapi/creative-lab/fidget-collapsible/v1
curl https://api.meshy.ai/openapi/creative-lab/fidget-collapsible/v1 \
  -X POST \
  -H "Authorization: Bearer ${YOUR_API_KEY}" \
  -H 'Content-Type: application/json' \
  -d '{
    "image_url": "<your publicly accessible image url or base64-encoded data URI>"
  }'

Response

{
  "result": "018a210d-8ba4-705c-b111-1f1776f7f578"
}

Parameter

  • Name
    image_url
    Type
    string
    Wajib
    Description

    Foto yang akan diubah menjadi collapsible fidget, berupa URL publik atau data URI (data:image/jpeg;base64,<data gambar Anda yang dienkode base64>).

    Gambar harus berupa file JPG, JPEG, PNG, atau WebP dengan ukuran maksimal 20 MB.

    Siluet subjek akan menjadi cincin-cincinnya, sehingga subjek dengan satu garis luar yang jelas dan tertutup bekerja paling baik. Latar belakang yang ramai, beberapa subjek terpisah, atau bentuk yang sangat tipis dapat menyisakan terlalu sedikit area untuk dinding-dinding bersarang. Dalam kasus itu, tugas akan gagal.

  • Name
    name
    Type
    string
    Description

    Nama untuk tugas, hingga 100 karakter. Nama ini akan muncul kembali pada kolom name milik tugas, dan Meshy tidak mengukirnya pada model. Nama yang lebih panjang akan mengembalikan 400.

Returns

Kolom result menyimpan ID tugas baru. Ambil tugas tersebut atau alirkan (stream) hingga status bernilai SUCCEEDED. Kemudian unduh file STL yang siap cetak dari model_urls.stl. Untuk melihat pratinjau model terlebih dahulu, unduh file GLB dari model_urls.glb jika tersedia.

Mode kegagalan

  • Name
    400 - Bad Request
    Description

    Permintaan tidak dapat dijalankan. Contohnya:

    • image_url tidak ada.
    • Gambar bukan file JPG, JPEG, PNG, atau WebP.
    • Gambar terlalu kecil, lebih dari 20 MB, atau melebihi jumlah piksel maksimum.
    • Meshy tidak dapat mengunduh gambar, misalnya karena URL mengembalikan 404 atau waktu habis (timeout).
    • Data URI bukan base64 yang valid.
    • Gambar ditandai sebagai NSFW.

    Pesan error akan menyebutkan masalah apa yang ditemukan. Perbaiki permintaan, lalu kirim ulang.

  • Name
    401 - Unauthorized
    Description

    Kunci API tidak ada atau tidak valid. Periksa header Authorization.

  • Name
    402 - Payment Required
    Description

    Salah satu dari hal berikut berlaku:

    • Akun tidak memiliki cukup kredit.
    • Kunci API, ruang kerja, atau anggota telah mencapai batas kreditnya.
    • Akun menggunakan paket gratis.

    Periksa kredit dan paket Anda, lalu coba lagi.

  • Name
    403 - Forbidden
    Description

    Tim Anda mengaktifkan IP Filtering, dan Meshy menandai gambar tersebut terkait hak kekayaan intelektual pihak ketiga. Kirim gambar yang hak penggunaannya Anda miliki.

  • Name
    429 - Too Many Requests
    Description

    Salah satu batas berikut telah tercapai:

    • Anda mengirim lebih banyak permintaan daripada yang diizinkan oleh batas laju Anda. Tunggu beberapa detik, lalu coba lagi. Lihat Batas laju.
    • Terlalu banyak tugas Anda yang antre atau sedang berjalan. Tunggu hingga beberapa selesai, lalu coba lagi.
    • Pada paket tak terbatas tanpa sisa kredit, Anda telah mencapai jumlah tugas yang dapat berjalan tanpa kredit. Tunggu hingga sebuah tugas selesai, atau tambahkan kredit.
  • Name
    500 - Internal Server Error
    Description

    Meshy mengalami kesalahan server, misalnya karena tidak dapat menjalankan pemeriksaan kekayaan intelektual pada gambar. Meshy tidak membuat tugas tersebut, dan mengembalikan kredit apa pun yang telah dikenakan. Coba kirim ulang permintaan.


GET/openapi/creative-lab/fidget-collapsible/v1/:id

Mengambil task Collapsible Fidget

Mengembalikan task Collapsible Fidget. Hanya task yang dibuat dengan endpoint ini yang dikembalikan. Task dari endpoint Creative Lab lain, atau yang dibuat di aplikasi web, akan mengembalikan 404.

Untuk field-fieldnya, lihat Objek task Collapsible Fidget.

Request

GET
/openapi/creative-lab/fidget-collapsible/v1/018a210d-8ba4-705c-b111-1f1776f7f578
curl https://api.meshy.ai/openapi/creative-lab/fidget-collapsible/v1/018a210d-8ba4-705c-b111-1f1776f7f578 \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Response

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "creative-lab-fidget-collapsible",
  "name": "",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1729123456000,
  "started_at": 1729123460000,
  "finished_at": 1729123512000,
  "expires_at": 1729382712000,
  "preceding_tasks": 0,
  "task_error": null,
  "consumed_credits": 6,
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
    "stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***"
  }
}

Parameter

  • Name
    id
    Type
    path
    Description

    ID task dari respons pembuatan.

Returns

Objek task Collapsible Fidget.

Mode kegagalan

  • Name
    400 - Bad Request
    Description

    id bukan ID task yang valid. Kirim ID result dari respons pembuatan.

  • Name
    403 - Forbidden
    Description

    Tim Anda mengaktifkan IP Filtering, dan Meshy menandai gambar task tersebut karena kekayaan intelektual pihak ketiga. Tim pada paket Enterprise tidak mendapatkan error ini. Buat task dari gambar yang hak penggunaannya Anda miliki.

  • Name
    404 - Not Found
    Description

    Tidak ada task Collapsible Fidget dengan ID ini yang dimiliki akun Anda, atau task tersebut tidak dibuat dengan endpoint ini. Periksa ID-nya.

  • Name
    500 - Internal Server Error
    Description

    Meshy tidak dapat menjalankan pemeriksaan kekayaan intelektual. Coba lagi permintaannya.


DELETE/openapi/creative-lab/fidget-collapsible/v1/:id

Menghapus task Collapsible Fidget

Membatalkan task Collapsible Fidget. Membatalkan task dengan status PENDING akan mengembalikan kreditnya. Task dengan status IN_PROGRESS dibatalkan tanpa pengembalian kredit, karena worker sudah mulai mengerjakannya. Task dengan status akhir (SUCCEEDED, FAILED, atau CANCELED) tidak dapat dibatalkan.

Request

DELETE
/openapi/creative-lab/fidget-collapsible/v1/018a210d-8ba4-705c-b111-1f1776f7f578
curl --request DELETE \
  --url https://api.meshy.ai/openapi/creative-lab/fidget-collapsible/v1/018a210d-8ba4-705c-b111-1f1776f7f578 \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Response

// Returns 204 No Content on success (empty body).

Parameter path

  • Name
    id
    Type
    path
    Description

    ID dari task yang akan dibatalkan.

Hasil yang dikembalikan

204 No Content dengan body kosong.

Mode kegagalan

  • Name
    400 - Bad Request
    Description

    Salah satu dari kondisi berikut berlaku:

    • id bukan ID task yang valid. Kirimkan ID result dari respons pembuatan task.
    • Task sudah memiliki status akhir (SUCCEEDED, FAILED, atau CANCELED), sehingga tidak dapat dibatalkan.
  • Name
    404 - Not Found
    Description

    Tidak ada task Collapsible Fidget dengan ID ini yang dimiliki akun Anda, atau task tersebut tidak dibuat dengan endpoint ini. Periksa kembali ID tersebut.


GET/openapi/creative-lab/fidget-collapsible/v1/:id/stream

Streaming Tugas Collapsible Fidget

Melakukan streaming pembaruan tugas Collapsible Fidget sebagai Server-Sent Events (SSE). Jika tugas tidak ada atau tidak dibuat dengan endpoint ini, stream akan mengirim satu event error dengan status_code: 404 lalu ditutup.

Request

GET
/openapi/creative-lab/fidget-collapsible/v1/018a210d-8ba4-705c-b111-1f1776f7f578/stream
curl -N https://api.meshy.ai/openapi/creative-lab/fidget-collapsible/v1/018a210d-8ba4-705c-b111-1f1776f7f578/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response Stream

// Error event example (task not found, or not created through this endpoint)
event: error
data: {
  "status_code": 404,
  "message": "Task not found"
}

// Message event examples illustrate task progress.
// Every frame is the full task object; fields not yet populated are null / empty.
// The following PENDING frame is shortened to the fields that change.
event: message
data: {
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "progress": 0,
  "status": "PENDING"
}

event: message
data: {
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "creative-lab-fidget-collapsible",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1729123456000,
  "started_at": 1729123460000,
  "finished_at": 1729123512000,
  "expires_at": 1729382712000,
  "task_error": null,
  "consumed_credits": 6,
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
    "stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***"
  }
}

Parameter

  • Name
    id
    Type
    path
    Description

    ID tugas dari respons pembuatan.

Nilai Kembali

Sebuah stream dari objek tugas Collapsible Fidget. Setiap event berisi objek tugas lengkap, seperti yang dikembalikan oleh Dapatkan Tugas Collapsible Fidget. Selama tugas berstatus PENDING atau IN_PROGRESS, kolom output-nya masih kosong (null, [], atau {}), dan finished_at bernilai null.

Jika IP Filtering memblokir hasil tugas, stream akan mengirim satu event error sebagai penggantinya, dengan status_code yang sama seperti yang akan dikembalikan oleh permintaan get.


GET/openapi/creative-lab/fidget-collapsible/v1

Daftar tugas Collapsible Fidget

Mengembalikan tugas Collapsible Fidget Anda, satu halaman pada satu waktu. Hanya tugas yang dibuat dengan endpoint ini yang disertakan.

Request

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

Response

[
  {
    "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "type": "creative-lab-fidget-collapsible",
    "name": "",
    "status": "SUCCEEDED",
    "progress": 100,
    "created_at": 1729123456000,
    "started_at": 1729123460000,
    "finished_at": 1729123512000,
    "expires_at": 1729382712000,
    "preceding_tasks": 0,
    "task_error": null,
    "consumed_credits": 6,
    "model_urls": {
      "glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
      "stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***"
    }
  }
]

Parameter kueri

  • Name
    page_num
    Type
    integer
    default 1
    Description

    Halaman yang akan dikembalikan, dari 1 hingga 255. 0 mengembalikan halaman pertama. Nilai di luar 0 hingga 255 mengembalikan 400.

  • Name
    page_size
    Type
    integer
    default 10
    Description

    Jumlah tugas per halaman, hingga 100. Nilai dari 101 hingga 255 mengembalikan 100 tugas, dan 0 menggunakan nilai default. Nilai di luar 0 hingga 255 mengembalikan 400.

  • Name
    sort_by
    Type
    string
    default -created_at
    Description

    Urutan pengurutan.

    Nilai yang tersedia:

    • -created_at: terbaru lebih dulu
    • +created_at: terlama lebih dulu

Hasil

Sebuah array dari objek tugas Collapsible Fidget.


Objek task Collapsible Fidget

Task Collapsible Fidget mengubah foto menjadi model fidget collapsible yang bisa dicetak langsung (print-in-place). Ini adalah task satu tahap, jadi tidak ada task prototype untuk dirangkai sebelumnya. Respons tidak menyertakan siluet yang dibuat Meshy di sepanjang proses.

Properties

Example Collapsible Fidget Task Object

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "creative-lab-fidget-collapsible",
  "name": "",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1729123456000,
  "started_at": 1729123460000,
  "finished_at": 1729123512000,
  "expires_at": 1729382712000,
  "preceding_tasks": 0,
  "task_error": null,
  "consumed_credits": 6,
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
    "stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***"
  }
}
  • Name
    id
    Type
    string
    Description

    ID task. Jangan bergantung pada formatnya.

  • Name
    type
    Type
    string
    Description

    Jenis task, selalu creative-lab-fidget-collapsible.

  • Name
    name
    Type
    string
    Description

    name yang Anda kirim saat membuat task, atau "" jika Anda tidak mengirimkannya.

  • Name
    status
    Type
    string
    Description

    Status task.

    Nilai yang tersedia:

    • PENDING: menunggu dalam antrean
    • IN_PROGRESS: sedang menghasilkan hasil
    • SUCCEEDED: final, dengan hasil
    • FAILED: final, dengan alasan di task_error
    • CANCELED: final, tanpa hasil
  • Name
    progress
    Type
    integer
    Description

    Persentase pekerjaan yang selesai, dari 0 hingga 100. Nilainya 0 sampai task dimulai dan 100 saat berhasil.

  • Name
    created_at
    Type
    timestamp
    Description

    Waktu task dibuat, dalam milidetik Unix.

  • Name
    started_at
    Type
    timestamp
    Description

    Waktu worker mulai mengerjakan task, dalam milidetik Unix. null sebelum itu.

  • Name
    finished_at
    Type
    timestamp
    Description

    Waktu task mencapai status final, dalam milidetik Unix. null sebelum itu.

  • Name
    expires_at
    Type
    timestamp
    Description

    Waktu hasil task kedaluwarsa, dalam milidetik Unix. Nilainya 3 hari setelah finished_at, atau 3 hari setelah created_at sampai task selesai. Untuk akun Enterprise, yang menyimpan hasil API tanpa batas waktu, nilainya sekitar 100 tahun kemudian. Lihat Retensi aset.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Posisi task dalam antrean selama berstatus PENDING. 1 berarti task ini akan dimulai berikutnya. 0 setelah task keluar dari antrean, dan selalu 0 dalam hasil daftar (list).

  • Name
    task_error
    Type
    object
    Description

    Alasan task gagal. null kecuali status adalah FAILED. Lihat Kesalahan.

  • Name
    consumed_credits
    Type
    integer
    Description

    Jumlah kredit yang dikenakan untuk task, setelah pengembalian dana (jika ada). Permintaan yang mengembalikan error tidak dikenakan biaya. Task yang gagal bernilai 0, karena Meshy mengembalikan kreditnya. Membatalkan hanya mengembalikan kredit task selama statusnya masih PENDING. Jika Meshy tidak dapat membaca biaya yang dikenakan, respons get atau stream akan tidak menyertakan field ini, dan permintaan list akan mengembalikan 500. Dalam kasus tersebut, coba ulangi permintaannya.

  • Name
    model_urls
    Type
    object
    Description

    URL unduhan untuk model 3D, kosong sampai task berhasil. Task yang berhasil selalu memiliki stl, dan hanya memiliki glb jika Meshy merender pratinjaunya.

    • Name
      stl
      Type
      string
      Description

      URL unduhan untuk file STL, yaitu file yang akan dicetak. Anda bisa membukanya langsung di slicer.

    • Name
      glb
      Type
      string
      Description

      URL unduhan untuk file GLB guna melihat pratinjau model di penampil 3D. Warnanya hanya untuk pratinjau. File STL tidak memiliki warna, sehingga fidget yang dicetak mengambil warnanya dari filamen.

      Jika Meshy tidak dapat merender pratinjau, model_urls tidak memiliki kunci glb, jadi periksa dulu keberadaan kunci tersebut sebelum membacanya. Task dengan status SUCCEEDED selalu memiliki stl.