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 Anda

Empat langkah menuju model 3D pertama Anda, menggunakan Meshy REST API.


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.

Buka halaman API Keys di Developer Platform, lalu buat kunci Anda


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>"

Setiap contoh di bawah ini menggunakan foto ini — ganti dengan image_url Anda sendiri untuk mencoba sesuatu yang lain.

Sample fantasy character illustration used as the Image to 3D input in this guide
Sample input

Request

POST
/openapi/v1/image-to-3d
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

GET
/openapi/v1/image-to-3d/:id
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": ""
  }
}

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

model_urls.glb
curl -L "<model_urls.glb from the response above>" -o model.glb
The resulting 3D model generated from the sample fantasy character photo
Your result

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


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!