Kaynaklar · Ses API
Ses API Dokümantasyonu
Gerçek zamanlı ses yürütme, akış olayları, kesme akışı, başlıklar ve hata semantiği için üretim sınıfı referans.
Uç Noktalar
POST /api/v1/voice/chat/metaPOST /api/v1/voice/chatPOST /api/v1/voice/interrupt/{session_id}WS /api/v1/voice/wsGerekli Başlıklar
- Authorization: Bearer [token] or API key auth
- Content-Type: application/json
- X-Scope-Type: personal | workspace
- X-Workspace-ID: required when scope is workspace
İstek Gövdesi
{
"message": "Book a follow-up call tomorrow",
"session_id": "sess_123",
"stream": true,
"voice": {
"input_format": "wav",
"output_format": "wav",
"sample_rate": 16000
},
"metadata": {
"lang": "en",
"client": "web"
}
}Yanıt Gövdesi
{
"success": true,
"session_id": "sess_123",
"content": "Sure — I scheduled a follow-up for tomorrow.",
"provider": "openai",
"usage": {
"input_tokens": 210,
"output_tokens": 96
},
"metadata": {
"latency_ms": 842
}
}Akış Olayları
- session.started — ses oturumu başlatıldı
- stt.partial — kısmi transkripsiyon parçası
- llm.delta — artımlı model metin tokenları
- tts.chunk — üretilen ses parçası
- session.completed — nihai yanıt + kullanım
Akışı Durdur
Interrupt, belirli bir oturum için devam eden ses üretimini sonlandırır ve aktif yürütme yolunu güvenli şekilde serbest bırakır.
POST /api/v1/voice/interrupt/{session_id}
{
"reason": "user_barge_in"
}Ses Formatları
- Önerilen giriş: WAV (PCM16, mono, 16kHz).
- WAV dışı girişler STT'den önce dönüştürülebilir.
- Çıkış formatı sağlayıcıya ve çalışma zamanı ayarlarına bağlıdır.
- Büyük yüklerde 413 dönebilir.
Meta Veri Başlıkları
X-Trace-IDX-Session-IDX-STT-Time-MSX-LLM-Time-MSX-TTS-Time-MS
Hata Modelleri
400
Geçersiz istek gövdesi veya eksik alanlar.
401
Eksik veya geçersiz kimlik doğrulama.
403
Kapsam/izin yetkisi reddedildi.
409
Oturum zaten işleniyor (kilit çakışması).
413
Ses yükü çok büyük.
415
Medya/içerik türü desteklenmiyor.
422
İstek gövdesi veya başlıklarda doğrulama hatası.
429
İstek limiti aşıldı.
503
Sağlayıcı kullanılamıyor veya sistem aşırı yüklü.
Örnekler
curl -X POST "/api/v1/voice/chat" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-H "X-Scope-Type: personal" \
-d '{
"message":"Summarize this call",
"session_id":"sess_123",
"stream":false
}'