Hızlı başlangıç
Önce API anahtarınızı oluşturun
Bu kılavuzdaki her istek bir API anahtarına ihtiyaç duyar. Anahtar oluşturmak saniyeler sürer.
API anahtarınızı oluşturunMeshy REST API ile, API anahtarı oluşturmaktan modeli indirmeye kadar dört adımda ilk 3D modelinizi oluşturun.
Bir AI kodlama asistanı mı kullanıyorsunuz? Claude Code, Cursor, Windsurf veya başka bir MCP istemcisini Meshy'ye bağlamak için AI entegrasyonu sayfasına bakın. MCP desteği olmayan bir sohbet aracısı için llms.txt dosyasını kullanın.
1API anahtarınızı alın
Developer Platform'ın API Keys sayfasında bir API anahtarı oluşturun. O ekrandan ayrıldıktan sonra anahtarı tekrar görüntüleyemezsiniz, bu yüzden güvenli bir yerde saklayın. Her istekte bunu Authorization başlığında bir Bearer token'ı olarak gönderin. Bkz. Kimlik doğrulama.
API anahtarları oluşturup yönetmek için ücretli bir plana ihtiyacınız vardır. Ücretsiz planda kendi anahtarlarınızı oluşturamazsınız ve Playground, test için yerleşik bir anahtar kullanır.

Anahtarı komut dosyalarınızın dışında tutun. Bunun yerine, bir sonraki adımda gösterildiği gibi bir ortam değişkeninde saklayın.
2Bir Görselden 3D'ye görevi oluşturun
Görselden 3D'ye için bir görsel gönderin. Bunun yerine bir metin prompt'undan veya birkaç fotoğraftan başlamak için Metinden 3D'ye veya Çoklu görselden 3D'ye sayfasını kullanın.
Önce, anahtarınızı bir ortam değişkeninde saklayın:
Export your key
export MESHY_API_KEY="<your-api-key>"
Bunu bir tarayıcıda değil, terminalinizde çalıştırın (macOS'ta Terminal, Windows'ta Command Prompt veya PowerShell).
Aşağıdaki örneklerin hepsi bu fotoğrafı kullanır. Başka bir görsel denemek için image_url değerini değiştirin.

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"
}'
3Görev durumunu kontrol edin
Görev arka planda çalışır ve genellikle birkaç dakika sürer. status değeri SUCCEEDED, FAILED veya CANCELED olana kadar görevi aynı uç noktadan alın. Aşağıdaki istekte, <task_id> kısmını 2. adımın döndürdüğü kimlikle değiştirin. İstekler arasında, Retry-After başlığındaki saniye sayısı kadar bekleyin.
Tipik işlem süreleri ve ne kadar süre sonra vazgeçmeniz gerektiği için bkz. Görev yaşam döngüsü.
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": null
}
Görev başarısız olursa, status değeri FAILED olur ve task_error nedenini belirtir. Girdiyi düzeltin veya başka bir görev oluşturun. Bkz. Hatalar.
Görev bittiğinde sürekli sorgulamak yerine bildirim almak için görevi akışla izleyin veya bir webhook kullanın.
4Modelinizi indirin
Dosyalar, önceki yanıtın model_urls alanındadır. Her format (GLB, FBX, OBJ, USDZ ve STL) sınırlı bir süre için geçerli olan imzalı bir URL'ye sahiptir. Dosyayı indirmek için URL'yi tarayıcınıza da yapıştırabilirsiniz.
Download
curl -L "<model_urls.glb from the response above>" -o model.glb

Enterprise dışındaki her planda, Meshy dosyaları 3 gün boyunca saklar. İhtiyacınız olan dosyaları bu süre dolmadan indirin. Bkz. Varlık saklama.
Hepsini bir araya getirin
Bu betik görevi oluşturur, bitmesini bekler ve modeli indirir.
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, timeout: 60_000 },
);
const taskId = created.result;
// 2. Poll until it finishes, for up to 60 minutes
const deadline = Date.now() + 60 * 60 * 1000;
let task;
while (true) {
const { data, headers: resHeaders } = await axios.get(
`https://api.meshy.ai/openapi/v1/image-to-3d/${taskId}`,
{ headers, timeout: 30_000 },
);
task = data;
if (['SUCCEEDED', 'FAILED', 'CANCELED'].includes(task.status)) break;
if (Date.now() > deadline) {
// The task is still running. Check it again later with the same task ID instead of creating a new one.
throw new Error(`Task ${taskId} is still ${task.status}; check it again later`);
}
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');
Yaygın iş akışlarını keşfedin
Oyuna hazır karakter
Unity veya Unreal'de animasyona hazır olması için insansı bir ağa iskelet ile rigging uygulayın.
Learn more →Smart Topology ağı
Temiz, oyuna hazır bir üçgen ağ elde etmek için Görselden 3D'ye özelliğinde model_type değerini smart-topology olarak ayarlayın.
3D baskı modeli
Tamamlanmış bir modeli, dilimlemeye ve baskıya hazır çok renkli bir 3MF dosyasına dönüştürün.
Learn more →Sonraki adımlar
- API referansı'ndaki her uç noktaya göz atın.
- Üretime geçmeden önce Fiyatlandırma, Hız sınırları ve Hatalar sayfalarını inceleyin.
- Cookbook bölümündeki adım adım tarifleri takip edin.