Hızlı başlangıç
Start by creating your API key
Bu kılavuzdaki her istek için bir API anahtarına ihtiyacınız var. Bir anahtar oluşturmak sadece birkaç saniye sürer.
API anahtarınızı oluşturunMeshy REST API'sini kullanarak ilk 3D modelinize ulaşmak için dört adım.
Bir AI kodlama asistanı mı kullanıyorsunuz? AI entegrasyonu sayfamıza bakın — Claude Code, Cursor, Windsurf ve diğer MCP uyumlu araçlardan araç çağırma erişimi için Meshy MCP server'ı yükleyin veya basit bir sohbet aracısı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 anahtarı tekrar görüntüleyemezsiniz, bu yüzden güvenli bir yerde saklayın. Her istek, Authorization başlığında bir Bearer token'ı ile kimlik doğrulaması yapar — bkz. Authentication.
API anahtarları oluşturmak ve yönetmek ücretli bir plan gerektirir. Free hesaplar, Playground'da test etmek için özel, yerleşik bir anahtar alır, ancak kendi anahtarlarını oluşturamaz veya yönetemezler.

Güvenlik ipucu: anahtarınızı doğrudan scriptlere 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. Bunun yerine bir metin promptu veya birden fazla fotoğrafla mı çalışmak istiyorsunuz? Metinden 3D'ye veya Çoklu görselden 3D'ye sayfasına bakın.
Export your key
export MESHY_API_KEY="<your-api-key>"
Bunu tarayıcıda değil, terminalinizde (macOS'ta Terminal, Windows'ta Command Prompt veya PowerShell) çalıştırın.
Aşağıdaki her örnek bu fotoğrafı kullanır — başka bir şey denemek için kendi image_url değerinizi 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
Görev arka planda çalışır ve genellikle birkaç dakika sürer. Aşağıdaki <task_id> kısmını 2. adımda döndürülen ID ile değiştirerek status değeri SUCCEEDED, FAILED veya CANCELED olana kadar aynı uç noktayı yoklayın. Tipik süreler ve ne kadar beklenmesi gerektiği hakkında bilgi için Görev Yaşam Döngüsü sayfasına bakı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": ""
}
}
Yoklama yöntemi tarzınıza uymuyor mu? Bir görev tamamlanır tamamlanmaz bildirim almak için SSE akışını veya bir webhook kullanın.
4Modelinizi indirin
Yukarıdaki yanıtta yer alan model_urls içinden modeli alın. Her format (GLB, FBX, OBJ, USDZ, STL) imzalı, süreli bir URL'dir — isterseniz komut satırını atlayıp URL'yi doğrudan tarayıcınızın adres çubuğuna yapıştırarak indirebilirsiniz.
Download
curl -L "<model_urls.glb from the response above>" -o model.glb

Dosyalar, Enterprise dışı planlarda 3 gün boyunca saklanır — bkz. Asset Retention.
Hepsini bir araya getirelim
Oluşturma, yoklama ve indirme işlemlerinin tamamını yapan tek bir betik mi tercih edersiniz?
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 bir insansı ağı bir iskeletle riglleyin.
Learn more →Lowpoly asset
Temiz, oyuna hazır bir ağ 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
- 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 webhookları yönetin.
- Her uç nokta için tam API referansına göz atın.
- Çalışan örneklerden öğrenin: Cookbook bölümündeki adım adım tarifleri izleyin ve Developer Blog üzerindeki eğitimleri ve geliştirme hikayelerini okuyun.
- Üretime geçmeden önce Fiyatlandırma, Rate Limits ve Hatalar sayfalarını kontrol edin.
- Güncellemeler ve hata düzeltmeleri için Changelog sayfasını (değişiklik günlüğü) takip edin.
- Geri bildiriminiz mi var ya da bir sorunla mı karşılaştınız? Discord topluluğumuza katılın — sizden haber almak isteriz!