İçindekiler
- 1. Giriş: AI API Ekosistemi
- 2. OpenAI API Detaylı İnceleme
- 3. Anthropic Claude API
- 4. Google Gemini API
- 5. Kapsamlı Karşılaştırma Tablosu
- 6. Fiyatlandırma Analizi
- 7. Rate Limiting Stratejileri
- 8. Güvenlik ve Best Practices
- 9. SDK'lar ve Kütüphaneler
- 10. Kod Örnekleri (Python, C#, JavaScript)
- 11. Entegrasyon Best Practices
- 12. Sonuç ve Öneriler
- 13. Sıkça Sorulan Sorular
1. Giriş: AI API Ekosistemi
Yapay zeka teknolojileri, modern yazılım geliştirme süreçlerinin vazgeçilmez bir parçası haline geldi. 2026 yılı itibarıyla üç büyük oyuncu — OpenAI, Anthropic ve Google — geliştiricilere güçlü API'ler sunarak yapay zeka yeteneklerini uygulamalara entegre etmeyi kolaylaştırıyor. Doğal dil işleme, kod üretimi, görsel analiz ve çok modlu görevler için bu API'ler, startuplardan büyük kurumsal şirketlere kadar geniş bir yelpazede kullanılmaktadır.
Bu rehberde, OpenAI GPT serisi, Anthropic Claude ve Google Gemini API'lerini derinlemesine karşılaştıracak, her birinin güçlü ve zayıf yönlerini analiz edecek, fiyatlandırma modellerini inceleyecek ve gerçek dünya senaryolarında kullanabileceğiniz kod örnekleri sunacağız. Amacımız, projeniz için en uygun AI API'yi seçmenize yardımcı olmaktır.
2. OpenAI API Detaylı İnceleme
OpenAI, GPT serisinin mucidi olarak AI API pazarının öncüsü konumundadır. GPT-4o, GPT-4 Turbo ve o1 modelleri ile geliştiricilere çok yönlü bir API deneyimi sunmaktadır.
Temel Özellikler
- Chat Completions API: Sohbet tabanlı etkileşimler için ana endpoint
- Assistants API: Kalıcı thread'ler, dosya erişimi ve kod çalıştırma yetenekleri
- Vision (Görsel Anlama): GPT-4o ile resim analizi
- Function Calling: Yapılandırılmış çıktı ve harici araç entegrasyonu
- Embeddings API: Metin vektörizasyonu ve semantik arama
- DALL-E & Whisper: Görsel üretim ve ses tanıma
OpenAI API Kimlik Doğrulama
OpenAI API, Bearer token kimlik doğrulaması kullanır. API anahtarınızı HTTP başlığında göndermeniz gerekir:
Authorization: Bearer sk-xxxxxxxxxxxxxxxxxxxx
Content-Type: application/json
OpenAI Model Seçenekleri
| Model | Context | En İyi Kullanım |
|---|---|---|
| GPT-4o | 128K | Genel amaçlı, multimodal |
| GPT-4 Turbo | 128K | Karmaşık muhakeme |
| GPT-4o-mini | 128K | Hız ve maliyet optimizasyonu |
| o1 | 200K | İleri düzey muhakeme, matematik |
3. Anthropic Claude API
Anthropic, güvenlik odaklı yapay zeka araştırma şirketi olarak Claude modelini geliştirmiştir. Claude API, özellikle uzun bağlam penceresi, güvenilir çıktılar ve kurumsal güvenlik gereksinimleriyle öne çıkmaktadır.
Claude Modelleri
- Claude Opus 4: En güçlü model, karmaşık analiz ve uzun belgeler için ideal
- Claude Sonnet 4: Performans ve maliyet dengesi, genel amaçlı kullanım
- Claude Haiku: Hızlı ve ekonomik, yüksek hacimli işlemler için
Claude API'nin Ayırt Edici Özellikleri
Claude API, geliştiriciler için bazı benzersiz avantajlar sunar:
- 200K Token Bağlam Penceresi: Uzun dokümanları ve kod tabanlarını tek seferde analiz edebilme
- System Prompt Desteği: Modelin davranışını hassas şekilde yönetme
- Tool Use (Araç Kullanımı): Fonksiyon çağırma ve yapılandırılmış çıktı
- Vision: Resim ve grafik analizi
- Streaming: Gerçek zamanlı yanıt akışı
- Extended Thinking: Karmaşık problemlerde adım adım düşünme süreci
Anthropic API Yapısı
POST https://api.anthropic.com/v1/messages
Headers:
x-api-key: sk-ant-xxxxxxxxxxxxx
anthropic-version: 2023-06-01
content-type: application/json
4. Google Gemini API
Google, Gemini modeliyle yapay zeka yarışında güçlü bir rakip olarak konumlandı. Gemini API, Google Cloud ekosistemiyle derin entegrasyonu ve çok modlu yetenekleriyle dikkat çekmektedir.
Gemini Modelleri
| Model | Context | Özellik |
|---|---|---|
| Gemini 2.5 Pro | 1M | En gelişmiş muhakeme |
| Gemini 2.0 Flash | 1M | Hız ve verimlilik |
| Gemini 1.5 Pro | 2M | Ultra uzun bağlam |
Google AI Studio ve Vertex AI
Google, Gemini API'yi iki farklı platform üzerinden sunar:
- Google AI Studio: Hızlı başlangıç, bireysel geliştiriciler ve prototipler için ücretsiz katman
- Vertex AI: Kurumsal düzeyde güvenlik, SLA ve Google Cloud entegrasyonu
5. Kapsamlı Karşılaştırma Tablosu
Üç büyük AI API sağlayıcısını temel özellikler açısından karşılaştıralım:
| Özellik | OpenAI | Anthropic | |
|---|---|---|---|
| Maks. Bağlam | 200K (o1) | 200K | 2M |
| Multimodal | Metin, Görsel, Ses | Metin, Görsel | Metin, Görsel, Ses, Video |
| Function Calling | Evet | Evet (Tool Use) | Evet |
| Streaming | SSE | SSE | SSE |
| Ücretsiz Katman | Sınırlı | Yok | Evet (AI Studio) |
| SDK Dilleri | Python, Node, C#, Java | Python, TypeScript | Python, Node, Go, Java |
| Fine-tuning | Evet | Sınırlı | Evet |
6. Fiyatlandırma Analizi
AI API maliyetleri genellikle token bazlı olarak hesaplanır. Input (giriş) ve output (çıkış) tokenları farklı fiyatlandırılır. Aşağıdaki tablo, 1 milyon token başına yaklaşık fiyatları göstermektedir:
| Model | Input (1M token) | Output (1M token) |
|---|---|---|
| GPT-4o | $2.50 | $10.00 |
| GPT-4o-mini | $0.15 | $0.60 |
| Claude Opus 4 | $15.00 | $75.00 |
| Claude Sonnet 4 | $3.00 | $15.00 |
| Claude Haiku | $0.25 | $1.25 |
| Gemini 2.5 Pro | $1.25 | $10.00 |
| Gemini 2.0 Flash | $0.10 | $0.40 |
7. Rate Limiting Stratejileri
Her API sağlayıcısı, kaynakların adil kullanımını sağlamak amacıyla rate limit uygular. Bu limitleri aşmamak için etkili stratejiler geliştirmek kritik önem taşır.
Rate Limit Türleri
- RPM (Requests Per Minute): Dakikada izin verilen istek sayısı
- TPM (Tokens Per Minute): Dakikada işlenebilecek toplam token sayısı
- RPD (Requests Per Day): Günlük toplam istek limiti
Exponential Backoff Stratejisi
Rate limit hatası (HTTP 429) aldığınızda, üstel geri çekilme (exponential backoff) uygulamanız önerilir:
# Python - Exponential Backoff
import time
import random
def api_call_with_retry(func, max_retries=5):
for attempt in range(max_retries):
try:
return func()
except RateLimitError:
wait_time = (2 ** attempt) + random.uniform(0, 1)
print(f"Rate limit aşıldı. {wait_time:.1f}s bekleniyor...")
time.sleep(wait_time)
raise Exception("Maksimum deneme sayısı aşıldı")
Token Bucket Algoritması
Daha sofistike uygulamalar için token bucket algoritması kullanabilirsiniz. Bu yöntem, belirli bir hızda token biriktirerek isteklerin düzgün dağılmasını sağlar. Özellikle yüksek hacimli uygulamalarda, burst trafiği yönetmek için idealdir.
8. Güvenlik ve Best Practices
AI API entegrasyonlarında güvenlik, en kritik konulardan biridir. API anahtarlarının sızması, yetkisiz kullanım ve veri güvenliği gibi riskler ciddi sonuçlar doğurabilir.
API Anahtarı Yönetimi
- Ortam Değişkenleri: API anahtarlarını
.envdosyasında saklayın ve.gitignoreile hariç tutun - Azure Key Vault / AWS Secrets Manager: Kurumsal projelerde güvenli anahtar yönetimi
- Anahtar Rotasyonu: Düzenli aralıklarla API anahtarlarını değiştirin
- En Az Yetki Prensibi: Sadece gerekli izinlere sahip anahtarlar oluşturun
Veri Güvenliği
- Kişisel verileri (PII) API'ye göndermeden önce anonimleştirin
- HTTPS kullanarak iletim sırasında şifreleme sağlayın
- API yanıtlarını loglarken hassas verileri maskeleyin
- GDPR ve KVKK uyumluluğunu kontrol edin
Input Validasyonu
Kullanıcı girdilerini API'ye göndermeden önce mutlaka doğrulayın. Prompt injection saldırılarına karşı savunma mekanizmaları kurun. System prompt'ları ile model davranışını sınırlayın ve beklenmeyen çıktıları filtreleme katmanları ekleyin.
9. SDK'lar ve Kütüphaneler
Her API sağlayıcısı, farklı programlama dilleri için resmi SDK'lar sunmaktadır. Doğru SDK seçimi, geliştirme hızını ve kod kalitesini doğrudan etkiler.
OpenAI SDK'ları
# Python
pip install openai
# Node.js
npm install openai
# C# (.NET)
dotnet add package OpenAI
Anthropic SDK'ları
# Python
pip install anthropic
# TypeScript/Node.js
npm install @anthropic-ai/sdk
Google Gemini SDK'ları
# Python
pip install google-generativeai
# Node.js
npm install @google/generative-ai
# Go
go get github.com/google/generative-ai-go
10. Kod Örnekleri (Python, C#, JavaScript)
Python - OpenAI Chat Completion
from openai import OpenAI
import os
client = OpenAI(api_key=os.environ["OPENAI_API_KEY"])
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "system", "content": "Sen yardımcı bir asistansın."},
{"role": "user", "content": "Python ile REST API nasıl oluşturulur?"}
],
temperature=0.7,
max_tokens=1000
)
print(response.choices[0].message.content)
Python - Anthropic Claude
import anthropic
import os
client = anthropic.Anthropic(api_key=os.environ["ANTHROPIC_API_KEY"])
message = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=1024,
system="Sen deneyimli bir yazılım mühendisisin.",
messages=[
{"role": "user", "content": "Microservices mimarisinin avantajları nelerdir?"}
]
)
print(message.content[0].text)
Python - Google Gemini
import google.generativeai as genai
import os
genai.configure(api_key=os.environ["GOOGLE_API_KEY"])
model = genai.GenerativeModel("gemini-2.5-pro")
response = model.generate_content("Yapay zeka etiği hakkında bilgi ver.")
print(response.text)
C# - OpenAI Entegrasyonu
using OpenAI;
using OpenAI.Chat;
var client = new ChatClient(
model: "gpt-4o",
apiKey: Environment.GetEnvironmentVariable("OPENAI_API_KEY")
);
var response = await client.CompleteChatAsync(new[]
{
new SystemChatMessage("Sen yardımcı bir asistansın."),
new UserChatMessage("C# ile async programlama hakkında bilgi ver.")
});
Console.WriteLine(response.Value.Content[0].Text);
C# - Anthropic Claude ile HttpClient
using System.Net.Http.Json;
var httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.Add("x-api-key", Environment.GetEnvironmentVariable("ANTHROPIC_API_KEY"));
httpClient.DefaultRequestHeaders.Add("anthropic-version", "2023-06-01");
var requestBody = new
{
model = "claude-sonnet-4-20250514",
max_tokens = 1024,
messages = new[]
{
new { role = "user", content = "SOLID prensiplerini açıkla." }
}
};
var response = await httpClient.PostAsJsonAsync(
"https://api.anthropic.com/v1/messages", requestBody);
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
JavaScript - OpenAI (Node.js)
import OpenAI from 'openai';
const openai = new OpenAI({
apiKey: process.env.OPENAI_API_KEY
});
const completion = await openai.chat.completions.create({
model: 'gpt-4o',
messages: [
{ role: 'system', content: 'Sen yardımcı bir asistansın.' },
{ role: 'user', content: 'React ile state management nasıl yapılır?' }
],
temperature: 0.7
});
console.log(completion.choices[0].message.content);
JavaScript - Anthropic Claude (Node.js)
import Anthropic from '@anthropic-ai/sdk';
const anthropic = new Anthropic({
apiKey: process.env.ANTHROPIC_API_KEY
});
const message = await anthropic.messages.create({
model: 'claude-sonnet-4-20250514',
max_tokens: 1024,
messages: [
{ role: 'user', content: 'TypeScript ile tip güvenliği nasıl sağlanır?' }
]
});
console.log(message.content[0].text);
JavaScript - Streaming Örneği (OpenAI)
const stream = await openai.chat.completions.create({
model: 'gpt-4o',
messages: [{ role: 'user', content: 'Uzun bir hikaye yaz.' }],
stream: true
});
for await (const chunk of stream) {
const content = chunk.choices[0]?.delta?.content || '';
process.stdout.write(content);
}
11. Entegrasyon Best Practices
Hata Yönetimi
Üretim ortamında sağlam bir hata yönetimi stratejisi kritik önem taşır. Her API çağrısını try-catch blokları ile sarmalayın ve farklı hata türleri için özel işleme mantığı uygulayın:
- 400 Bad Request: İstek parametrelerini kontrol edin
- 401 Unauthorized: API anahtarını doğrulayın
- 429 Too Many Requests: Rate limit - exponential backoff uygulayın
- 500 Internal Server Error: API sağlayıcı taraflı sorun - tekrar deneyin
- Timeout: Bağlantı zaman aşımı - circuit breaker deseni kullanın
Caching Stratejileri
API maliyetlerini düşürmek ve yanıt sürelerini iyileştirmek için caching kullanın:
- Prompt Caching: OpenAI ve Anthropic'in sunduğu yerleşik caching
- Response Caching: Aynı sorular için yanıtları Redis veya Memcached'de saklayın
- Semantic Caching: Embedding tabanlı benzer sorguları tespit edin
Monitoring ve Logging
API kullanımınızı izlemek, maliyet kontrolü ve hata ayıklama için olmazsa olmazdır. Her API çağrısında şunları loglayın: model adı, token kullanımı, yanıt süresi, başarı/hata durumu. Bu metrikleri Grafana veya benzeri araçlarla görselleştirerek anormallikleri erken tespit edebilirsiniz.
Multi-Provider Mimari
Tek bir API sağlayıcısına bağımlı kalmak risk oluşturur. Birden fazla sağlayıcıyı destekleyen bir soyutlama katmanı oluşturarak, bir sağlayıcıda sorun olduğunda otomatik olarak diğerine geçiş yapabilirsiniz. Bu yaklaşım hem yüksek erişilebilirlik sağlar hem de maliyet optimizasyonu imkanı sunar.
12. Sonuç ve Öneriler
Her üç API sağlayıcısı da güçlü yetenekler sunmaktadır. Doğru seçim, projenizin gereksinimlerine bağlıdır:
- OpenAI: En geniş ekosistem, en fazla SDK desteği, genel amaçlı kullanım için ideal
- Anthropic Claude: Güvenlik odaklı, uzun bağlam penceresi, kurumsal uygulamalar ve hassas görevler için mükemmel
- Google Gemini: Google Cloud entegrasyonu, ultra uzun bağlam, multimodal yetenekler ve rekabetçi fiyatlandırma
Önerimiz, küçük bir prototip ile başlayarak her üç API'yi de test etmeniz ve kendi kullanım senaryonuza en uygun olanı belirlemenizdir. Multi-provider mimari yaklaşımını benimseyerek, uzun vadede esneklik ve dayanıklılık kazanabilirsiniz.
13. Sıkça Sorulan Sorular
Hangi AI API'yi seçmeliyim?
Genel amaçlı projeler için OpenAI GPT-4o iyi bir başlangıç noktasıdır. Güvenlik ve uzun belge analizi öncelikliyse Anthropic Claude, Google Cloud kullanıyorsanız ve maliyet önemliyse Google Gemini tercih edilebilir. En iyi yaklaşım, her üçünü de kendi kullanım senaryonuzda test etmektir.
AI API maliyetlerini nasıl düşürebilirim?
Prompt caching kullanın, gereksiz token harcamalarından kaçının, daha küçük modelleri (GPT-4o-mini, Claude Haiku, Gemini Flash) basit görevler için tercih edin. Response caching ile aynı soruların tekrar tekrar API'ye gönderilmesini engelleyin. Prompt mühendisliği ile daha kısa ama etkili promptlar yazın.
Rate limit hatasını nasıl yönetirim?
Exponential backoff stratejisi uygulayın, token bucket algoritması kullanın, isteklerinizi kuyrukla yönetin ve API sağlayıcınızın sunduğu rate limit başlıklarını (headers) izleyerek proaktif olarak limitlere yaklaşmadan hızınızı ayarlayın. Gerekirse API sağlayıcınızdan daha yüksek limitler talep edin.
API anahtarlarımı nasıl güvenli tutarım?
API anahtarlarını asla kaynak koduna eklemeyin. Ortam değişkenleri, .env dosyaları veya güvenli anahtar kasaları (Azure Key Vault, AWS Secrets Manager, HashiCorp Vault) kullanın. Anahtarları düzenli olarak rotasyona tabi tutun ve her ortam (geliştirme, staging, üretim) için ayrı anahtarlar oluşturun.
Birden fazla AI API'yi aynı projede kullanabilir miyim?
Evet, multi-provider mimari yaklaşımı giderek yaygınlaşmaktadır. Farklı görevler için farklı modeller kullanabilir (örneğin, basit sınıflandırma için Gemini Flash, karmaşık analiz için Claude Opus), failover mekanizmaları kurabilir ve maliyet optimizasyonu yapabilirsiniz. Soyutlama katmanı (abstraction layer) oluşturarak provider değişimini kolaylaştırın.
Streaming yanıtlar ne zaman kullanılmalıdır?
Kullanıcı arayüzünde gerçek zamanlı metin gösterimi gerektiğinde streaming kullanın. Sohbet uygulamaları, uzun metin üretimi ve interaktif asistanlar için ideal olan streaming, kullanıcı deneyimini önemli ölçüde iyileştirir. Arka plan işlemleri ve batch processing gibi senaryolarda ise standart (non-streaming) yanıtlar yeterlidir.