Hızlı başlangıç
API anahtarınızı oluşturarak başlayın
Bu kılavuzdaki her istek buna ihtiyaç duyar. Bir anahtar oluşturmak saniyeler sürer.
API anahtarınızı oluşturunMeshy REST API'sini kullanarak ilk 3D modelinize giden dört adım.
Bir AI kodlama asistanı mı kullanıyorsunuz? Claude Code, Cursor, Windsurf ve diğer MCP uyumlu araçlardan araç çağırma (tool-calling) erişimi için Meshy MCP server'ı kurmak üzere AI entegrasyonu sayfamıza bakın veya sıradan bir sohbet ajanını llms.txt adresine yönlendirin.
1API anahtarınızı alın
Developer Platform içindeki API Keys sayfasından bir API anahtarı oluşturun — bu ekrandan sonra bir daha görüntüleyemeyeceksiniz, bu yüzden güvenli bir yerde saklayın. Her istek, Authorization başlığında bir Bearer token'ı ile kimlik doğrular — bkz. Kimlik doğrulama.
API anahtarı oluşturmak ve yönetmek için ücretli bir plan gereklidir. Ücretsiz hesaplar, Playground'da test için özel, yerleşik bir anahtar alır ancak kendi anahtarlarını oluşturamaz veya yönetemez.

Güvenlik ipucu: anahtarınızı doğrudan komut dosyalarına yapıştırmaktan kaçının — bunun yerine bir ortam değişkeni olarak saklayın: export MESHY_API_KEY="msy_...".
2İlk Görselden 3D'ye isteğinizi yapın
Anahtarınızı dışa aktarın, ardından Görselden 3D'ye ile ilk görevinizi oluşturun. Bir metin prompt'u veya birden fazla fotoğraf üzerinden mi çalışmak istiyorsunuz? Metinden 3D'ye veya Çoklu görselden 3D'ye sayfalarına bakın.
Export your key
export MESHY_API_KEY="<your-api-key>"
Bunu terminalinizde çalıştırın (macOS'te Terminal, Windows'ta Komut İstemi veya PowerShell) — bir tarayıcıda değil.
Aşağıdaki her örnek bu fotoğrafı kullanır — başka bir şey denemek için kendi image_url'nizi değiştirip kullanın.

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
İstekler hemen bir görev kimliği (task ID) döndürür. status değeri SUCCEEDED olana kadar aynı uç noktayı yoklayın (poll) — aşağıdaki <task_id> yerine 2. adımda döndürülen kimliği yazın.
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": ""
}
}
4Modelinizi indirin
Yukarıdaki yanıttaki model_urls içinden modeli alın. Her format (GLB, FBX, OBJ, USDZ, STL) imzalı, süre sınırlı bir URL'dir — ya da komut satırını atlayıp indirmek için URL'yi doğrudan tarayıcınızın adres çubuğuna yapıştırabilirsiniz.
Download
curl -L "<model_urls.glb from the response above>" -o model.glb

Dosyalar, Enterprise dışındaki planlarda 3 gün boyunca saklanır — bkz. Varlık saklama.
Hepsini bir araya getirelim
Oluşturma, yoklama ve indirmenin tamamını yapan tek bir betik mi tercih ediyorsunuz?
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');
Yaygın iş akışlarını keşfedin
Oyuna hazır karakter
İnsansı bir ağı bir iskelet ile riglendirin, böylece Unity veya Unreal'de animasyon için hazır olsun.
Learn more →Lowpoly asset
Temiz, oyuna hazır bir ağ için Görselden 3D'ye özelliğinde model_type değerini lowpoly 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
- Bir arayüz mü tercih ediyorsunuz? Developer Platform'u açın — Playground'da istekler çalıştırın, kullanımı ve istek günlüklerini takip edin ve webhook'ları yönetin.
- Her uç nokta için tam API referansına göz atın.
- Üretime geçmeden önce Fiyatlandırma, Rate Limits ve Hatalar sayfalarını kontrol edin.
- Güncellemeler ve hata düzeltmeleri için değişiklik günlüğünü takip edin.
- Geri bildiriminiz mi var veya sorunlarla mı karşılaşıyorsunuz? Discord topluluğumuza katılın — sizden haber almak isteriz!