Mulai cepat
Mulai dengan membuat kunci API Anda
Setiap permintaan dalam panduan ini membutuhkan satu kunci. Membuat kunci hanya butuh beberapa detik.
Buat kunci API AndaEmpat langkah menuju model 3D pertama Anda, menggunakan Meshy REST API.
Menggunakan asisten pengkodean AI? Lihat halaman Integrasi AI kami — instal MCP server Meshy untuk akses tool-calling dari Claude Code, Cursor, Windsurf, dan alat lain yang kompatibel dengan MCP, atau arahkan agen chat biasa ke llms.txt.
1Dapatkan kunci API Anda
Buat kunci API dari halaman API Keys di Developer Platform — Anda tidak akan bisa melihatnya lagi setelah layar ini, jadi simpan di tempat yang aman. Setiap permintaan diautentikasi dengan token Bearer di header Authorization — lihat Autentikasi.
Membuat dan mengelola kunci API memerlukan paket berbayar. Akun gratis mendapatkan kunci bawaan khusus untuk pengujian di Playground, tetapi tidak dapat membuat atau mengelola kunci milik sendiri.

Tips keamanan: hindari menempelkan kunci Anda langsung ke dalam skrip — simpan sebagai variabel lingkungan sebagai gantinya: export MESHY_API_KEY="msy_...".
2Buat permintaan Gambar-ke-3D pertama Anda
Ekspor kunci Anda, lalu buat tugas pertama Anda dengan Gambar ke 3D. Bekerja dari prompt teks atau beberapa foto sebagai gantinya? Lihat Teks ke 3D atau Multi-Gambar ke 3D.
Export your key
export MESHY_API_KEY="<your-api-key>"
Jalankan ini di terminal Anda (Terminal di macOS, Command Prompt atau PowerShell di Windows) — bukan di browser.
Setiap contoh di bawah ini menggunakan foto ini — ganti dengan image_url Anda sendiri untuk mencoba sesuatu yang lain.

Request
curl https://api.meshy.ai/openapi/v1/image-to-3d \
-X POST \
-H "Authorization: Bearer ${MESHY_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"image_url": "https://docs.meshy.ai/images/api/quick-start/source-photo.webp"
}'
3Periksa status tugas
Permintaan akan langsung mengembalikan ID tugas. Poll endpoint yang sama hingga status bernilai SUCCEEDED — ganti <task_id> di bawah ini dengan ID yang dikembalikan pada langkah 2.
Request
curl https://api.meshy.ai/openapi/v1/image-to-3d/<task_id> \
-H "Authorization: Bearer ${MESHY_API_KEY}"
Response — SUCCEEDED
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"status": "SUCCEEDED",
"progress": 100,
"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=***"
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
"task_error": {
"message": ""
}
}
Tidak suka polling? Gunakan SSE streaming atau webhook untuk mendapat notifikasi begitu tugas selesai.
4Unduh model Anda
Ambil model dari model_urls dalam respons di atas. Setiap format (GLB, FBX, OBJ, USDZ, STL) adalah URL bertanda tangan dan terbatas waktu — atau lewati baris perintah dan tempelkan URL langsung ke bilah alamat browser Anda untuk mengunduhnya.
Download
curl -L "<model_urls.glb from the response above>" -o model.glb

File disimpan selama 3 hari pada paket non-Enterprise — lihat Retensi Aset.
Gabungkan semuanya
Lebih suka satu skrip yang melakukan semuanya — membuat, poll, unduh?
Full script
import axios from 'axios';
import fs from 'fs';
const headers = { Authorization: `Bearer ${process.env.MESHY_API_KEY}` };
const imageUrl = 'https://docs.meshy.ai/images/api/quick-start/source-photo.webp';
// 1. Create the task
const { data: created } = await axios.post(
'https://api.meshy.ai/openapi/v1/image-to-3d',
{ image_url: imageUrl },
{ headers },
);
const taskId = created.result;
// 2. Poll until it finishes
let task;
while (true) {
const { data } = await axios.get(`https://api.meshy.ai/openapi/v1/image-to-3d/${taskId}`, { headers });
task = data;
if (task.status === 'SUCCEEDED' || task.status === 'FAILED') break;
await new Promise((resolve) => setTimeout(resolve, 5000));
}
// 3. Download the result (only if the task succeeded)
if (task.status !== 'SUCCEEDED') {
throw new Error(`Task ${task.status}: ${task.task_error?.message || 'unknown error'}`);
}
const { data: model } = await axios.get(task.model_urls.glb, { responseType: 'arraybuffer' });
fs.writeFileSync('model.glb', model);
console.log('Saved model.glb');
Jelajahi alur kerja umum
Karakter siap-game
Rig sebuah mesh humanoid dengan kerangka sehingga siap dianimasikan di Unity atau Unreal.
Learn more →Aset lowpoly
Atur model_type ke lowpoly pada Gambar ke 3D untuk mesh yang bersih dan siap-game.
Model cetak 3D
Konversi model yang sudah jadi menjadi file 3MF multi-warna, siap untuk di-slice dan dicetak.
Learn more →Langkah berikutnya
- Lebih suka UI? Buka Developer Platform — jalankan permintaan di Playground, lacak penggunaan dan log permintaan, serta kelola webhooks.
- Jelajahi referensi API lengkap untuk setiap endpoint.
- Periksa Harga, Rate Limits, dan Kesalahan sebelum Anda masuk ke produksi.
- Pantau catatan perubahan untuk pembaruan dan perbaikan bug.
- Punya masukan atau menghadapi masalah? Bergabunglah dengan komunitas Discord kami — kami senang mendengar dari Anda!