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ış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

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.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.

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 ws
import 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ı

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

Bu sayfada