🚀 Hızlı Başlangıç
5 dakikada ilk API çağrınızı yapın: anahtar alın, bir istek gönderin.
1. API anahtarı alın
API sayfasından giriş yapıp API Anahtarı bölümünden anahtar oluşturun. Anahtarı güvenli saklayın; isteklerde Authorization: Bearer <API_KEY> header'ı ile gönderin.
2. Base URL
https://www.numexai.com.tr/api/v1 — tüm endpoint'ler bu önek ile başlar.
3. İlk Chat isteği (curl)
curl -X POST https://www.numexai.com.tr/api/v1/chat \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{"message":"Merhaba, kendini kısaca tanıt","history":[]}'
Başarılı yanıtta answer alanında model yanıtı gelir. Detaylar için Giriş ve Chat endpoint bölümlerine bakın.
API Referansı
Numex AI API, uygulamalarınıza Türkçe yapay zeka yetenekleri eklemenizi sağlar. RESTful HTTP arayüzü, JSON yanıtları ve tüm modaliteler için tek bir API anahtarı.
🔑 Kimlik Doğrulama
Numex AI API, Bearer token kimlik doğrulaması kullanır. Tüm isteklere Authorization başlığını eklemeniz gerekir.
Authorization: Bearer nx_live_your-api-key-here
Content-Type: application/json
API Anahtarı Formatı
Tüm Numex API anahtarları nx_live_ önekiyle başlar ve ardından rastgele bir karakter dizisi gelir:
# Örnek format (gerçek değil)
nx_live_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2
🌐 Base URL
Tüm API istekleri HTTPS üzerinden aşağıdaki base URL'e yapılmalıdır:
https://www.numexai.com.tr/api/v1
POST https://www.numexai.com.tr/api/v1/chat🤖 Modeller
Web arayüzünde 4 ana profil (Pro, Fast, Vision, Code) vardır; Developer API'de ek olarak numex-think (akıl yürütme) ve numex-audio (ses) kullanılabilir. Model seçimi kalite, hız ve maliyet dengesini etkiler.
💬 Chat
Çok turlu sohbet ve geçmiş bağlamı ile AI yanıtı almak için kullanılan temel endpoint. Numex'in boru (pipeline) sistemi üzerinden işlenir; yanıt Türkçe optimizasyonu ve kalite kontrolünden geçer.
İstek Parametreleri
| Parametre | Tür | Durum | Açıklama |
|---|---|---|---|
| message | string | zorunlu | Kullanıcının son mesajı |
| history | array | opsiyonel | Önceki tur mesajları. Her öğe role ("user" veya "assistant") ve content içerir. Varsayılan: [] |
| maxOutputTokens | integer | opsiyonel | Maksimum çıktı token tahmini (32–3000). Varsayılan: 600. Token bakiyesinden rezerv hesabında kullanılır. |
Authorization: Bearer nx_live_... başlığı gerektirir. Anahtarınızın yeterli token bakiyesi olmalıdır.curl https://www.numexai.com.tr/api/v1/chat \
-H "Authorization: Bearer nx_live_your-api-key" \
-H "Content-Type: application/json" \
-d '{
"message": "Python'\''da fibonacci yaz",
"history": [
{"role": "user", "content": "Merhaba"},
{"role": "assistant", "content": "Merhaba! Size nasıl yardımcı olabilirim?"}
],
"maxOutputTokens": 800
}'
Başarılı Yanıt (200 OK)
{
"success": true,
"answer": "def fibonacci(n):\n if n <= 1:\n return n\n return fibonacci(n-1) + fibonacci(n-2)",
"usage": {
"estimatedInputTokens": 28,
"estimatedOutputTokens": 52,
"estimatedTotalTokens": 80
}
}
Hata Yanıtı — Yetersiz Bakiye (402)
{
"error": "Yetersiz token bakiyesi",
"code": "insufficient_tokens",
"tokenBalance": 0
}
🖼️ Görsel Üretimi YAKINDA
Metin açıklamasından (prompt) farklı stillerde görsel oluşturmak için kullanılır. Bu endpoint şu an geliştirme aşamasındadır.
| Parametre | Tür | Durum | Açıklama |
|---|---|---|---|
| prompt | string | zorunlu | Görseli tanımlayan metin açıklaması |
| size | string | opsiyonel | 512x512 · 1024x1024 |
| style | string | opsiyonel | realistic · illustration · anime |
🎙️ Text-to-Speech YAKINDA
Metni doğal Türkçe sese dönüştürür. Bu endpoint şu an geliştirme aşamasındadır.
| Parametre | Tür | Durum | Açıklama |
|---|---|---|---|
| input | string | zorunlu | Sese dönüştürülecek metin (maks. 4096 karakter) |
| voice | string | opsiyonel | zeynep · ahmet · elif · murat |
🧠 Embeddings YAKINDA
Metni vektör temsillerine dönüştürür. Semantik arama, benzerlik karşılaştırması ve RAG uygulamaları için kullanılır. Bu endpoint şu an geliştirme aşamasındadır.
| Parametre | Tür | Durum | Açıklama |
|---|---|---|---|
| input | string | array | zorunlu | Tek metin veya metin dizisi |
| model | string | opsiyonel | Varsayılan: numex-embed-tr |
🎤 Speech-to-Text YAKINDA
Ses dosyasını metne dönüştürür (konuşma tanıma). Türkçe için optimize edilmiş modeller planlanmaktadır.
| Parametre | Tür | Durum | Açıklama |
|---|---|---|---|
| file | file | zorunlu | Ses dosyası (mp3, wav, m4a, ogg). Maks. 25 MB. |
| language | string | opsiyonel | Dil kodu. Varsayılan: tr |
📄 Belge Analizi YAKINDA
PDF, Word, Excel gibi belgeleri AI ile analiz eder, özetler ve sorgulanabilir hale getirir.
| Parametre | Tür | Durum | Açıklama |
|---|---|---|---|
| file | file | zorunlu | Belge dosyası (pdf, docx, xlsx, txt). Maks. 20 MB. |
| question | string | opsiyonel | Belge hakkında sorulacak soru |
| mode | string | opsiyonel | summary · qa · extract |
🔍 Web Arama YAKINDA
AI destekli web araması yapar ve güncel internet verilerini yanıta dahil eder.
| Parametre | Tür | Durum | Açıklama |
|---|---|---|---|
| query | string | zorunlu | Arama sorgusu |
| max_results | integer | opsiyonel | Döndürülecek sonuç sayısı. Varsayılan: 5 |
🤖 Model Listesi YAKINDA
Developer API üzerinden erişilebilen modelleri listeler. Chat endpointi model seçimini otomatik yönetir; bu endpoint bilgilendirme amaçlıdır. Liste endpoint'i yakında aktif olacaktır.
Mevcut Developer API, aşağıdaki profil/model gruplarını dahili olarak kullanmaktadır (web arayüzündeki 4 profil ile uyumlu):
| Profil | Amaç | Özellik |
|---|---|---|
numex-pro | Genel amaçlı, dengeli | 128K bağlam, birincil profil |
numex-fast | Hızlı sohbet, genel sorular | Düşük gecikme, yüksek verim |
numex-vision | Görsel anlama ve üretim | Görsel analiz, text-to-image |
numex-code | Kod yazma, analiz | Kod üretimi, debug, refactor |
⚡ Streaming YAKINDA
Streaming (SSE — Server-Sent Events) desteği Developer API için geliştirilmektedir. Şu an yanıtlar tam olarak döner.
POST /api/v1/chat şu an tam yanıtı tek seferde döndürür. Streaming desteği yakında eklenecektir.const response = await fetch('https://www.numexai.com.tr/api/v1/chat', {
method: 'POST',
headers: {
'Authorization': 'Bearer nx_live_your-api-key',
'Content-Type': 'application/json'
},
body: JSON.stringify({ message: 'Türkiye ekonomisini anlat' })
});
// Şu an: tek seferde JSON yanıt
const data = await response.json();
console.log(data.answer);
🔧 Function Calling YAKINDA
Modelin harici araçları ve API'leri çağırmasını sağlar. JSON Schema ile araç tanımları yapılır. Bu özellik Developer API'de henüz aktif değildir.
tools = [
{
"type": "function",
"function": {
"name": "hava_durumu",
"description": "Belirtilen şehrin hava durumunu getirir",
"parameters": {
"type": "object",
"properties": {
"sehir": {"type": "string", "description": "Şehir adı"}
},
"required": ["sehir"]
}
}
}
]
response = client.chat.create(
model="numex-pro",
messages=[{"role": "user", "content": "İstanbul'da hava nasıl?"}],
tools=tools,
tool_choice="auto"
)
📊 Rate Limits
Kullanım düzeyinize göre otomatik yükselen limitler. Tier atlamak için minimum harcama koşulları sağlanmalıdır.
| Tier | İstek / Dakika | Token / Dakika | Günlük Limit | Yükseltme Koşulu |
|---|---|---|---|---|
| Free | 10 req/dk | 20K | 100K token | Ödeme bilgisi ekle |
| Tier 1 | 60 req/dk | 100K | Sınırsız | ₺250+ harcama |
| Tier 2 | 200 req/dk | 400K | Sınırsız | ₺2.500+ harcama |
| Tier 3 | 500 req/dk | 1M | Sınırsız | ₺10.000+ harcama |
| Enterprise | Özel | Özel | Sınırsız | İletişime geçin |
429 Too Many Requests yanıtı döner. Retry-After başlığındaki süre kadar bekleyin.⚠️ Hata Kodları
-
400
Bad Requestİstek formatı geçersiz veya zorunlu parametre eksik.
-
401
UnauthorizedAPI anahtarı geçersiz veya eksik.
Authorizationbaşlığını kontrol edin. -
402
Payment Required —
insufficient_tokensToken bakiyeniz yetersiz. Yanıt body'sinde"code": "insufficient_tokens"ve mevcuttokenBalancedöner. Dashboard'dan token yükleyin. -
403
ForbiddenBu endpoint'e erişim için planınız yetersiz veya API anahtarınız iptal edilmiş.
-
429
Too Many RequestsRate limit aşıldı.
Retry-Afterbaşlığına bakın. -
500
Internal Server ErrorSunucu taraflı hata. Lütfen destek ekibine bildirin.
-
503
Service UnavailableGeçici yük sorunu. Exponential backoff ile tekrar deneyin.