Medya kılavuzları
Ses ve gerçek zamanlı
Ses uygulamaları için konuşma, transkripsiyon, çeviri veya gerçek zamanlı WebSocket akışlarını seçin.
Ses işleri iki biçimdedir. Text-to-speech, transkripsiyon ve ses çevirisi gibi dosya benzeri istekler için audio endpointlerini kullanın. Düşük gecikmeli etkileşimli ses veya multimodal olaylar gerektiğinde gerçek zamanlı WebSocket endpointini kullanın.
Akışı Seç
| Akış | Endpoint | Ne zaman kullanılır |
|---|---|---|
| Metinden sese | POST /v1/audio/speech | Metinden ses dosyası gerektiğinde. |
| Transkripsiyon | POST /v1/audio/transcriptions | Ses dosyasından metin gerektiğinde. |
| Ses çevirisi | POST /v1/audio/translations | Ses dosyasından çevrilmiş metin gerektiğinde. |
| Gerçek zamanlı oturum | GET /v1/realtime | Çift yönlü streaming ses veya gerçek zamanlı multimodal olaylar gerektiğinde. |
Modelleri Keşfet
Bir modeli hard-code etmeden önce model kataloğunu sorgulayın. Speech ve transcription için önerilen listeleri kullanın; socket açmadan önce model detaylarında realtime desteğini doğrulayın.
curl "https://api.tokenlab.sh/v1/models?recommended_for=tts" \
-H "Authorization: Bearer sk-your-api-key"
curl "https://api.tokenlab.sh/v1/models?recommended_for=stt" \
-H "Authorization: Bearer sk-your-api-key"Senkron Ses İstekleri
Konuşma üretimi HTTP yanıtında ses döndürür. Transkripsiyon ve çeviri son metni veya kabul edilmiş bir görevi döndürebilir. Yanıtta son metin yerine görev kimliği ve durum varsa kimliği saklayın ve tamamlanana veya başarısız olana kadar poll_url adresini sorgulayın. Büyük dosyalara yeterli süre tanıyın ve Request ID’yi saklayın.
curl -X POST "https://api.tokenlab.sh/v1/audio/speech" \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "tts-1-hd",
"voice": "nova",
"input": "Welcome to TokenLab."
}' \
--output speech.mp3Gerçek Zamanlı Oturumlar
Model query string içinde, API key Authorization header içinde olacak şekilde WebSocket açın. Seçilen realtime model için belgelenen olay formatını kullanın ve oturum tamamlanınca socketi kapatın.
Bu kılavuz yalnızca WebSocket subset kapsamını anlatır. TokenLab şu anda OpenAI Realtime REST client secret, translation client secret, Calls veya legacy beta session yönetim endpoint'lerini sağlamaz.
Sunucu örneği için ws kurun ve TOKENLAB_REALTIME_MODEL değerini ayrıntılarında /v1/realtime belirtilen güncel bir modele ayarlayın. TOKENLAB_API_KEY sunucu ortamında sağlanmalıdır; ad tek başına realtime desteğini kanıtlamaz.
npm install wsimport WebSocket from 'ws';
const model = process.env.TOKENLAB_REALTIME_MODEL;
const apiKey = process.env.TOKENLAB_API_KEY;
if (!model || !apiKey) throw new Error('Set TOKENLAB_REALTIME_MODEL and TOKENLAB_API_KEY');
const url = new URL('wss://api.tokenlab.sh/v1/realtime');
url.searchParams.set('model', model);
const socket = new WebSocket(url, {
headers: { Authorization: `Bearer ${apiKey}` },
});
socket.on('message', (event) => console.log(event.toString()));
socket.on('error', (error) => console.error(error.message));
process.once('SIGINT', () => socket.close(1000, 'Client stopped'));Durum Yönetimi
- Sayfa yenilenince aynı isteği tekrar çalıştırmak yerine üretilen ses dosyalarını saklayın.
- Transkripsiyon ve çeviride API çağrısı senkron olsa bile yükleme ve işleme durumlarını gösterin.
- Realtime için close olaylarını ele alın ve yalnızca kullanıcı yeni oturum başlatınca yeniden bağlanın.
- API key, özel URL veya hesap sırlarını ses metni girişine koymayın.
API Referansı
| Konu | Referans |
|---|---|
| Speech Oluştur | Speech Oluştur |
| Transkripsiyon Oluştur | Transkripsiyon Oluştur |
| Çeviri Oluştur | Çeviri Oluştur |
| Gerçek Zamanlı WebSocket | Gerçek Zamanlı WebSocket |
| Modelleri Listele | Modelleri Listele |
| Faturalama ve fiyatlandırma | Faturalama ve fiyatlandırma |