Mula pantas
Mulakan dengan membuat kunci API anda
Setiap permintaan dalam panduan ini memerlukan satu. Membuat kunci hanya mengambil masa beberapa saat.
Buat kunci API andaEmpat langkah untuk mendapatkan model 3D pertama anda, menggunakan Meshy REST API.
Menggunakan pembantu pengekodan AI? Lihat halaman Integrasi AI kami — pasang MCP server Meshy untuk akses tool-calling daripada Claude Code, Cursor, Windsurf, dan alat lain yang serasi dengan MCP, atau arahkan ejen sembang biasa ke llms.txt.
1Dapatkan kunci API anda
Buat kunci API daripada halaman API Keys dalam Developer Platform — anda tidak akan dapat melihatnya semula selepas skrin ini, jadi simpan di tempat yang selamat. Setiap permintaan disahkan dengan token Bearer dalam header Authorization — lihat Pengesahan.
Membuat dan menguruskan kunci API memerlukan pelan berbayar. Akaun percuma mendapat kunci khusus terbina dalam untuk ujian dalam Playground, tetapi tidak boleh membuat atau menguruskan kunci sendiri.

Petua keselamatan: elakkan menampal kunci anda terus ke dalam skrip — sebaliknya simpan sebagai pembolehubah persekitaran: export MESHY_API_KEY="msy_...".
2Buat permintaan Imej-ke-3D pertama anda
Eksport kunci anda, kemudian buat tugas pertama anda dengan Imej ke 3D. Bekerja daripada prompt teks atau beberapa foto sebaliknya? Lihat Teks ke 3D atau Berbilang Imej ke 3D.
Export your key
export MESHY_API_KEY="<your-api-key>"
Jalankan ini dalam terminal anda (Terminal pada macOS, Command Prompt atau PowerShell pada Windows) — bukan dalam pelayar web.
Setiap contoh di bawah menggunakan foto ini — gantikan dengan image_url anda sendiri untuk mencuba 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"
}'
3Semak status tugas
Permintaan mengembalikan ID tugas dengan segera. Tinjau endpoint yang sama sehingga status adalah SUCCEEDED — gantikan <task_id> di bawah dengan ID yang dikembalikan dalam 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": ""
}
}
Tinjauan bukan gaya anda? Gunakan penstriman SSE atau webhook untuk mendapat notifikasi sebaik sahaja tugas selesai.
4Muat turun model anda
Dapatkan model daripada model_urls dalam respons di atas. Setiap format (GLB, FBX, OBJ, USDZ, STL) adalah URL yang ditandatangani dan terhad masa — atau langkau baris arahan dan tampal URL terus ke bar alamat pelayar anda untuk memuat turunnya.
Download
curl -L "<model_urls.glb from the response above>" -o model.glb

Fail dikekalkan selama 3 hari pada pelan bukan-Enterprise — lihat Pengekalan Aset.
Gabungkan semuanya
Lebih suka satu skrip yang melakukan keseluruhan proses — cipta, tinjau, muat turun?
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, headers: resHeaders } = await axios.get(`https://api.meshy.ai/openapi/v1/image-to-3d/${taskId}`, { headers });
task = data;
if (task.status === 'SUCCEEDED' || task.status === 'FAILED') break;
const waitSeconds = Number(resHeaders['retry-after']) || 5;
await new Promise((resolve) => setTimeout(resolve, waitSeconds * 1000));
}
// 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');
Terokai aliran kerja biasa
Watak sedia untuk permainan
Rig jejaring humanoid dengan rangka supaya ia sedia untuk dianimasikan dalam Unity atau Unreal.
Learn more →Aset lowpoly
Tetapkan model_type kepada smart-topology pada Imej ke 3D untuk jejaring yang bersih dan sedia untuk permainan.
Model cetakan 3D
Tukar model yang telah siap kepada fail 3MF berbilang warna, sedia untuk dihiris dan dicetak.
Learn more →Langkah seterusnya
- Lebih suka UI? Buka Developer Platform — jalankan permintaan dalam Playground, jejaki penggunaan dan log permintaan, serta uruskan webhook.
- Layari rujukan API yang lengkap untuk setiap endpoint.
- Belajar daripada contoh yang berfungsi: ikuti resipi langkah demi langkah dalam Cookbook dan baca tutorial serta cerita pembinaan di Developer Blog.
- Semak Harga, Had Kadar, dan Ralat sebelum anda pergi ke pengeluaran.
- Pantau log perubahan untuk kemas kini dan pembaikan pepijat.
- Ada maklum balas atau menghadapi masalah? Sertai komuniti Discord kami — kami ingin mendengar daripada anda!