API Teks ke 3D adalah fitur yang memungkinkan Anda mengintegrasikan kemampuan Teks ke 3D Meshy ke dalam aplikasi Anda sendiri. Di bagian ini, Anda akan menemukan semua informasi
yang Anda perlukan untuk memulai dengan API ini.
Teks ke 3D menggunakan alur kerja dua langkah. Pertama, buat tugas pratinjau (mode: "preview") untuk menghasilkan mesh 3D tanpa tekstur, sehingga Anda dapat mengevaluasi bentuknya. Kemudian, teruskan ID tugas pratinjau yang telah selesai ke tugas penyempurnaan (mode: "refine") untuk menerapkan tekstur pada mesh. Kedua langkah menggunakan endpoint yang sama.
endpoint ini membuat tugas pratinjau Teks ke 3D, yang menghasilkan mesh 3D tanpa texture (hanya geometri) dari prompt teks. Ini adalah langkah pertama dari alur kerja dua langkah. Setelah pratinjau berhasil, gunakan ID tugas yang dikembalikan untuk membuat tugas refine untuk pemberian texture. Lihat
Objek Tugas Teks ke 3D untuk skema respons lengkap.
Parameter
Name
mode
Type
string
Wajib
Description
Field ini harus diatur ke "preview" saat membuat tugas pratinjau.
Name
prompt
Type
string
Wajib
Description
Jelaskan jenis objek apa untuk model 3D tersebut. Maksimum 600 karakter.
Name
model_type
Type
string
default standard
Description
Tentukan jenis pembuatan mesh 3D.
Nilai yang tersedia:
standard: Pembuatan mesh 3D detail tinggi reguler.
lowpoly: Menghasilkan mesh low-poly yang dioptimalkan untuk poligon yang lebih bersih.
Saat lowpoly dipilih, ai_model, topology, target_polycount, should_remesh akan diabaikan.
Name
ai_model
Type
string
default latest
Description
ID model yang akan digunakan. Nilai yang tersedia: meshy-5, meshy-6, latest (Meshy 6).
Name
should_remesh
Type
boolean
default false (meshy-6), true (others)
Description
Mengontrol apakah fase remesh diaktifkan. Saat diatur ke false, API akan langsung mengembalikan mesh segitiga dengan presisi tertinggi.
Hanya berlaku ketika should_remesh = true
Name
topology
Type
string
default triangle
Description
Tentukan topology model yang dihasilkan.
Nilai yang tersedia:
quad: Menghasilkan mesh yang didominasi quad.
triangle: Menghasilkan mesh segitiga yang telah didecimate.
Name
target_polycount
Type
integer
default 30,000
Description
Tentukan target jumlah poligon dalam model yang dihasilkan. Jumlah poligon aktual dapat menyimpang dari target tergantung pada kompleksitas geometri.
Rentang nilai yang valid bervariasi tergantung pada tingkat pengguna:
100 hingga 300.000 (inklusif)
Name
decimation_mode
Type
integer
Description
Aktifkan decimation adaptif dengan menetapkan level jumlah poligon. Saat diatur, target_polycount akan diabaikan.
Nilai yang tersedia:
1: Adaptif — jumlah poligon ultra.
2: Adaptif — jumlah poligon tinggi.
3: Adaptif — jumlah poligon sedang.
4: Adaptif — jumlah poligon rendah.
Name
symmetry_mode
Type
string
⚠ usang
default auto
Description
Usang (deprecated). parameter ini tidak lagi memengaruhi output.
Field symmetry_mode mengontrol perilaku simetri selama proses pembuatan model.
Nilai yang valid adalah:
off: Menonaktifkan simetri.
auto: Secara otomatis menentukan dan menerapkan simetri berdasarkan geometri input.
on: Memaksakan simetri selama pembuatan.
Name
pose_mode
Type
string
default ""
Description
Tentukan pose_mode untuk model yang dihasilkan.
Nilai yang tersedia:
a-pose: Menghasilkan model dalam pose A.
t-pose: Menghasilkan model dalam pose T.
"" (string kosong): Tidak ada pose spesifik yang diterapkan.
Name
is_a_t_pose
Type
boolean
⚠ usang
default false
Description
Gunakan pose_mode sebagai gantinya. Apakah akan menghasilkan model dalam pose A/T.
Name
art_style
Type
string
⚠ usang
default realistic
Description
Tidak didukung oleh Meshy-6. Permintaan yang menggunakan Meshy-6 akan mengabaikan art_style, dan beberapa kombinasi dapat menyebabkan kesalahan. Nilai yang tersedia: realistic, sculpture.
enable_pbr harus diatur ke false saat menggunakan gaya Sculpture, karena gaya Sculpture menghasilkan set peta PBR-nya sendiri.
Name
moderation
Type
boolean
default false
Description
Saat diatur ke true, konten input akan secara otomatis disaring untuk konten yang berpotensi berbahaya. Jika konten berbahaya terdeteksi, tugas tidak akan dilanjutkan ke pembuatan.
Teks dari prompt akan disaring.
Name
target_formats
Type
string[]
Description
Menentukan format file 3D mana yang akan disertakan dalam output. Hanya format yang diminta yang akan dibuat dan dikembalikan, yang dapat mengurangi waktu penyelesaian tugas. Jika dihilangkan, semua format yang didukung akan disertakan.
Nilai yang tersedia: glb, obj, fbx, stl, usdz, 3mf
Jika dihilangkan, semua format kecuali 3mf akan dibuat. 3mf hanya disertakan jika ditentukan secara eksplisit.
Name
alpha_thumbnail
Type
boolean
default false
Description
Saat diatur ke true, tugas juga merender versi pratinjau dengan latar belakang transparan (RGBA) dan mengembalikannya sebagai alpha_thumbnail_url pada respons GET. Field thumbnail_url yang ada tidak berubah.
Name
auto_size
Type
boolean
default false
Description
Saat diatur ke true, layanan menggunakan AI vision untuk memperkirakan tinggi objek di dunia nyata secara otomatis dan mengubah ukuran model sesuai dengan itu. Titik asal akan default ke bottom kecuali origin_at diatur secara eksplisit.
Hanya berlaku ketika auto_size = true
Name
origin_at
Type
string
default bottom
Description
Posisi titik asal saat auto_size diaktifkan.
Nilai yang tersedia: bottom, center.
Pengembalian
Properti result dari respons berisi id tugas dari tugas Teks ke 3D yang baru dibuat.
Mode Kegagalan
Name
400 - Bad Request
Description
Permintaan tidak dapat diterima. Penyebab umum:
Parameter hilang: parameter yang diperlukan (misalnya, prompt, mode) hilang.
Parameter tidak valid: art_style bukan salah satu nilai yang diizinkan.
Prompt terlalu panjang: prompt melebihi batas karakter.
Endpoint ini membuat tugas refine Teks ke 3D, yang menerapkan tekstur ke preview mesh yang telah selesai. Anda harus menyediakan preview_task_id dari tugas preview yang berhasil. Ini adalah langkah kedua dari alur kerja dua langkah.
Parameter
Name
mode
Type
string
Wajib
Description
Bidang ini harus diatur ke "refine" saat membuat tugas refine.
Name
preview_task_id
Type
string
Wajib
Description
ID tugas preview yang sesuai.
Status tugas preview yang diberikan harus SUCCEEDED.
Name
enable_pbr
Type
boolean
default false
Description
Hasilkan peta PBR (metallic, roughness, normal) selain warna dasar. Peta emission juga disertakan ketika ai_model adalah meshy-6 atau latest.
Name
hd_texture
Type
boolean
default false
Description
Hasilkan tekstur warna dasar pada resolusi 4K (4096×4096) untuk detail yang lebih tinggi.
Hanya didukung ketika ai_model adalah meshy-6 atau latest. Peta PBR selalu dihasilkan pada 2K.
Name
texture_prompt
Type
string
Description
Sediakan prompt teks tambahan untuk memandu proses pemberian tekstur. Maksimum 600 karakter.
Name
texture_image_url
Type
string
Description
Sediakan gambar 2d untuk memandu proses pemberian tekstur. Saat ini kami mendukung format .jpg, .jpeg, dan .png.
Ada dua cara untuk menyediakan gambar:
URL yang dapat diakses publik: URL yang dapat diakses dari internet publik
Data URI: Data URI gambar yang dikodekan base64. Contoh data URI: data:image/jpeg;base64,<your base64-encoded image data>
Pemberian tekstur berbasis gambar mungkin tidak bekerja optimal jika terdapat perbedaan geometri yang signifikan antara aset asli dan gambar yang diunggah. Hanya salah satu dari texture_image_url atau texture_prompt yang dapat digunakan untuk memandu proses pemberian tekstur. Jika kedua parameter disediakan, maka texture_prompt akan digunakan untuk memberi tekstur pada model secara default.
Name
ai_model
Type
string
default latest
Description
ID model yang digunakan untuk refine. Nilai yang tersedia: meshy-5, meshy-6, latest (Meshy 6).
Name
moderation
Type
boolean
default false
Description
Ketika diatur ke true, konten input akan secara otomatis disaring untuk konten yang berpotensi berbahaya. Jika konten berbahaya terdeteksi, tugas tidak akan dilanjutkan ke pembuatan.
Baik teks dari texture_prompt maupun gambar dari texture_image_url akan disaring.
Name
remove_lighting
Type
boolean
default true
Description
Menghapus sorotan dan bayangan dari tekstur warna dasar, menghasilkan hasil yang lebih bersih yang bekerja lebih baik di bawah pengaturan pencahayaan kustom.
Hanya didukung ketika ai_model adalah meshy-6 atau latest.
Name
target_formats
Type
string[]
Description
Menentukan format file 3D mana yang akan disertakan dalam output. Hanya format yang diminta yang akan dihasilkan dan dikembalikan, yang dapat mengurangi waktu penyelesaian tugas. Jika dihilangkan, semua format yang didukung disertakan.
Nilai yang tersedia: glb, obj, fbx, stl, usdz, 3mf
Jika dihilangkan, semua format kecuali 3mf akan dihasilkan. 3mf hanya disertakan ketika ditentukan secara eksplisit.
Name
alpha_thumbnail
Type
boolean
default false
Description
Ketika diatur ke true, tugas juga merender versi preview dengan latar belakang transparan (RGBA) dan mengembalikannya sebagai alpha_thumbnail_url pada respons GET. Bidang thumbnail_url yang ada tidak berubah.
Name
auto_size
Type
boolean
default false
Description
Ketika diatur ke true, layanan menggunakan visi AI untuk memperkirakan tinggi objek di dunia nyata secara otomatis dan mengubah ukuran model sesuai dengan itu. Titik asal akan secara default menjadi bottom kecuali origin_at diatur secara eksplisit.
Hanya berlaku ketika auto_size = true
Name
origin_at
Type
string
default bottom
Description
Posisi titik asal ketika auto_size diaktifkan.
Nilai yang tersedia: bottom, center.
Pengembalian
Properti result dari respons berisi id tugas dari tugas Teks ke 3D yang baru dibuat.
Mode Kegagalan
Name
400 - Bad Request
Description
Permintaan tidak dapat diterima. Penyebab umum:
ID tugas tidak valid: preview_task_id tidak valid atau tidak ada.
Tugas belum siap: Tugas preview belum berhasil.
Ketidakcocokan model: Model AI tugas preview tidak kompatibel dengan model refine yang diminta.
Name
401 - Unauthorized
Description
Autentikasi gagal. Harap periksa kunci API Anda.
Name
402 - Payment Required
Description
Kredit tidak mencukupi untuk menjalankan tugas ini.
Name
404 - Not Found
Description
Tugas preview yang ditentukan oleh preview_task_id tidak ditemukan.
endpoint ini memungkinkan Anda mengambil tugas Teks ke 3D berdasarkan id tugas yang valid.
Lihat Objek Tugas Teks ke 3D untuk melihat
properti yang disertakan dalam objek tugas Teks ke 3D.
endpoint ini berfungsi untuk tugas pratinjau maupun penyempurnaan.
Parameter
Name
id
Type
path
Description
Pengidentifikasi unik untuk tugas Teks ke 3D yang akan diambil.
Pengembalian
Respons berisi objek tugas Teks ke 3D. Periksa
bagian Objek Tugas Teks ke 3D untuk detailnya.
Objek Tugas Teks ke 3D adalah unit kerja yang dilacak oleh Meshy untuk menghasilkan model 3D dari input teks. Ada dua tahap pada API Teks ke 3D, preview dan refine. Tahap preview digunakan untuk menghasilkan model 3D yang hanya berupa mesh, dan tahap refine digunakan untuk menghasilkan model 3D bertekstur berdasarkan hasil dari tahap preview.
Objek ini memiliki properti berikut:
Properti
Name
id
Type
string
Description
Pengidentifikasi unik untuk tugas. Meskipun kami menggunakan UUID yang dapat diurutkan-k sebagai detail
implementasi untuk id tugas, Anda tidak boleh membuat asumsi apa pun tentang format id.
Name
type
Type
string
Description
Jenis tugas Teks ke 3D. Nilai yang memungkinkan adalah text-to-3d-preview untuk tugas tahap pratinjau dan text-to-3d-refine untuk tugas tahap refine.
Name
model_urls
Type
object
Description
URL yang dapat diunduh ke file model 3D bertekstur yang dihasilkan oleh Meshy. Properti untuk suatu format akan dihilangkan jika format tersebut tidak dihasilkan, alih-alih mengembalikan string kosong.
Name
glb
Type
string
Description
URL yang dapat diunduh ke file GLB.
Name
fbx
Type
string
Description
URL yang dapat diunduh ke file FBX.
Name
usdz
Type
string
Description
URL yang dapat diunduh ke file USDZ.
Name
obj
Type
string
Description
URL yang dapat diunduh ke file OBJ.
Name
mtl
Type
string
Description
URL yang dapat diunduh ke file MTL.
Name
stl
Type
string
Description
URL yang dapat diunduh ke file STL.
Name
3mf
Type
string
Description
URL yang dapat diunduh ke file 3MF. Hanya ada ketika 3mf diminta melalui target_formats.
Name
prompt
Type
string
Description
Ini adalah prompt yang tidak dimodifikasi yang digunakan untuk membuat tugas.
Name
negative_prompt
Type
string
⚠ usang
Description
Dipertahankan untuk kompatibilitas mundur. Bidang ini tidak memiliki dampak fungsional pada model yang dihasilkan.
Name
art_style
Type
string
⚠ usang
Description
art_style yang tidak dimodifikasi yang digunakan untuk membuat tugas pratinjau. Tidak didukung oleh Meshy-6.
Name
texture_richness
Type
string
⚠ usang
Description
Dipertahankan untuk kompatibilitas mundur. Bidang ini tidak memiliki dampak fungsional pada model yang dihasilkan.
Name
texture_prompt
Type
string
Description
prompt teks tambahan yang diberikan untuk memandu proses pemberian tekstur selama tahap refine.
Name
texture_image_url
Type
string
Description
URL yang dapat diunduh ke gambar tekstur yang digunakan untuk memandu proses pemberian tekstur.
Name
thumbnail_url
Type
string
Description
URL yang dapat diunduh ke gambar thumbnail dari file model.
Name
alpha_thumbnail_url
Type
string
Description
URL yang dapat diunduh ke versi berlatar belakang transparan (RGBA) dari thumbnail_url. Hanya ada ketika tugas dibuat dengan alpha_thumbnail: true dan pratinjau transparan berhasil dirender; jika tidak, bidang ini dihilangkan.
Name
video_url
Type
string
⚠ usang
Description
URL yang dapat diunduh ke video pratinjau. Akan dihapus dalam rilis mendatang.
Name
progress
Type
integer
Description
progress tugas. Jika tugas belum dimulai, properti ini akan bernilai 0. Setelah tugas berhasil, ini akan menjadi 100.
Name
started_at
Type
timestamp
Description
Stempel waktu saat tugas dimulai, dalam milidetik. Jika tugas belum dimulai, properti ini akan bernilai 0.
Stempel waktu merepresentasikan jumlah milidetik yang telah berlalu sejak 1 Januari 1970 UTC, mengikuti
standar RFC 3339.
Misalnya, Jumat, 1 September 2023 12:00:00 PM GMT direpresentasikan sebagai 1693569600000. Ini berlaku
untuk semua stempel waktu di Meshy API.
Name
created_at
Type
timestamp
Description
Stempel waktu saat tugas dibuat, dalam milidetik.
Name
finished_at
Type
timestamp
Description
Stempel waktu saat tugas selesai, dalam milidetik. Jika tugas belum selesai, properti ini akan bernilai 0.
Name
status
Type
string
Description
Status tugas. Nilai yang memungkinkan adalah salah satu dari PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
texture_urls
Type
array
Description
Array objek URL tekstur yang dihasilkan dari tugas. Biasanya ini hanya berisi satu objek URL tekstur. Setiap URL tekstur memiliki properti berikut:
Name
base_color
Type
string
Description
URL yang dapat diunduh ke gambar peta warna dasar.
Name
metallic
Type
string
Description
URL yang dapat diunduh ke gambar peta metalik.
Jika tugas dibuat dengan enable_pbr: false, properti ini akan dihilangkan.
Name
normal
Type
string
Description
URL yang dapat diunduh ke gambar normal map.
Jika tugas dibuat dengan enable_pbr: false, properti ini akan dihilangkan.
Name
roughness
Type
string
Description
URL yang dapat diunduh ke gambar peta kekasaran.
Jika tugas dibuat dengan enable_pbr: false, properti ini akan dihilangkan.
Name
emission
Type
string
Description
URL yang dapat diunduh ke gambar peta emisi.
Jika tugas dibuat dengan enable_pbr: false, atau ai_model adalah meshy-5, properti ini akan dihilangkan.
Name
preceding_tasks
Type
integer
Description
Jumlah tugas sebelumnya.
Nilai bidang ini bermakna hanya jika status tugas adalah PENDING.
Name
task_error
Type
object
Description
Detail kesalahan untuk tugas yang gagal. Lihat Kesalahan untuk referensi objek task_error lengkap.
Name
consumed_credits
Type
integer
Description
Jumlah kredit yang dikonsumsi oleh tugas ini. Ada ketika status tugas adalah PENDING, IN_PROGRESS, atau SUCCEEDED. Mengembalikan 0 untuk tugas FAILED (kredit dikembalikan saat gagal).
Example Text to 3D Task Object
{"id":"018a210d-8ba4-705c-b111-1f1776f7f578","type":"text-to-3d-preview","model_urls": {"glb":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***","fbx":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***","usdz":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***","obj":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***","mtl":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.mtl?Expires=***","stl":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***" },"prompt":"a monster mask","texture_prompt":"green slimy skin with scales and warts","texture_image_url":"","thumbnail_url":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***","progress":100,"seed":1234,"started_at":1692771667037,"created_at":1692771650657,"finished_at":1692771669037,"status":"SUCCEEDED","texture_urls": [ {"base_color":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***","metallic":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX","normal":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX","roughness":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX","emission":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX" } ],"preceding_tasks":0,"task_error": {"message":"" },"consumed_credits":20}