Guias de mídia

Áudio e tempo real

Escolha voz, transcrição, tradução ou WebSocket em tempo real para aplicações de áudio.

Workloads de áudio têm duas formas. Use os endpoints de áudio para requisições parecidas com arquivos, como texto para fala, transcrição e tradução de áudio. Use o endpoint WebSocket em tempo real quando a experiência precisar de áudio interativo de baixa latência ou eventos multimodais.

Escolher O Fluxo

FluxoEndpointUse quando
Texto para falaPOST /v1/audio/speechVocê precisa de um arquivo de áudio a partir de texto.
TranscriçãoPOST /v1/audio/transcriptionsVocê precisa de texto a partir de um arquivo de áudio.
Tradução de áudioPOST /v1/audio/translationsVocê precisa de texto traduzido a partir de um arquivo de áudio.
Sessão em tempo realGET /v1/realtimeVocê precisa de áudio bidirecional em streaming ou eventos multimodais em tempo real.

Descobrir Modelos

Consulte o catálogo de modelos antes de fixar um modelo. Use listas recomendadas para fala e transcrição, e confirme suporte realtime nos detalhes do modelo antes de abrir um socket.

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"

Requisições De Áudio Síncronas

A síntese retorna áudio na resposta HTTP. Transcrição e tradução podem retornar texto final ou uma tarefa aceita. Se a resposta contiver ID e status de tarefa, salve o ID e consulte poll_url até concluir ou falhar. Reserve tempo suficiente para arquivos grandes e mantenha o Request ID.

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

Sessões Em Tempo Real

Abra um WebSocket com o modelo na query string e a API key no header Authorization. Use o formato de eventos documentado para o modelo realtime escolhido e feche o socket quando a sessão terminar.

Este guia cobre apenas o WebSocket subset. No momento, o TokenLab não fornece endpoints REST do OpenAI Realtime para client secret, translation client secret, Calls ou gerenciamento legacy beta session.

No exemplo de servidor, instale ws e defina TOKENLAB_REALTIME_MODEL com um modelo atual cujos detalhes declarem /v1/realtime. Forneça TOKENLAB_API_KEY no ambiente do servidor; o nome não comprova suporte realtime.

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'));

Tratamento De Estado

  • Salve arquivos de áudio gerados em vez de repetir a mesma requisição ao atualizar.
  • Para transcrição e tradução, mostre estados de upload e processamento mesmo quando a chamada for síncrona.
  • Para realtime, trate eventos de fechamento e reconecte apenas quando o usuário iniciar uma nova sessão.
  • Não coloque API keys, URLs privadas ou segredos de conta no texto de áudio.

Referência Da API

TópicoReferência
Criar VozCriar Voz
Criar TranscriçãoCriar Transcrição
Criar TraduçãoCriar Tradução
WebSocket Em Tempo RealWebSocket Em Tempo Real
Listar ModelosListar Modelos
Faturamento e preçosFaturamento e preços

Nesta página