Creative Lab — Lamp API

Ubah foto sumber menjadi kap lampu yang siap dicetak 3D dalam dua tahap: prototype menghasilkan gambar konsep matte-white bergaya khusus dan mengubahnya menjadi model 3D berongga (GLB), kemudian build menjalankan prosesor lampu pada model tersebut untuk menghasilkan bagian STL yang siap dicetak — sebuah kap lampu dengan bagian bawah terbuka lengkap dengan pelat dasar untuk fixture sumber cahaya, ditambah dudukan fixture itu sendiri. Kedua tahap ini dihubungkan melalui input_task_id.

  • POST /openapi/creative-lab/lamp/v1/prototype
  • POST /openapi/creative-lab/lamp/v1/build

POST/openapi/creative-lab/lamp/v1/prototype

Buat Tugas Prototipe Lamp

Hasilkan satu gambar konsep matte-white dari foto referensi dan konversikan menjadi model kap lampu 3D berongga. Respons membawa baik gambar konsep (image_urls) maupun model 3D (model_urls.glb dengan sebuah thumbnail_url). ID tugas yang dikembalikan adalah yang Anda kirimkan sebagai input_task_id ke endpoint build. Lihat The Lamp Prototype Task Object untuk bentuk responsnya.

Parameter

  • Name
    image_url
    Type
    string
    Wajib
    Description

    Foto sumber yang digunakan Meshy sebagai referensi visual untuk kap lampu. Saat ini kami mendukung format .jpg, .jpeg, .png, dan .webp.

    Ada dua cara untuk menyediakan gambar:

    • URL yang dapat diakses secara publik: URL yang dapat diakses dari internet publik.
    • Data URI: Sebuah data URI gambar yang dienkode base64. Contoh data URI: data:image/jpeg;base64,<data gambar Anda yang dienkode base64>.
  • Name
    image_subject
    Type
    string
    default character
    Description

    Petunjuk kategori subjek yang memilih prompt stylization. Nilai yang tersedia:

    • character (default) — subjek karakter/objek tunggal (figur, hewan, maskot, dll.).
    • landscape — subjek adegan luar ruangan/panorama (gunung, pemandangan kota, hutan, dll.).
  • Name
    name
    Type
    string
    Description

    Nama tugas opsional untuk keperluan tampilan. Maksimum 100 karakter.

  • Name
    remove_background
    Type
    boolean
    default false
    Description

    Jika diatur ke true, gambar prototipe dikembalikan sebagai PNG RGBA transparan dengan latar belakang dihapus, sehingga Anda dapat mengomposisikan subjek ke latar belakang apa pun.

Hasil Pengembalian

Properti result pada respons berisi id tugas dari tugas prototipe lampu yang baru dibuat. Lakukan polling pada endpoint Get a Task atau berlangganan pada stream hingga tugas mencapai SUCCEEDED, lalu kirimkan ID tersebut ke build endpoint sebagai input_task_id.

Mode Kegagalan

  • Name
    400 - Bad Request
    Description

    Permintaan tidak dapat diterima. Penyebab umum:

    • Parameter hilang: image_url wajib diisi.
    • Format gambar tidak valid: image_url yang diberikan bukan format yang didukung (.jpg, .jpeg, .png, .webp).
    • Dimensi gambar di luar rentang: Gambar terlalu kecil, melebihi ukuran file maksimum, atau melebihi jumlah piksel maksimum.
    • URL tidak dapat dijangkau: image_url tidak dapat diunduh (404 atau timeout).
    • Data URI tidak valid: String base64 rusak formatnya.
    • Konten ditandai: Gambar input ditandai oleh moderation NSFW atau kekayaan intelektual.
    • image_subject tidak valid: Bukan salah satu dari character / landscape.
  • Name
    401 - Unauthorized
    Description

    Autentikasi gagal. Silakan periksa kunci API Anda.

  • Name
    402 - Payment Required
    Description

    Kredit tidak cukup untuk melakukan tugas ini.

  • Name
    429 - Too Many Requests
    Description

    Anda telah melampaui batas laju Anda.

Request

POST
/openapi/creative-lab/lamp/v1/prototype
# Stage 1: concept image + hollow 3D lampshade model from a source photo
curl https://api.meshy.ai/openapi/creative-lab/lamp/v1/prototype \
  -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>",
    "image_subject": "character"
  }'

Response

{
  "result": "018a210d-8ba4-705c-b111-1f1776f7f578"
}
Prototype example
Start with a source photo; the prototype returns the concept image and a hollow 3D model that the build stage processes.
Source cat photo used as the Creative Lab Lamp input
Prototype input
Creative Lab Lamp prototype output generated from the source photo
Prototype output

POST/openapi/creative-lab/lamp/v1/build

Create a Lamp Build Task

Menghasilkan bagian-bagian final yang siap dicetak 3D dari sebuah tugas prototipe yang berhasil. Proses build menjalankan lamp processor pada model 3D milik prototipe: model diskalakan ke diameter_mm, bagian bawahnya diratakan sebesar cut_amount_percent, dilubangi (hollow) hingga thickness_mm, bagian bawahnya dibuka, dan — ketika sebuah preset fixture dipilih — sebuah pelat dasar ditambahkan dengan lubang fixture serta dudukan terpisah untuk sumber cahaya. Lihat The Lamp Build Task Object untuk mengetahui bentuk responsnya.

Parameter

  • Name
    input_task_id
    Type
    string
    Wajib
    Description

    ID tugas dari sebuah tugas prototipe yang dibuat melalui endpoint OpenAPI yang sama ini. Prototipe tersebut harus telah dibuat dengan API key yang sama, harus telah mencapai status SUCCEEDED, dan harus telah menghasilkan sebuah model 3D.

    Tugas prototipe yang dibuat melalui webapp tidak diterima — endpoint build hanya menerima tugas prototipe yang dihasilkan oleh POST /openapi/creative-lab/lamp/v1/prototype dan menolak sumber lainnya dengan status 404.

  • Name
    name
    Type
    string
    Description

    Nama tugas opsional untuk keperluan tampilan. Maksimum 100 karakter.

options

Parameter penyetelan opsional untuk geometri lampshade. Setiap field memiliki nilai default yang masuk akal — kirimkan hanya yang ingin Anda ubah.

  • Name
    diameter_mm
    Type
    number
    default 150
    Description

    Dimensi maksimum target dari kotak pembatas lampshade, dalam milimeter. Mesh diskalakan secara seragam agar sesuai. Rentang: [50, 400].

  • Name
    thickness_mm
    Type
    number
    default 1
    Description

    Ketebalan dinding dari lampshade yang berongga, dalam milimeter. Rentang: (0, 10].

  • Name
    cut_amount_percent
    Type
    number
    default 1
    Description

    Persentase tinggi model yang dipotong rata di bagian bawah, sehingga lampshade dapat berdiri di atas print bed dan memiliki bukaan untuk fixture. Rentang: [1, 100].

  • Name
    light_source_preset
    Type
    string
    default bambu_mh001_60mm
    Description

    Preset fixture sumber cahaya yang menentukan cara bagian bawah dibangun. Nilai yang tersedia:

    • bambu_mh001_60mm (default) — lampshade dengan bagian bawah terbuka ditambah pelat dasar yang membawa lubang fixture berukuran 60 mm, keduanya berada di model_urls.lamp_stl, dan dudukan fixture sebagai model_urls.base_stl.
    • none — satu lampshade tertutup rapat pada model_urls.lamp_stl; model_urls.base_stl dihilangkan.
  • Name
    fixture_offset_x_mm
    Type
    number
    default 0
    Description

    Offset sumbu X dari lubang fixture pada pelat dasar, relatif terhadap pusat lampshade, dalam milimeter. Hanya bermakna ketika light_source_preset ≠ none. Rentang: [-80, 80].

  • Name
    fixture_offset_z_mm
    Type
    number
    default 0
    Description

    Offset sumbu Z (kedalaman) dari lubang fixture pada pelat dasar, relatif terhadap pusat lampshade, dalam milimeter. Hanya bermakna ketika light_source_preset ≠ none. Rentang: [-80, 80].

  • Name
    rotate_x_deg
    Type
    number
    default 0
    Description

    Rotasi terhadap sumbu X yang diterapkan pada model sebelum pemrosesan, dalam derajat. Ketiga rotasi diterapkan sebagai sudut Euler XYZ terhadap pusat model. Rentang: [-360, 360].

  • Name
    rotate_y_deg
    Type
    number
    default 0
    Description

    Rotasi terhadap sumbu Y yang diterapkan pada mesh yang diimpor sebelum pemrosesan, dalam derajat. Rentang: [-360, 360].

  • Name
    rotate_z_deg
    Type
    number
    default 0
    Description

    Rotasi terhadap sumbu Z yang diterapkan pada mesh yang diimpor sebelum pemrosesan, dalam derajat. Rentang: [-360, 360].

  • Name
    include_result_json
    Type
    boolean
    default false
    Description

    Ketika true dan output.format adalah zip, menyertakan result.json milik lamp processor (nama pipeline, peringatan, dan jalur artifact) di dalam bundel. Diabaikan ketika output.format adalah stl.

output

Pemilih format keluaran opsional. Default-nya adalah stl.

  • Name
    format
    Type
    string
    default stl
    Description

    Bundel artifact yang dikembalikan oleh proses build. Nilai yang tersedia:

    • stl (default) — mengembalikan model_urls.lamp_stl (lampshade, beserta pelat dasar ketika sebuah preset fixture diatur), ditambah model_urls.base_stl ketika light_source_preset ≠ none.
    • zip — mengemas setiap artifact yang dihasilkan oleh processor (lamp.stl, base.stl opsional, result.json opsional) ke dalam satu file zip dan mengembalikannya di bawah model_urls.bundle_zip.

Returns

Properti result pada respons berisi id tugas dari tugas lamp build yang baru dibuat. Poll endpoint Get a Task atau berlangganan ke stream hingga tugas mencapai status SUCCEEDED, lalu unduh artifact dari model_urls.

Mode Kegagalan

  • Name
    400 - Bad Request
    Description

    Permintaan tidak dapat diterima. Penyebab umum:

    • Parameter hilang: input_task_id wajib diisi.
    • UUID tidak valid: input_task_id bukan UUID yang valid.
    • Induk belum berhasil: Tugas prototipe yang dirujuk belum mencapai status SUCCEEDED.
    • Tidak ada model: Tugas prototipe berhasil tetapi tidak menghasilkan model 3D.
    • Options di luar rentang: Salah satu field options berada di luar rentang atau kumpulan enum yang diizinkan.
  • Name
    401 - Unauthorized
    Description

    Autentikasi gagal. Silakan periksa kunci API Anda.

  • Name
    402 - Payment Required
    Description

    Kredit tidak mencukupi untuk melakukan tugas ini.

  • Name
    404 - Not Found
    Description

    Tugas prototipe yang dirujuk tidak ada, milik pengguna lain, atau dibuat melalui webapp (hanya tugas prototipe mode API yang dapat dirangkai ke build).

  • Name
    429 - Too Many Requests
    Description

    Anda telah melampaui batas laju Anda.

Request

POST
/openapi/creative-lab/lamp/v1/build
# Stage 2: chain build off a succeeded prototype task
curl https://api.meshy.ai/openapi/creative-lab/lamp/v1/build \
  -X POST \
  -H "Authorization: Bearer ${YOUR_API_KEY}" \
  -H 'Content-Type: application/json' \
  -d '{
    "input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "options": {
      "diameter_mm": 120,
      "thickness_mm": 2,
      "light_source_preset": "bambu_mh001_60mm",
      "cut_amount_percent": 30
    },
    "output": {
      "format": "stl"
    }
  }'

Response

{
  "result": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb"
}
Contoh build
Tugas build mengubah model 3D milik prototipe menjadi bagian-bagian lampshade yang siap dicetak.
Pratinjau model build Creative Lab Lamp
Pratinjau model build

GET/openapi/creative-lab/lamp/v1/(prototype|build)/:id

Mengambil Task Lamp

Mengambil task prototype atau build berdasarkan id task yang valid. Path URL harus sesuai dengan tahap task tersebut — task build yang diambil melalui /prototype/:id akan mengembalikan 404, dan sebaliknya.

Lihat The Lamp Prototype Task Object dan The Lamp Build Task Object untuk bentuk responsnya.

Parameter

  • Name
    id
    Type
    path
    Description

    Pengenal unik untuk task lampu yang akan diambil.

Returns

Respons berisi objek task lampu. Bentuknya bergantung pada tahap mana yang diminta.

Request

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

# Build
curl https://api.meshy.ai/openapi/creative-lab/lamp/v1/build/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Prototype Response

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "creative-lab-lamp-prototype",
  "name": "",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1729123456000,
  "started_at": 1729123460000,
  "finished_at": 1729123486000,
  "expires_at": 1729382686000,
  "preceding_tasks": 0,
  "task_error": null,
  "consumed_credits": 30,
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***"
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
  "image_urls": [
    "https://assets.meshy.ai/***/concept.png?Expires=***"
  ]
}

Build Response

{
  "id": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb",
  "type": "creative-lab-lamp-build",
  "name": "",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1729123500000,
  "started_at": 1729123510000,
  "finished_at": 1729123535000,
  "expires_at": 1729382735000,
  "preceding_tasks": 0,
  "task_error": null,
  "consumed_credits": 6,
  "model_urls": {
    "lamp_stl": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/lamp.stl?Expires=***",
    "base_stl": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/base.stl?Expires=***"
  }
}

DELETE/openapi/creative-lab/lamp/v1/(prototype|build)/:id

Delete a Lamp Task

Batalkan sebuah tugas lampu. Jika tugas masih PENDING, kredit yang terpakai saat pembuatan akan dikembalikan. Tugas yang sudah IN_PROGRESS akan dibatalkan tanpa pengembalian dana (worker mungkin sudah menghabiskan sumber daya). Tugas yang sudah mencapai status akhir (SUCCEEDED, FAILED, CANCELED) tidak dapat dibatalkan.

Path URL harus sesuai dengan tahap tugas — DELETE pada /prototype/:buildId mengembalikan 404.

Path Parameters

  • Name
    id
    Type
    path
    Description

    Pengenal unik untuk tugas lampu yang akan dibatalkan.

Returns

Mengembalikan 204 No Content saat berhasil dengan body kosong.

Failure Modes

  • Name
    400 - Bad Request
    Description

    Tugas sudah berada dalam status akhir dan tidak dapat dibatalkan.

  • Name
    404 - Not Found
    Description

    Tugas tidak ada, milik pengguna lain, atau tahapnya tidak sesuai dengan path URL.

Request

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

Response

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

GET/openapi/creative-lab/lamp/v1/(prototype|build)/:id/stream

Stream Tugas Lampu

Melakukan streaming pembaruan real-time untuk tugas lampu melalui Server-Sent Events (SSE). Path URL harus sesuai dengan tahap tugas tersebut — membuka stream di /prototype/:buildId/stream akan mengeluarkan satu event: error payload dengan status_code: 404 dan menutup stream tersebut.

Parameter

  • Name
    id
    Type
    path
    Description

    Pengidentifikasi unik untuk tugas lampu yang akan di-stream.

Return

Mengembalikan sebuah stream objek tugas Lamp Prototype atau Lamp Build sebagai Server-Sent Events. Setiap frame membawa objek tugas lengkap untuk tahap tersebut — bentuk yang sama dengan yang dikembalikan oleh endpoint Get — sehingga selama tugas berstatus PENDING atau IN_PROGRESS kolom output-nya memang belum terisi (null, [] atau {}) dan finished_at bernilai null.

Request

GET
/openapi/creative-lab/lamp/v1/build/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/stream
curl -N https://api.meshy.ai/openapi/creative-lab/lamp/v1/build/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response Stream

// Error event example (wrong stage or task not found)
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 PENDING frame below is abbreviated to the fields that change.
event: message
data: {
  "id": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb",
  "progress": 0,
  "status": "PENDING"
}

event: message
data: {
  "id": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb",
  "type": "creative-lab-lamp-build",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1729123500000,
  "started_at": 1729123510000,
  "finished_at": 1729123535000,
  "expires_at": 1729382735000,
  "task_error": null,
  "consumed_credits": 6,
  "model_urls": {
    "lamp_stl": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/lamp.stl?Expires=***",
    "base_stl": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/base.stl?Expires=***"
  }
}

GET/openapi/creative-lab/lamp/v1/(prototype|build)

List Lamp Tasks

Ambil daftar tugas lampu Anda yang dipaginasi untuk satu tahap. Jalur URL memilih tahap tersebut — /prototype mengembalikan tugas prototipe; /build mengembalikan tugas build. Tugas dari tahap lainnya tidak disertakan dalam kedua respons tersebut.

Path Parameters

  • Name
    stage
    Type
    path
    Wajib
    Description

    Salah satu dari prototype atau build. Koleksi hanya mengembalikan tugas yang tahapnya cocok dengan URL — mengambil /prototype tidak akan pernah mengembalikan tugas build, dan sebaliknya.

Query Parameters

  • 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 100 item.

  • Name
    sort_by
    Type
    string
    default -created_at
    Description

    Kolom untuk pengurutan. Nilai yang tersedia:

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

Returns

Mengembalikan daftar objek tugas per tahap yang dipaginasi — baik objek tugas prototipe lampu saat menampilkan daftar /prototype maupun objek tugas build lampu saat menampilkan daftar /build.

Request

GET
/openapi/creative-lab/lamp/v1/prototype
# List prototype tasks
curl https://api.meshy.ai/openapi/creative-lab/lamp/v1/prototype?page_size=10 \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

# List build tasks
curl https://api.meshy.ai/openapi/creative-lab/lamp/v1/build?page_size=10 \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Response (List Prototype Tasks)

[
  {
    "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "type": "creative-lab-lamp-prototype",
    "name": "",
    "status": "SUCCEEDED",
    "progress": 100,
    "created_at": 1729123456000,
    "started_at": 1729123460000,
    "finished_at": 1729123486000,
    "expires_at": 1729382686000,
    "preceding_tasks": 0,
    "task_error": null,
    "consumed_credits": 30,
    "model_urls": {
      "glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***"
    },
    "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
    "image_urls": [
      "https://assets.meshy.ai/***/concept.png?Expires=***"
    ]
  }
]

Objek Task Prototipe Lamp

Objek Task Prototipe Lamp adalah unit kerja yang dilacak oleh Meshy untuk menghasilkan gambar konsep matte-white bergaya dari sebuah foto sumber dan mengonversinya menjadi model 3D yang berongga. Output dari tahap ini dirangkai ke dalam tahap build melalui input_task_id.

Properti

  • Name
    id
    Type
    string
    Description

    Pengidentifikasi unik untuk task. Meskipun kami menggunakan UUID yang dapat diurutkan-k (k-sortable) untuk id task sebagai detail implementasi, Anda tidak boleh membuat asumsi apa pun tentang format id tersebut.

  • Name
    type
    Type
    string
    Description

    Tipe dari task. Nilainya adalah creative-lab-lamp-prototype.

  • Name
    name
    Type
    string
    Description

    Nama task yang diberikan saat task dibuat. String kosong jika tidak ada nama yang diberikan.

  • Name
    status
    Type
    string
    Description

    Status dari task. Nilai yang mungkin adalah salah satu dari PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.

  • Name
    progress
    Type
    integer
    Description

    Progress dari task. Jika task belum dimulai, properti ini akan bernilai 0. Setelah task berhasil, ini akan menjadi 100.

  • Name
    created_at
    Type
    timestamp
    Description

    Stempel waktu saat task dibuat, dalam milidetik.

  • Name
    started_at
    Type
    timestamp
    Description

    Stempel waktu saat task dimulai, dalam milidetik. Jika task belum dimulai, properti ini akan bernilai 0.

  • Name
    finished_at
    Type
    timestamp
    Description

    Stempel waktu saat task selesai, dalam milidetik. Jika task belum selesai, properti ini akan bernilai 0.

  • Name
    expires_at
    Type
    timestamp
    Description

    Stempel waktu saat hasil task kedaluwarsa, dalam milidetik.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Jumlah task yang mendahului.

  • Name
    task_error
    Type
    object
    Description

    Detail kesalahan untuk task yang gagal. Lihat Kesalahan untuk referensi lengkap objek task_error.

  • Name
    consumed_credits
    Type
    integer
    Description

    Jumlah kredit yang dikonsumsi oleh task ini. Muncul saat status task adalah PENDING, IN_PROGRESS, atau SUCCEEDED. Mengembalikan 0 untuk task FAILED (kredit dikembalikan jika gagal).

  • Name
    model_urls
    Type
    object
    Description

    URL yang dapat diunduh untuk model 3D yang dihasilkan dari gambar konsep. Muncul setelah task berhasil; {} sebelum itu.

    • Name
      glb
      Type
      string
      Description

      URL yang dapat diunduh untuk model kap lampu (lampshade) matte-white berongga dalam format GLB. Ini adalah model yang diproses oleh tahap build.

  • Name
    thumbnail_url
    Type
    string
    Description

    URL yang dapat diunduh untuk pratinjau render dari model 3D. String kosong hingga task berhasil.

  • Name
    image_urls
    Type
    array of strings
    Description

    URL yang dapat diunduh untuk kandidat gambar konsep yang dihasilkan oleh task prototipe ini. Saat ini API selalu mengembalikan tepat satu kandidat; field ini berupa array agar revisi mendatang dapat menampilkan beberapa kandidat tanpa perubahan yang merusak kompatibilitas.

Example Lamp Prototype Task Object

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "creative-lab-lamp-prototype",
  "name": "",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1729123456000,
  "started_at": 1729123460000,
  "finished_at": 1729123486000,
  "expires_at": 1729382686000,
  "preceding_tasks": 0,
  "task_error": null,
  "consumed_credits": 30,
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***"
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
  "image_urls": [
    "https://assets.meshy.ai/***/concept.png?Expires=***"
  ]
}

Objek Lamp Build Task

Objek Lamp Build Task adalah unit kerja yang dilacak oleh Meshy untuk menghasilkan lampshade final yang dapat dicetak dalam 3D dari sebuah prototype task yang berhasil (succeeded). Build ini menjalankan prosesor lampu pada model 3D dari prototype tersebut untuk melubangi bagian dalamnya (hollow), meratakan dan membuka bagian bawahnya, dan (dengan preset fixture) menambahkan pelat dasar serta dudukan fixture.

Properti

  • Name
    id
    Type
    string
    Description

    Pengidentifikasi unik untuk task ini.

  • Name
    type
    Type
    string
    Description

    Jenis task. Nilainya adalah creative-lab-lamp-build.

  • Name
    name
    Type
    string
    Description

    Nama task yang diberikan saat task dibuat. String kosong jika tidak ada nama yang diberikan.

  • Name
    status
    Type
    string
    Description

    Status task. Kemungkinan nilainya adalah salah satu dari PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.

  • Name
    progress
    Type
    integer
    Description

    Progress task. Jika task belum dimulai, properti ini bernilai 0. Setelah task berhasil (succeeded), nilainya akan menjadi 100.

  • Name
    created_at
    Type
    timestamp
    Description

    Stempel waktu saat task dibuat, dalam milidetik.

  • Name
    started_at
    Type
    timestamp
    Description

    Stempel waktu saat task dimulai, dalam milidetik.

  • Name
    finished_at
    Type
    timestamp
    Description

    Stempel waktu saat task selesai, dalam milidetik.

  • Name
    expires_at
    Type
    timestamp
    Description

    Stempel waktu saat hasil task berakhir masa berlakunya (expires), dalam milidetik.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Jumlah task yang mendahului (preceding tasks). Hanya bermakna saat status adalah PENDING.

  • Name
    task_error
    Type
    object
    Description

    Detail kesalahan untuk task yang gagal. Lihat Kesalahan untuk referensi lengkap objek task_error.

  • Name
    consumed_credits
    Type
    integer
    Description

    Jumlah kredit yang terpakai oleh task ini. Mengembalikan 0 untuk task FAILED (kredit dikembalikan jika gagal).

  • Name
    model_urls
    Type
    object
    Description

    URL yang dapat diunduh untuk artefak yang dihasilkan, dengan kunci berupa nama artefak. Kumpulan kunci ini bergantung pada output.format dan options.light_source_preset:

    • Name
      lamp_stl
      Type
      string
      Description

      URL yang dapat diunduh untuk lamp.stl: lampshade dengan bagian bawah terbuka beserta pelat dasar yang membawa lubang fixture, atau satu lampshade tertutup rapat (sealed) ketika options.light_source_preset bernilai none. Muncul ketika output.format bernilai stl (default).

    • Name
      base_stl
      Type
      string
      Description

      URL yang dapat diunduh untuk base.stl, dudukan fixture sumber cahaya. Muncul ketika output.format bernilai stl dan options.light_source_preset bukan none. Dihilangkan ketika preset fixture-nya adalah none.

    • Name
      bundle_zip
      Type
      string
      Description

      URL yang dapat diunduh untuk paket zip berisi setiap artefak yang dihasilkan oleh prosesor (lamp.stl, base.stl opsional, dan — ketika options.include_result_json bernilai true — result.json). Muncul ketika output.format bernilai zip. Ketika bundle_zip muncul, lamp_stl / base_stl dihilangkan.

Example Lamp Build Task Object

{
  "id": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb",
  "type": "creative-lab-lamp-build",
  "name": "",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1729123500000,
  "started_at": 1729123510000,
  "finished_at": 1729123535000,
  "expires_at": 1729382735000,
  "preceding_tasks": 0,
  "task_error": null,
  "consumed_credits": 6,
  "model_urls": {
    "lamp_stl": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/lamp.stl?Expires=***",
    "base_stl": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/base.stl?Expires=***"
  }
}