API Auto Split
Pisahkan model 3D kepada bahagian yang boleh dicetak secara berasingan — secara automatik, mengikut bahagian yang anda namakan, atau mengikut kawasan warna — dengan penyambung pilihan; kawasan nipis yang ditinggalkan oleh potongan sentiasa diperkukuh supaya setiap bahagian dicetak dengan pejal.
Auto Split kini hanya menyokong model tanpa tekstur. Untuk Imej ke 3D dan Berbilang Imej ke 3D, jana input dengan should_texture ditetapkan kepada false. Input yang bertekstur akan ditolak dengan 400. Sokongan bertekstur sedang dalam progress.
Create an Auto Split Task
Endpoint ini mencipta tugasan Auto Split baharu. Tugasan ini memotong model daripada tugasan sebelumnya kepada bahagian-bahagian yang boleh dicetak secara berasingan dan mengembalikan model yang telah dipisahkan, dengan setiap bahagian sebagai objeknya sendiri dalam fail.
Parameter
- Name
- input_task_id
- Type
- string
- Diperlukan
- Description
ID tugasan yang berjaya yang modelnya hendak dipisahkan. Jenis tugasan yang disokong: Imej ke 3D, Berbilang Imej ke 3D, Teks ke 3D (pratonton), Remesh, Tukar, dan Ubah saiz. Tugasan tersebut mesti mempunyai status
SUCCEEDED, dan modelnya mesti dijana dengan Meshy 6 atau Meshy 7 (ai_modelmeshy-6,meshy-7, ataulatest). Model low-poly dan Smart Topology (meshy-t2) tidak disokong.
- Name
- mode
- Type
- string
- lalai auto
- Description
Cara model dibahagikan kepada bahagian-bahagian.
Nilai yang tersedia:
auto: Meshy memilih titik potongan.promptdiabaikan.by_parts: Potong mengikut bahagian struktur yang anda namakan dalamprompt, seperti kepala, tangan, dan badan.by_color: Potong mengikut kawasan warna yang anda namakan dalamprompt. Memerlukan input yang dijana daripada imej yang dimuat naik (Imej ke 3D atau Berbilang Imej ke 3D); input lain akan ditolak dengan400.
mode = by_parts or by_color- Name
- prompt
- Type
- string
- Diperlukan
- Description
Menerangkan bahagian-bahagian yang hendak dipisahkan, dalam mana-mana bahasa. Meshy membaca 1 hingga 10 nama bahagian daripadanya, jadi namakan bahagian-bahagian tersebut dan bukan menerangkan model — contohnya
split into the figure and the base, atauhead, torso, left arm, right arm, legs. Sehingga 600 aksara. Terdapat dua mod kegagalan: penerangan yang kelihatan seperti pemisahan tetapi menamakan kurang daripada dua bahagian (contohnyasplit into individual parts) akan ditolak dengan400dan tiada caj dikenakan; penerangan yang Meshy tidak dapat baca sama sekali akan kembali kepadaauto, tugasan tersebut masih dijalankan dan dikenakan caj, dan responsnya membawaprompt_ignored: true.
- Name
- target_formats
- Type
- array
- lalai ["glb"]
- Description
Format untuk mengeksport model yang telah dipisahkan. Setiap bahagian adalah objek berasingan dalam setiap format.
glbsentiasa dihasilkan dan dikembalikan dalammodel_urls; senaraikan mana-mana format lain yang anda mahu sebagai tambahan.Nilai yang tersedia:
glb,obj,fbx,usdz,blend,3mf.3mfditulis untuk slicer: satu objek bagi setiap bahagian, masing-masing pada slot filamennya sendiri, supaya Bambu Studio membuka fail tersebut sebagai bahagian-bahagian yang berwarna secara individu dan boleh dipilih secara berasingan (arkib tersebut membawa konfigurasi projek Bambu Studio; slicer lain membaca geometrinya sahaja). Sama seperti format cetakan lain Meshy, ia dalam milimeter dan, kerana endpoint ini tidak menerima saiz sasaran, keseluruhan model diskalakan supaya sisi terpanjangnya adalah 150 mm — had yang sama yang digunakan oleh eksport format cetakan lain, dipilih agar sesuai dengan setiap plat pembinaan arus perdana. Denganlayout: "on_plate", had tersebut dikenakan pada keseluruhan plat yang telah disusun, supaya fail tersebut sedia untuk dihiris; denganassembled, bahagian-bahagian tersebut kekal pada kedudukan asalnya dalam model sumber dan anda menyusunnya dalam slicer.stltidak disokong kerana format tersebut tidak boleh membawa bahagian-bahagian yang berasingan.
- Name
- layout
- Type
- string
- lalai assembled
- Description
Cara bahagian-bahagian disusun dalam setiap format output, dan dalam imej kecil.
Nilai yang tersedia:
assembled: Bahagian-bahagian kekal pada kedudukan asalnya dalam model sumber.on_plate: Bahagian-bahagian diletakkan mendatar dan disebarkan di atas plat pembinaan, sedia untuk dihiris — susunan yang sama seperti paparan On Plate dalam aplikasi web.
Dalam kedua-dua susunan, fail yang dieksport membawa satu objek bagi setiap bahagian dan tidak lebih daripada itu: kepingan nipis yang runtuh atau bahagian seperti titik yang tertinggal daripada satu potongan akan dialih keluar sebelum eksport, supaya setiap objek yang anda dapati dalam fail tersebut boleh dicetak.
- Name
- connectors
- Type
- boolean
- lalai false
- Description
Menambah penyambung tanggam-lidah pada setiap potongan supaya bahagian yang dicetak boleh dipasang bersama.
connectors = true- Name
- connector_type
- Type
- string
- lalai cube
- Description
Bentuk penyambung pada setiap permukaan potongan.
Nilai yang tersedia:
cube,cylinder.
- Name
- connector_size
- Type
- number
- lalai 0.5
- Description
Saiz penyambung relatif kepada permukaan potongan.
Julat sah:
0.1hingga0.8.
- Name
- connector_height
- Type
- number
- lalai 0.1
- Description
Sejauh mana penyambung memanjang dari permukaan potongan, relatif kepada permukaan potongan.
Julat sah:
0.1hingga0.8.
Pulangan
Sifat result bagi respons tersebut mengandungi id bagi tugasan Auto Split yang baharu dicipta.
Mod Kegagalan
- Name
400 - Bad Request- Description
Permintaan tersebut tidak boleh diterima. Sebab-sebab biasa:
- Prompt tiada:
promptdiperlukan apabilamodeadalahby_partsatauby_color. - Prompt menamakan kurang daripada dua bahagian:
by_parts/by_colormemerlukan sekurang-kurangnya dua bahagian yang dinamakan (contohnyahead, torso, base); arahan generik sepertisplit into individual partsakan ditolak. Tiada caj dikenakan. - Tugasan input tidak disokong:
input_task_idmesti merujuk kepada tugasan yang berjaya dari jenis yang disokong, dijana dengan Meshy 6 atau Meshy 7. - Input bertekstur: Model input tersebut mempunyai tekstur. Hanya model tanpa tekstur disokong pada masa ini.
- Tiada imej rujukan:
by_colormemerlukan input yang dijana daripada imej yang dimuat naik. - Format tidak disokong:
target_formatsmengandungistl. - Penyambung di luar julat:
connector_sizeatauconnector_heightadalah di luar0.1hingga0.8.
- Prompt tiada:
- Name
401 - Unauthorized- Description
Pengesahan gagal. Sila semak kunci API anda.
- Name
402 - Payment Required- Description
Kredit tidak mencukupi untuk melaksanakan tugasan ini.
- Name
404 - Not Found- Description
input_task_idtidak wujud atau tidak dimiliki oleh akaun anda.
- Name
429 - Too Many Requests- Description
Anda telah melebihi had kadar anda. Permintaan
by_partsdanby_colorjuga berkongsi had penghuraian prompt sebanyak 12 permintaan seminit bagi setiap akaun.
- Name
503 - Service Unavailable- Description
Pemisahan berasaskan prompt (
by_partsdanby_color) tidak tersedia buat sementara waktu. Cuba lagi kemudian, atau gunakanmode: "auto", yang tidak terjejas. Tiada caj dikenakan.
Request
# Simple request: let Meshy choose the cuts
curl https://api.meshy.ai/openapi/v1/print/split \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578"
}'
# Advanced request: name the parts, add connectors, export glb and obj
curl https://api.meshy.ai/openapi/v1/print/split \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"mode": "by_parts",
"prompt": "split into the figure and the base",
"target_formats": ["glb", "obj"],
"layout": "on_plate",
"connectors": true,
"connector_type": "cylinder",
"connector_size": 0.4
}'
Response
{
"result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}
Dapatkan Semula Tugas Auto Split
Endpoint ini mendapatkan semula tugas Auto Split mengikut IDnya.
Parameter
- Name
- id
- Type
- path
- Description
ID bagi tugas Auto Split yang hendak didapatkan semula.
Nilai Pulangan
Objek Tugas Auto Split.
Request
curl https://api.meshy.ai/openapi/v1/print/split/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-split",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
"obj": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.obj?Expires=***"
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
"part_count": 4,
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000082000,
"task_error": null,
"consumed_credits": 10
}
Padam Tugasan Auto Split
Endpoint ini memadam tugasan Auto Split secara kekal, termasuk semua model dan data yang berkaitan. Tindakan ini tidak boleh diterbalikkan.
Parameter Laluan
- Name
- id
- Type
- path
- Description
ID tugasan Auto Split yang hendak dipadam.
Pulangan
Mengembalikan 200 OK apabila berjaya.
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/print/split/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
// Returns 200 Ok on success.
Senaraikan Tugas Auto Split
Endpoint ini membolehkan anda mendapatkan senarai tugas Auto Split.
Parameter
Atribut pilihan
- Name
- page_num
- Type
- integer
- Description
Nombor halaman untuk penomboran halaman. Bermula dan lalai kepada
1.
- Name
- page_size
- Type
- integer
- Description
Had saiz halaman. Lalai kepada
10item. Maksimum yang dibenarkan ialah100item; nilai yang lebih besar akan dikekang kepada100.
- Name
- sort_by
- Type
- string
- Description
Medan untuk diisih mengikut. Nilai yang tersedia:
+created_at: Isih mengikut masa penciptaan secara menaik.-created_at: Isih mengikut masa penciptaan secara menurun.
Pulangan
Mengembalikan senarai berhalaman Objek Tugas Auto Split.
Request
curl https://api.meshy.ai/openapi/v1/print/split?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
[
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-split",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***"
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
"part_count": 4,
"progress": 100,
"status": "SUCCEEDED",
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000082000,
"task_error": null,
"consumed_credits": 10
}
]
Alirkan Tugas Auto Split
Endpoint ini mengalirkan kemas kini masa nyata untuk tugas Auto Split menggunakan Server-Sent Events (SSE).
Parameter
- Name
- id
- Type
- path
- Description
Pengecam unik untuk tugas Auto Split yang hendak dialirkan.
Pemulangan
Mengembalikan aliran The Auto Split Task Objects sebagai Server-Sent Events.
Setiap peristiwa message membawa objek tugas penuh seperti yang dikembalikan oleh Retrieve an Auto Split Task, termasuk consumed_credits, cap masa dan prompt_ignored; semasa tugas berstatus PENDING atau IN_PROGRESS, medan yang berubah antara bingkai ialah progress, status, started_at dan preceding_tasks, manakala model_urls, thumbnail_url, part_count dan parts akan muncul sebaik sahaja ia mencapai SUCCEEDED. Peristiwa error hanya membawa status_code dan message, jadi buat percabangan berdasarkan nama peristiwa sebelum membaca status.
Request
curl -N https://api.meshy.ai/openapi/v1/print/split/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response Stream
// Error event example
event: error
data: {
"status_code": 404,
"message": "Task not found"
}
// Message event examples illustrate task progress (other task fields omitted here for brevity;
// each frame is the full task object).
event: message
data: {
"id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
"progress": 0,
"status": "PENDING"
}
event: message
data: {
"id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
"type": "print-split",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/a43b5c6d-7e8f-901a-234b-567c890d1e2f/output/model.glb?Expires=***"
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/a43b5c6d-7e8f-901a-234b-567c890d1e2f/output/preview.png?Expires=***",
"part_count": 4,
"progress": 100,
"status": "SUCCEEDED",
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000082000,
"task_error": null,
"consumed_credits": 10
}
Objek Tugas Auto Split
Tugas Auto Split hanya membawa sifat-sifat di bawah. Medan generation-prompt yang disertakan oleh objek tugas lain (name, object_prompt, texture_prompt dan seumpamanya), model_url tunggal, dan texture_urls tidak pernah diisi untuk split dan tidak dikembalikan. Sifat yang diisi semasa tugas berjalan (thumbnail_url, model_urls, cap masa) sentiasa hadir, kosong sehingga ia mempunyai nilai, jadi set kunci tidak berubah antara PENDING dan SUCCEEDED.
- Name
- id
- Type
- string
- Description
Pengenal unik untuk tugas. Walaupun kami menggunakan UUID k-sortable untuk id tugas sebagai butiran pelaksanaan, anda tidak seharusnya membuat sebarang andaian tentang format id tersebut.
- Name
- type
- Type
- string
- Description
Jenis tugas. Nilainya ialah
print-split.
- Name
- model_urls
- Type
- object
- Description
URL yang boleh dimuat turun untuk model yang dipisahkan, satu bagi setiap format yang diminta. Setiap bahagian adalah objek berasingan dalam fail. Sifat untuk sesuatu format akan ditinggalkan jika format itu tidak diminta.
- Name
glb- Type
- string
- Description
URL yang boleh dimuat turun untuk model yang dipisahkan dalam format GLB.
- Name
obj- Type
- string
- Description
URL yang boleh dimuat turun untuk model yang dipisahkan dalam format OBJ.
- Name
fbx- Type
- string
- Description
URL yang boleh dimuat turun untuk model yang dipisahkan dalam format FBX.
- Name
usdz- Type
- string
- Description
URL yang boleh dimuat turun untuk model yang dipisahkan dalam format USDZ.
- Name
blend- Type
- string
- Description
URL yang boleh dimuat turun untuk model yang dipisahkan dalam format Blender.
- Name
3mf- Type
- string
- Description
URL yang boleh dimuat turun untuk model yang dipisahkan dalam format 3MF: satu objek bagi setiap bahagian, masing-masing pada slot filamen tersendiri, dalam milimeter, diskalakan supaya sisi terpanjang ialah 150 mm, dengan konfigurasi projek Bambu Studio.
- Name
- thumbnail_url
- Type
- string
- Description
URL yang boleh dimuat turun untuk pratonton terjana model yang dipisahkan, dengan setiap bahagian dalam warna yang berbeza, dalam
layoutyang diminta.
- Name
- prompt_ignored
- Type
- boolean
- Description
trueapabilapromptbagi permintaanby_partsatauby_colortidak menamakan mana-mana bahagian, jadi Meshy memisahkan model tersebut secara automatik sebaliknya — nama bahagian dalam hasilnya adalah kepunyaan Meshy, bukan milik anda. Hadir bermula dariPENDING. Ditinggalkan untuk tugasautodan apabila prompt tersebut diikuti.
- Name
- part_count
- Type
- integer
- Description
Bilangan bahagian yang boleh dicetak dalam model yang dipisahkan — satu bagi setiap objek dalam fail yang dieksport. Kepingan runtuh yang tidak dapat dijadikan bahagian yang boleh dicetak oleh proses segmentasi dikeluarkan daripada fail sebelum eksport dan tidak dikira.
- Name
- progress
- Type
- integer
- Description
Progress tugas. Jika tugas belum bermula lagi, sifat ini akan menjadi
0. Apabila tugas berjaya, ini akan menjadi100.
- Name
- status
- Type
- string
- Description
Status tugas. Nilai yang mungkin ialah salah satu daripada
PENDING,IN_PROGRESS,SUCCEEDED,FAILED,CANCELED.
- Name
- preceding_tasks
- Type
- integer
- Description
Bilangan tugas terdahulu.
Nilai medan ini hanya bermakna jika status tugas ialah
PENDING.
- Name
- created_at
- Type
- timestamp
- Description
Cap masa bila tugas dicipta, dalam milisaat.
- Name
- started_at
- Type
- timestamp
- Description
Cap masa bila tugas dimulakan, dalam milisaat. Jika tugas belum bermula lagi, sifat ini akan menjadi
0.
- Name
- finished_at
- Type
- timestamp
- Description
Cap masa bila tugas selesai, dalam milisaat. Jika tugas belum selesai lagi, sifat ini akan menjadi
0.
- Name
- task_error
- Type
- object
- Description
Butiran ralat untuk tugas yang gagal. Lihat Ralat untuk rujukan penuh objek
task_error.
- Name
- consumed_credits
- Type
- integer
- Description
Bilangan kredit yang digunakan oleh tugas ini. Sentiasa hadir:
10sebaik sahaja tugas diterima, dan0untuk tugasFAILEDkerana caj itu dikembalikan apabila gagal. Memadam tugas semasa ia masihPENDINGjuga mengembalikan kredit tersebut.
The Auto Split Task Object
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-split",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
"obj": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.obj?Expires=***"
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
"part_count": 4,
"progress": 100,
"status": "SUCCEEDED",
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000082000,
"task_error": null,
"consumed_credits": 10
}