Telefon botlarından sesli asistanlara kadar pek çok uygulama artık tek bir beklenti üzerine kurulu: kullanıcı konuşmaya başladığında yapay zeka yarım saniye içinde cevap versin, ton bozukluğu olmasın, gerektiğinde konuşmayı keserek araya girsin. Bu beklentiyi karşılamak için klasik TTS+STT zinciri yetersiz.
Klasik zincir şöyle çalışıyor: mikrofon → Whisper (konuşma tanıma) → LLM (metin üretimi) → TTS (ses sentezi) → hoparlör. Her adım ayrı bir gecikme biriktiriyor; toplam süre genellikle 1,5-3 saniyeye ulaşıyor. Konuşma tanıma API’leri ve TTS platformları tek tek optimize edilebilir, ancak zincirleme gecikme kalıcı.
Realtime ses AI bu zincirleri tek bir modelde birleştiriyor: ses girişini doğrudan ses çıkışına dönüştüren uçtan uca mimari. Aşağıda OpenAI Realtime API, Gemini Live API ve ElevenLabs Conversational AI’yi geliştirici perspektifinden karşılaştırıyoruz.
Realtime Ses AI Nedir?
Realtime ses AI, büyük dil modeli’nin ses girişini metne çevirmeden doğrudan işlediği ve ses çıkışı ürettiği uçtan uca bir mimaridir. Konuşmayı anlama, muhakeme ve yanıt üretme aşamaları tek bir pipeline’da çalıştığı için klasik STT+LLM+TTS gecikmelerinin toplamından belirgin biçimde düşük bir gecikme elde edilir.
ChatGPT’nin Advanced Voice Mode’u da bu tip bir end-to-end ses modeli üzerine kurulu. GPT-4o mimarisinde ses yalnızca bir giriş modalitesi değil; token dizisi olarak LLM’nin bağlam penceresine giriyor ve çıktı da doğrudan ses tokeni olarak üretiliyor.
Sesli asistan uygulaması geliştiren ekipler için bu mimarinin pratik üç sonucu var:
- Düşük gecikme: İlk ses byte’ı genellikle 300-600 ms arasında geliyor (klasik zincirde 1,5-3 sn).
- Duygu ve vurgu korunumu: Model konuşmacının tonunu ve vurgusunu doğrudan işlediği için TTS’nin robotik sesi ortaya çıkmıyor.
- Kesme (barge-in) desteği: Kullanıcı AI konuşurken söze girerse model bunu algılayıp yanıtı durdurabilir.
Platform Karşılaştırması
Aşağıdaki tablo üç platformun temel özelliklerini özetliyor. Fiyat verileri resmi fiyatlandırma sayfalarından alınmıştır (OpenAI, Google AI, ElevenLabs).
| Özellik | OpenAI Realtime API | Gemini Live API | ElevenLabs Conv. AI |
|---|---|---|---|
| Model | gpt-4o-realtime-preview | Gemini 2.0 Flash Live | Kendi TTS + LLM entegrasyonu |
| Protokol | WebSocket | WebSocket (BidiGenerateContent) | WebSocket |
| Ses girişi fiyatı | ~$0,06/dk | Token bazlı (~$0,001/1K token) | Kredi bazlı |
| Ses çıkışı fiyatı | ~$0,24/dk | Token bazlı (~$0,004/1K token) | Kredi bazlı |
| Türkçe ASR | İyi | İyi | Orta |
| Türkçe TTS | İyi | Orta | İyi (çok sesli) |
| Barge-in | Evet | Evet | Evet |
| Max oturum süresi | Sınırsız (WS açık kaldığı sürece) | 15 dk (Gemini 2.0 Flash Live) | Yapılandırılabilir |
| Function calling | Evet | Evet | Evet (webhook/araç) |
| Ücretsiz katman | Yok | Evet (dakika kotası) | Evet (kredi kotası) |
Kaynak: OpenAI Fiyatlandırma · Google AI Fiyatlandırma · ElevenLabs Fiyatlandırma (Eylül 2026)
OpenAI Realtime API
OpenAI Realtime API, gpt-4o-realtime-preview modelini WebSocket üzerinden sunar. Bağlantı bir kez açıldıktan sonra ses parçaları (input_audio_buffer.append) ve metin mesajları (conversation.item.create) karışık şekilde gönderilebilir; model yanıtı ses akışı olarak iletir.
Desteklenen ses formatları PCM16 ve G.711’dir (u-law/a-law). Bu formatların telefon altyapısı ile doğrudan uyumlu olması, Twilio veya diğer SIP ağları üzerinden çalışan çağrı merkezi uygulamalarını kolaylaştırıyor.
Aşağıda Python ile temel bir WebSocket oturumu kuran örnek var:
import asyncio
import websockets
import json
import base64
API_KEY = "sk-..."
URL = "wss://api.openai.com/v1/realtime?model=gpt-4o-realtime-preview"
async def realtime_session():
headers = {
"Authorization": f"Bearer {API_KEY}",
"OpenAI-Beta": "realtime=v1",
}
async with websockets.connect(URL, additional_headers=headers) as ws:
# Oturumu yapılandır
await ws.send(json.dumps({
"type": "session.update",
"session": {
"modalities": ["audio", "text"],
"voice": "alloy",
"input_audio_format": "pcm16",
"output_audio_format": "pcm16",
"turn_detection": {"type": "server_vad"},
}
}))
# Ses parçası gönder (PCM16, base64)
audio_b64 = base64.b64encode(open("input.raw", "rb").read()).decode()
await ws.send(json.dumps({
"type": "input_audio_buffer.append",
"audio": audio_b64
}))
await ws.send(json.dumps({"type": "input_audio_buffer.commit"}))
await ws.send(json.dumps({"type": "response.create"}))
# Yanıtları oku
async for msg in ws:
event = json.loads(msg)
if event["type"] == "response.audio.delta":
audio_chunk = base64.b64decode(event["delta"])
# Ses çıkışını işle...
break
asyncio.run(realtime_session())
Function calling desteği de güçlü: araç tanımları session.update içinde iletildiğinde model sesli konuşma sırasında araçları çağırabilir, araç sonucunu alıp akışı sürdürebilir. Bir rezervasyon botu veya ürün arama asistanı için bu özellik doğrudan işe yarıyor.
Açık zayıflığı fiyat. Ses çıkışı dakika başına ~$0,24 ile üç platform arasında en pahalıyı. Yüksek hacimli bir çağrı merkezinde bu hızla artıyor; API fiyat karşılaştırması yapmadan gerçek dakika bütçenizi tahmin etmek güç.
Gemini Live API
Google’ın Gemini Live API’si, BidiGenerateContent adlı çift yönlü akış endpoint’ini kullanır. Google AI Studio veya Vertex AI üzerinden erişilebilir; ikincisi kurumsal SLA ve bölgesel veri egemenliği gerektiren projeler için tercih ediliyor.
Gemini Live’ın öne çıkan özelliği multimodal girdi: yalnızca ses değil, video akışı da paralel olarak gönderilebilir. Gemini 2.0 Flash Live, ekrandaki içeriği ve kullanıcının sesini eş zamanlı işleyebilir; bu durum uzaktan teknik destek veya görsel rehberlik uygulamaları için somut bir avantaj.
Aşağıda JavaScript ile temel bir Gemini Live oturumu:
import { GoogleGenerativeAI } from "@google/generative-ai";
const genAI = new GoogleGenerativeAI(process.env.GEMINI_API_KEY);
const model = genAI.getGenerativeModel({ model: "gemini-2.0-flash-live" });
async function startLiveSession() {
const session = await model.startChat({
generationConfig: {
responseModalities: ["AUDIO"],
speechConfig: {
voiceConfig: { prebuiltVoiceConfig: { voiceName: "Aoede" } },
},
},
});
// Ses chunk'larını gönder (Float32Array)
const audioChunk = getAudioChunk(); // kendi ses yakalama mantığınız
const result = await session.sendMessage([{
inlineData: {
mimeType: "audio/pcm;rate=16000",
data: Buffer.from(audioChunk.buffer).toString("base64"),
},
}]);
// Yanıt sesini al
for (const part of result.response.candidates[0].content.parts) {
if (part.inlineData?.mimeType?.startsWith("audio/")) {
const audioData = Buffer.from(part.inlineData.data, "base64");
playAudio(audioData);
}
}
}
Gemini Live’ın token tabanlı fiyatlaması, büyük hacimli kısa konuşmalarda OpenAI’ye kıyasla daha ekonomik çıkabiliyor. Ücretsiz katmanda sınırlı dakika kotası mevcut; prototipler için bu yeterli.
Kısıtlama olarak 15 dakikalık maksimum oturum süresi var. Uzun çağrı senaryolarında oturumu yönetmek ve gerektiğinde yeniden bağlanmak geliştirici tarafına kalıyor.
ElevenLabs Conversational AI
ElevenLabs bu platforma farklı bir perspektiften yaklaştı: yapay zeka konuşma altyapısı yerine sesli ajan oluşturma ortamı sunuyor. Platformun Agent Builder arayüzü, kod yazmadan konuşma akışları, araçlar ve bilgi tabanları tanımlamanıza izin veriyor. Teknik ekipler için REST ve WebSocket API’leri de tam olarak mevcut.
ElevenLabs’ın açık avantajı ses kalitesi. Şirketin TTS motoru çok sesli desteğiyle üç platform içinde en doğal konuşmayı üretiyor; müşterinin sesi doğrudan duyduğu uygulamalarda bu fark anlamlı.
Twilio, VAPI ve diğer telefon altyapılarıyla resmi entegrasyon desteği de gelişmiş: bir konuşma ajanını birkaç satır config ile telefon numarasına bağlayabilirsiniz.
from elevenlabs.client import ElevenLabs
from elevenlabs.conversational_ai.conversation import Conversation
import pyaudio
client = ElevenLabs(api_key="your_api_key")
conversation = Conversation(
client=client,
agent_id="your_agent_id",
requires_auth=False,
audio_interface=pyaudio.PyAudio(),
callback_agent_response=lambda r: print(f"Ajan: {r}"),
callback_user_transcript=lambda t: print(f"Kullanıcı: {t}"),
)
conversation.start_session()
input("Enter'a basarak konuşmayı bitirin...\n")
conversation.end_session()
conversation.wait_for_session_end()
ElevenLabs’ın zayıflığı LLM seçimi. Platform kendi optimize ettiği modeli kullanıyor ve harici bir LLM’i (örneğin Claude veya Llama) kolayca bağlamak mümkün değil. Sıfırdan AI agent yapımı gibi tam kontrol gerektiren senaryolarda bu kısıtlama hissedilir.
Gecikme ve Maliyet Analizi
Aşağıdaki gecikme değerleri platform belgelerinden ve topluluk ölçümlerinden derlendi. TTFA (Time to First Audio Byte) değerleri ağ koşullarına göre değişkenlik gösterebilir.
| Metrik | OpenAI Realtime | Gemini Live | ElevenLabs Conv. AI |
|---|---|---|---|
| Medyan TTFA | ~300-500 ms | ~400-700 ms | ~400-600 ms |
| Barge-in tepki süresi | ~200 ms | ~300 ms | ~250 ms |
| Ses çıkışı kalitesi | Yüksek | Orta-Yüksek | Yüksek |
| Dakika başı tahmini maliyet (üretim) | ~$0,30 | ~$0,05-0,10 | $0,10-0,20 (kredi) |
| Ücretsiz katman | Yok | Evet | Evet |
Kaynak: OpenAI Realtime API Docs · Gemini Live API Docs · ElevenLabs Conv. AI Docs (Eylül 2026)
Günlük 1.000 dakika konuşma işleyen bir uygulama için aylık maliyet OpenAI’de ~$9.000, Gemini Live’da ~$1.500-3.000, ElevenLabs’da ~$3.000-6.000 (kredi paketine göre değişir). Farkı interaktif olarak görmek için token maliyeti hesaplama aracına bakılabilir.
Türkçe Destek Durumu
Türkçe için üç platformun performansı belirgin biçimde ayrışıyor.
OpenAI Realtime API: gpt-4o-realtime-preview, Türkçe konuşma tanımada gözlemsel olarak en tutarlı platform. Türkçe sesli çıktı da doğal; alloy, echo ve shimmer sesleri Türkçe telaffuzu makul düzeyde işliyor. Uzun ve karmaşık Türkçe cümlelerde zaman zaman noktalama kaynaklı ritim bozukluğu yaşanıyor.
Gemini Live API: Türkçe metin anlaması güçlü olmakla birlikte ses çıktısındaki Türkçe sesi hâlâ İngilizce aksanlı. Türkçe sesli asistan senaryolarında bu durum kullanıcı deneyimini olumsuz etkiliyor. Çok dilli konuşmaları (Türkçe-İngilizce karışık) iyi takip ediyor.
ElevenLabs Conversational AI: TTS motoru nedeniyle Türkçe ses kalitesi en yüksek platform. Ancak Türkçe konuşma tanıma (ASR) kısmı diğerlerine kıyasla daha sık hata yapıyor; özellikle gürültülü ortamlarda veya diyalekt farklılıklarında.
Türkçe ağırlıklı bir uygulama için şu anki en pratik seçenek OpenAI Realtime API. Ses kalitesi ElevenLabs kadar yüksek olmasa da ASR+TTS bütünleşik dengesi daha güvenilir.
Hangi Platform Seçilmeli?
Tek bir “doğru cevap” yok; senaryo belirleyici:
Prototip veya hack projesi → Gemini Live API Ücretsiz katman, Google AI Studio’nun hazır arayüzü ve hızlı kurulum prototipleme için iyi. 15 dakika oturum sınırı kısa demo senaryolarında sorun değil.
Türkçe müşteri desteği botu → OpenAI Realtime API ASR+LLM+TTS bütünleşik dengesi, function calling desteği ve ekosistem olgunluğu üretim ortamında güvenilirlik sunuyor. Yüksek maliyeti öngörülü bir ses süresi planıyla yönetilebilir.
Ses kalitesinin öncelikli olduğu B2C uygulaması → ElevenLabs Conversational AI Müşterinin sesli deneyim kalitesini doğrudan hissedeceği pazarlama, terapi desteği veya eğitim uygulamalarında ElevenLabs’ın TTS kalitesi fark yaratıyor. Agent Builder, teknik olmayan ekiplere de esneklik tanıyor.
Multimodal (ses + görüntü) ihtiyacı → Gemini Live API Ekran paylaşımı, kamera akışı veya doküman eş zamanlı gözden geçirme gerektiren senaryolarda rakipsiz.
Yüksek hacimli telefoni → OpenAI Realtime API veya ElevenLabs Her ikisi de Twilio entegrasyonunu destekliyor. OpenAI’nin PCM16/G.711 desteği düşük seviyeli telefon altyapısında avantaj. ElevenLabs’ın hazır Twilio entegrasyonu kurulumu hızlandırıyor.
Kurulum: OpenAI Realtime API
Aşağıdaki adımlar 10 dakikada çalışan bir ses oturumu başlatmanızı sağlar.
Gereksinimler: Python 3.10+, websockets, pyaudio veya sounddevice.
pip install websockets pyaudio openai
Minimal çalışan demo (mikrofon girişini yakalar, OpenAI’ye gönderir, yanıtı hoparlörden oynatır):
import asyncio
import websockets
import json
import base64
import pyaudio
API_KEY = "sk-..."
URL = "wss://api.openai.com/v1/realtime?model=gpt-4o-realtime-preview"
CHUNK = 1024
RATE = 24000
FORMAT = pyaudio.paInt16
CHANNELS = 1
async def run():
headers = {
"Authorization": f"Bearer {API_KEY}",
"OpenAI-Beta": "realtime=v1",
}
async with websockets.connect(URL, additional_headers=headers) as ws:
# Oturum yapılandırması
await ws.send(json.dumps({
"type": "session.update",
"session": {
"modalities": ["audio"],
"voice": "alloy",
"input_audio_format": "pcm16",
"output_audio_format": "pcm16",
"turn_detection": {
"type": "server_vad",
"threshold": 0.5,
"silence_duration_ms": 800,
},
"instructions": "Sen Türkçe konuşan yardımcı bir asistansın.",
}
}))
p = pyaudio.PyAudio()
mic = p.open(format=FORMAT, channels=CHANNELS,
rate=RATE, input=True, frames_per_buffer=CHUNK)
speaker = p.open(format=FORMAT, channels=CHANNELS,
rate=RATE, output=True)
print("Konuşmaya başlayın... (Ctrl+C ile çıkın)")
async def send_audio():
while True:
data = mic.read(CHUNK, exception_on_overflow=False)
await ws.send(json.dumps({
"type": "input_audio_buffer.append",
"audio": base64.b64encode(data).decode()
}))
await asyncio.sleep(0)
async def receive():
async for msg in ws:
event = json.loads(msg)
if event["type"] == "response.audio.delta":
chunk = base64.b64decode(event["delta"])
speaker.write(chunk)
await asyncio.gather(send_audio(), receive())
asyncio.run(run())
turn_detection bloğundaki server_vad modu, konuşmanın ne zaman bittiğini sunucu tarafında algılıyor; bu sayede istemci tarafında sessizlik tespiti yapmanıza gerek kalmıyor. silence_duration_ms parametresiyle yanıt gecikme hassasiyetini ayarlayabilirsiniz.
Sıkça Sorulan Sorular
Ücretsiz kullanabilir miyim? Gemini Live API ve ElevenLabs Conversational AI’nin ücretsiz katmanı mevcut. OpenAI Realtime API için ücretsiz katman yok; ancak standart API kredileriniz kullanılabilir. Gemini’nin ücretsiz kotası dakika kısıtlamalı, ElevenLabs’ın ise aylık kredi bazlı.
Türkçe ne kadar iyi? Üç platform da Türkçe ASR’da makul performans gösteriyor. En tutarlı sonuç OpenAI Realtime API’den geliyor. ElevenLabs Türkçe sesi en doğal üretiyor ama konuşma tanıma kısmında zaman zaman hata yapıyor. Gemini Live Türkçe sesli çıktıda henüz yetersiz.
Gecikme ne kadar? Ağ koşulları ve sunucu yüküne bağlı olarak değişmekle birlikte iyi koşullarda üç platform da 300-700 ms arasında ilk ses byte’ını iletebiliyor. Klasik STT+LLM+TTS zincirine kıyasla bu değerler kayda değer ölçüde düşük.
Kendi LLM’imi bağlayabilir miyim? OpenAI ve Gemini kendi modellerini kullanıyor; harici LLM bağlantısı yok. ElevenLabs Agent Builder, belirli harici LLM’lerle entegrasyona izin veriyor ancak seçenekler sınırlı. Tam kontrol için kendi AI agent mimarinizi kurmak daha esnek bir yol.
Telefon altyapısına bağlayabilir miyim? Evet. OpenAI Realtime API PCM16/G.711 desteğiyle Twilio gibi SIP ağlarına düşük gecikmeyle bağlanabiliyor. ElevenLabs’ın hazır Twilio entegrasyonu kurulumu hızlandırıyor. Gemini Live için telefoni entegrasyonu daha az olgun, ama mümkün.



