Teks ke 3D API adalah fitur yang memungkinkan Anda mengintegrasikan kemampuan Teks ke 3D Meshy ke dalam aplikasi Anda sendiri. Dalam bagian ini, Anda akan menemukan semua informasi yang anda butuhkan 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, berikan ID tugas pratinjau selesai ke tugas refine (mode: "refine") untuk menerapkan tekstur pada mesh. Kedua langkah berbagi endpoint yang sama.
Endpoint ini membuat tugas pratinjau Teks ke 3D, yang menghasilkan mesh 3D tanpa tekstur (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 teksturing. Lihat Objek Tugas Teks ke 3D untuk skema respons lengkap.
Parameter
Name
mode
Type
string
Wajib
Description
Bidang ini harus diatur ke "preview" saat membuat tugas pratinjau.
Name
prompt
Type
string
Wajib
Description
Jelaskan jenis objek apa yang dimodelkan 3D. 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 biasa.
smart-topology: Pilih model Smart Topology dengan ai_model (meshy-t2).
lowpoly (usang): Menghasilkan mesh low-poly yang dioptimalkan untuk poligon yang lebih bersih. Kami merekomendasikan menggunakan smart-topology sebagai gantinya.
Ketika smart-topology dipilih, should_remesh dan decimation_mode diabaikan, dan hanya topology: triangle yang diterima.
Ketika lowpoly dipilih, ai_model, topology, target_polycount, dan should_remesh diabaikan.
Name
ai_model
Type
string
default latest
Description
ID model yang akan digunakan. Nilai yang tersedia bergantung pada model_type.
meshy-t2 (default): model Smart Topology — topologi yang lebih bersih, bagian yang secara asli terpisah, keluaran segitiga, dan jumlah wajah yang dapat Anda atur dengan target_polycount.
Name
ultra_mode
Type
boolean
default false
Description
Mengaktifkan pembuatan Ultra untuk geometri dengan fidelitas lebih tinggi dengan detail permukaan yang lebih halus. Pembuatan memakan waktu lebih lama dan menambah 5 kredit.
Hanya didukung ketika ai_model adalah meshy-7 (atau latest), dan hanya pada mode preview.
Name
should_remesh
Type
boolean
default false (meshy-6, meshy-7), true (others)
Description
Mengontrol apakah tahap remesh harus diaktifkan. Untuk model kualitas tertinggi, kami merekomendasikan mengatur should_remesh ke false.
Hanya berlaku ketika should_remesh = true
Name
topology
Type
string
default triangle
Description
Tentukan topologi model yang dihasilkan.
Nilai yang tersedia:
quad: Menghasilkan mesh dominan quad.
triangle: Menghasilkan mesh segitiga yang tereduksi.
Keluaran Smart Topology hanya segitiga. Meminta quad bersamaan dengan ai_model: meshy-t2 akan mengembalikan sebuah kesalahan.
Name
decimation_mode
Type
integer
Description
Aktifkan penghilangan adaptif dengan mengatur tingkat jumlah poligon. Ketika diatur, target_polycount 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
target_polycount
Type
integer
Description
Jumlah target poligon (wajah) dalam keluaran. Jumlah aktual dapat menyimpang dari target tergantung pada geometri.
target_polycount berlaku dalam dua kasus independen:
Remesh — dengan should_remesh: true pada model standard. Mesh di-remesh (pereduksi) untuk mencapai sekitar jumlah ini. Rentang 100 hingga 300.000, default 30.000. Jika decimation_mode diatur, ia mendapatkan prioritas dan target_polycount diabaikan.
Smart Topology — dengan model_type: smart-topology dan ai_model: meshy-t2. Model dihasilkan langsung dengan jumlah wajah ini; tidak ada yang meng- remesh dan should_remesh tidak diperlukan. Rentang 100 hingga 15.000, default 4.000.
Name
symmetry_mode
Type
string
⚠ usang
default auto
Description
Usang. Parameter ini tidak lagi mempengaruhi output.
Bidang symmetry_mode mengontrol perilaku simetri selama proses pembuatan model.
Nilai valid adalah:
off: Menonaktifkan simetri.
auto: Menentukan dan menerapkan simetri secara otomatis berdasarkan geometri masukan.
on: Memaksa simetri selama pembuatan.
Name
pose_mode
Type
string
default ""
Description
Tentukan mode pose untuk model yang dihasilkan.
Nilai yang tersedia:
a-pose: Hasilkan model dalam pose A.
t-pose: Hasilkan 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 menghasilkan model dalam pose A/T.
Name
art_style
Type
string
⚠ usang
default realistic
Description
Tidak didukung oleh Meshy-6. Permintaan 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 sendiri.
Name
moderation
Type
boolean
default false
Description
Ketika diatur ke true, konten masukan akan diperiksa secara otomatis untuk konten yang berpotensi berbahaya. Jika konten berbahaya terdeteksi, tugas tidak akan dilanjutkan ke pembuatan.
Teks dari prompt akan diperiksa.
Name
target_formats
Type
string[]
Description
Menentukan format file 3D yang akan dimasukkan dalam keluaran. Hanya format yang diminta yang akan dihasilkan dan dikembalikan, yang dapat mengurangi waktu penyelesaian tugas. Ketika dihilangkan, semua format yang didukung dimasukkan.
Nilai yang tersedia: glb, obj, fbx, stl, usdz, 3mf
When omitted, all formats except 3mf are generated. 3mf is only included when explicitly specified.
Name
alpha_thumbnail
Type
boolean
default false
Description
Ketika diatur ke true, tugas juga merender versi pratinjau 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 AI vision untuk secara otomatis memperkirakan tinggi objek di dunia nyata dan mengubah ukuran model secara sesuai. Titik asal akan default ke bottom kecuali origin_at secara eksplisit diatur.
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.
Keluaran
Properti result dari respons berisi tugas id dari tugas Teks ke 3D yang baru dibuat.
Mode Kegagalan
Name
400 - Bad Request
Description
Permintaan tidak diterima. Penyebab umum:
Parameter hilang: Parameter yang dibutuhkan (misalnya, prompt, mode) hilang.
Parameter tidak valid: art_style bukan salah satu dari nilai yang diizinkan.
Prompt terlalu panjang: prompt melebihi batas karakter.
Name
401 - Unauthorized
Description
Autentikasi gagal. Silakan periksa kunci API anda.
Name
402 - Payment Required
Description
Kredit tidak mencukupi untuk melakukan tugas ini.
Name
429 - Too Many Requests
Description
Anda telah melebihi batas laju anda.
Permintaan
POST
/openapi/v2/text-to-3d
# Pratinjau sederhana dengan parameter wajib sajacurlhttps://api.meshy.ai/openapi/v2/text-to-3d \-H'Authorization: Bearer ${YOUR_API_KEY}' \-H'Content-Type: application/json' \-d'{ "mode": "preview", "prompt": "a monster mask"}'# Pratinjau dengan remesh dan A-posecurlhttps://api.meshy.ai/openapi/v2/text-to-3d \-H'Authorization: Bearer ${YOUR_API_KEY}' \-H'Content-Type: application/json' \-d'{ "mode": "preview", "prompt": "a futuristic robot warrior", "should_remesh": true, "target_polycount": 100000, "pose_mode": "a-pose", "target_formats": ["glb"]}'
Endpoint ini membuat tugas refine Teks ke 3D, yang menerapkan tekstur pada mesh pratinjau yang sudah selesai. Anda harus memberikan preview_task_id dari tugas pratinjau 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 pratinjau yang sesuai.
Status tugas pratinjau yang diberikan harus SUCCEEDED.
Name
enable_pbr
Type
boolean
default false
Description
Hasilkan Peta PBR (metallic, roughness, normal) selain warna dasar. Peta emisi juga disertakan ketika ai_model adalah meshy-6, kecuali pada texture_resolution: 8k (tidak ada peta emisi yang dihasilkan). meshy-7 (dan latest) tidak menghasilkan peta emisi.
Name
texture_resolution
Type
string
default 2k
Description
Resolusi warna dasar tekstur. Salah satu dari 2k (2048×2048), 4k (4096×4096), atau 8k (8192×8192). Resolusi yang lebih tinggi menangkap lebih banyak detail permukaan. Hanya berlaku untuk mode refine.
4k dan 8k memerlukan ai_modelmeshy-6, meshy-7, atau latest. Pada 8k, tidak ada peta emisi yang dihasilkan.
Name
hd_texture
Type
boolean
⚠ usang
default false
Description
Gunakan texture_resolution sebagai gantinya — setara dengan texture_resolution: "4k". Ketika keduanya diatur, texture_resolution akan diutamakan.
Name
texture_prompt
Type
string
Description
Berikan prompt teks tambahan untuk membimbing proses teksturing. Maksimum 600 karakter.
Name
texture_image_url
Type
string
Description
Berikan gambar 2d untuk membimbing proses teksturing. Saat ini kami mendukung format .jpg, .jpeg, dan .png.
Ada dua cara untuk memberikan gambar:
URL yang dapat diakses secara publik: URL yang dapat diakses dari internet publik
Data URI: URI data yang dikodekan base64 dari gambar. Contoh URI data: data:image/jpeg;base64,<your base64-encoded image data>
Teksturing gambar mungkin tidak berfungsi secara optimal jika ada perbedaan geometri yang signifikan antara asset asli dan gambar yang diunggah. Hanya satu dari texture_image_url atau texture_prompt yang dapat digunakan untuk membimbing proses teksturing. Jika kedua parameter disediakan, maka texture_prompt akan digunakan untuk menenun model secara default.
Name
ai_model
Type
string
default latest
Description
ID model yang akan digunakan untuk refine. Nilai yang tersedia: meshy-5, meshy-6, meshy-7, latest (Meshy 7).
latest di sini berlaku persis seperti pada tugas pratinjau (saat ini Meshy 7), sehingga pratinjau latest dan refine latest selalu tiba di model tekstur yang sama.
Name
moderation
Type
boolean
default false
Description
Ketika diatur ke true, konten masukan akan diperiksa secara otomatis untuk konten yang berpotensi berbahaya. Jika konten berbahaya terdeteksi, tugas tidak akan dilanjutkan ke pembuatan.
Baik teks dari texture_prompt dan gambar dari texture_image_url akan diperiksa.
Name
remove_lighting
Type
boolean
default true
Description
Menghapus sorotan dan bayangan dari tekstur warna dasar, menghasilkan hasil yang lebih bersih yang lebih baik untuk pengaturan pencahayaan kustom.
Hanya berlaku jika ai_model adalah meshy-6. Pada meshy-7 (dan latest) parameter diterima tetapi diabaikan.
Name
target_formats
Type
string[]
Description
Menentukan format file 3D yang akan dimasukkan dalam keluaran. Hanya format yang diminta yang akan dihasilkan dan dikembalikan, yang dapat mengurangi waktu penyelesaian tugas. Ketika dihilangkan, semua format yang didukung dimasukkan.
Nilai yang tersedia: glb, obj, fbx, stl, usdz, 3mf
When omitted, all formats except 3mf are generated. 3mf is only included when explicitly specified.
Name
alpha_thumbnail
Type
boolean
default false
Description
Ketika diatur ke true, tugas juga merender versi pratinjau 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 AI vision untuk secara otomatis memperkirakan tinggi objek di dunia nyata dan mengubah ukuran model secara sesuai. Titik asal akan default ke bottom kecuali origin_at secara eksplisit diatur.
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.
Keluaran
Properti result dari respons berisi tugas id dari tugas Teks ke 3D yang baru dibuat.
Mode Kegagalan
Name
400 - Bad Request
Description
Permintaan tidak diterima. Penyebab umum:
ID tugas tidak valid: preview_task_id tidak valid atau tidak ada.
Tugas tidak siap: Tugas pratinjau belum berhasil.
Ketidakcocokan model: Model AI tugas pratinjau tidak sesuai dengan model refine yang diminta.
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 pratinjau yang ditentukan oleh preview_task_id tidak ditemukan.
Name
429 - Too Many Requests
Description
Anda telah melebihi batas laju anda.
Permintaan
POST
/openapi/v2/text-to-3d
# Tugas refine dasarcurlhttps://api.meshy.ai/openapi/v2/text-to-3d \-H'Authorization: Bearer ${YOUR_API_KEY}' \-H'Content-Type: application/json' \-d'{ "mode": "refine", "preview_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578", "enable_pbr": true}'# Refine dengan ukuran otomatis dan format GLBcurlhttps://api.meshy.ai/openapi/v2/text-to-3d \-H'Authorization: Bearer ${YOUR_API_KEY}' \-H'Content-Type: application/json' \-d'{ "mode": "refine", "preview_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578", "target_formats": ["glb"], "auto_size": true}'
Endpoint ini memungkinkan Anda mendapatkan tugas Teks ke 3D dengan memberikan id tugas yang valid. Lihat Objek Tugas Teks ke 3D untuk melihat properti apa yang disertakan dengan objek tugas Teks ke 3D.
Endpoint ini berfungsi untuk tugas pratinjau dan refine.
Parameter
Name
id
Type
path
Description
Pengidentifikasi unik untuk tugas Teks ke 3D yang akan diambil.
Keluaran
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 dicatat oleh Meshy untuk menghasilkan model 3D dari masukan teks. Ada dua tahap dari API Teks ke 3D, preview dan refine. Tahap pratinjau adalah untuk menghasilkan model 3D hanya mesh, dan tahap refine adalah untuk menghasilkan model 3D dengan tekstur berdasarkan hasil tahap pratinjau.
Objek ini memiliki properti berikut:
Properti
Name
id
Type
string
Description
Pengidentifikasi unik untuk tugas. Sementara kami menggunakan UUID k-sortable untuk ID tugas sebagai detail implementasi, Anda seharusnya tidak membuat asumsi apapun tentang format ID tersebut.
Name
type
Type
string
Description
Jenis tugas Teks ke 3D. Nilai yang mungkin 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 Terunduh untuk file model 3D bertekstur yang dihasilkan oleh Meshy. Properti untuk sebuah format akan dihilangkan jika format tersebut tidak dihasilkan daripada mengembalikan string kosong.
Name
glb
Type
string
Description
URL Terunduh untuk file GLB.
Name
fbx
Type
string
Description
URL Terunduh untuk file FBX.
Name
usdz
Type
string
Description
URL Terunduh untuk file USDZ.
Name
obj
Type
string
Description
URL Terunduh untuk file OBJ.
Name
mtl
Type
string
Description
URL Terunduh untuk file MTL.
Name
stl
Type
string
Description
URL Terunduh untuk file STL.
Name
3mf
Type
string
Description
URL Terunduh untuk file 3MF. Hanya hadir jika 3mf diminta melalui target_formats.
Name
prompt
Type
string
Description
Ini adalah prompt yang tidak diubah 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 diubah 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 disediakan untuk membimbing proses teksturing selama tahap refine.
Name
ultra_mode
Type
boolean
Description
Mencerminkan nilai ultra_mode tugas pratinjau dibuat. Hanya hadir untuk tugas pratinjau meshy-7 (atau latest) yang secara eksplisit mengatur ultra_mode; sebaliknya dihilangkan.
Name
texture_image_url
Type
string
Description
URL Terunduh untuk gambar tekstur yang digunakan untuk membimbing proses teksturing.
Name
thumbnail_url
Type
string
Description
URL Terunduh untuk gambar thumbnail dari file model.
Name
alpha_thumbnail_url
Type
string
Description
URL Terunduh untuk versi thumbnail_url dengan latar belakang transparan (RGBA). Hanya hadir saat tugas dibuat dengan alpha_thumbnail: true dan pratinjau transparan berhasil dirender; jika tidak, bidang ini dihilangkan.
Name
video_url
Type
string
⚠ usang
Description
URL Terunduh untuk video pratinjau. Akan dihapus di rilis mendatang.
Name
progress
Type
integer
Description
Kemajuan dari tugas. Jika tugas belum dimulai, properti ini akan 0. Setelah tugas berhasil, ini akan menjadi 100.
Name
started_at
Type
timestamp
Description
Stempel waktu kapan tugas dimulai, dalam milidetik. Jika tugas belum dimulai, properti ini akan 0.
Stempel waktu mewakili jumlah milidetik yang berlalu sejak 1 Januari 1970 UTC, mengikuti standar RFC 3339.
Misalnya, Jumat, 1 September 2023 12:00:00 GMT diwakili sebagai 1693569600000. Ini berlaku untuk semua stempel waktu di Meshy API.
Name
created_at
Type
timestamp
Description
Stempel waktu kapan tugas dibuat, dalam milidetik.
Name
finished_at
Type
timestamp
Description
Stempel waktu kapan tugas selesai, dalam milidetik. Jika tugas belum selesai, properti ini akan 0.
Name
status
Type
string
Description
Status dari tugas. Nilai yang mungkin adalah salah satu dari PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
texture_urls
Type
array
Description
Sebuah 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 Terunduh untuk gambar peta warna dasar.
Name
metallic
Type
string
Description
URL Terunduh untuk gambar peta metallic.
Jika tugas dibuat dengan enable_pbr: false, properti ini akan dihilangkan.
Name
normal
Type
string
Description
URL Terunduh untuk gambar peta normal.
Jika tugas dibuat dengan enable_pbr: false, properti ini akan dihilangkan.
Name
roughness
Type
string
Description
URL Terunduh untuk gambar peta roughness.
Jika tugas dibuat dengan enable_pbr: false, properti ini akan dihilangkan.
Name
emission
Type
string
Description
URL Terunduh untuk 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 dari bidang ini hanya bermakna jika status tugas adalah PENDING.
Name
task_error
Type
object
Description
Detail kesalahan untuk tugas yang gagal. Lihat Kesalahan untuk referensi lengkap objek task_error.
Name
consumed_credits
Type
integer
Description
Jumlah kredit yang dikonsumsi oleh tugas ini. Hadir ketika status tugas adalah PENDING, IN_PROGRESS, atau SUCCEEDED. Mengembalikan 0 untuk tugas FAILED (kredit dikembalikan saat gagal).
Contoh Objek Tugas Teks ke 3D
{"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,"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}