Ana içeriğe atla
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ışEndpointNe zaman kullanılır
Metinden sesePOST /v1/audio/speechMetinden ses dosyası gerektiğinde.
TranskripsiyonPOST /v1/audio/transcriptionsSes dosyasından metin gerektiğinde.
Ses çevirisiPOST /v1/audio/translationsSes dosyasından çevrilmiş metin gerektiğinde.
Gerçek zamanlı oturumGET /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

Speech, transcription ve translation istekleri doğrudan HTTP isteğinden döner. Büyük girdiler yaygın client timeout değerlerinden uzun sürebilir, bu yüzden geniş timeout belirleyin ve destek için request ID 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.mp3

Gerç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.
import WebSocket from 'ws';

const socket = new WebSocket('wss://api.tokenlab.sh/v1/realtime?model=gpt-realtime', {
  headers: { Authorization: 'Bearer sk-your-api-key' }
});

socket.on('message', (event) => console.log(event.toString()));

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ı

KonuReferans
Speech OluşturSpeech Oluştur
Transkripsiyon OluşturTranskripsiyon Oluştur
Çeviri OluşturÇeviri Oluştur
Gerçek Zamanlı WebSocketGerçek Zamanlı WebSocket
Modelleri ListeleModelleri Listele
Faturalama ve fiyatlandırmaFaturalama ve fiyatlandırma