Skip to main content
POST
Initiate Speech-to-Speech WebRTC Session

Iniciar sessão WebRTC de fala para fala

Estabeleça uma conexão WebRTC para conversas de voz em tempo real usando a API OpenAI Realtime.

Ponto final

Descrição

Estabelece uma conexão WebRTC para conversas de fala em voz em tempo real usando a API OpenAI Realtime. Este endpoint aceita uma oferta WebRTC SDP e retorna uma resposta SDP que pode ser usada para estabelecer uma conexão peer com a API Realtime da OpenAI.

Fluxo de uso

  1. O cliente cria uma oferta WebRTC (RTCPeerConnection.createOffer)
  2. O cliente envia a oferta SDP para este endpoint
  3. Este endpoint faz proxy da oferta para OpenAI Realtime API
  4. O cliente recebe resposta SDP e estabelece conexão WebRTC
  5. O cliente pode então ter conversas de voz em tempo real com a IA

Rastreamento de tempo S2S

  • Cada usuário tem uma cota mensal de tempo S2S com base em sua licença
  • O tempo é monitorado em minutos e deduzido quando as sessões são registradas
  • Use /speech/s2s/status para verificar o tempo restante
  • Use /speech/s2s/log-session para registrar a duração da sessão e deduzir o tempo

SMLTP Integração

  • Todas as solicitações são processadas através de SMLTP para segurança e conformidade
  • A validação do modelo é aplicada com base na política SMLTP especificada
  • As solicitações são auditadas e registradas para rastreamento de conformidade

Autenticação

Obrigatório: Chave API

Corpo da solicitação

Modelos Disponíveis

  • gpt-4o-mini-realtime-preview
  • gpt-4o-realtime-preview

Vozes disponíveis

  • alloy (padrão)
  • echo
  • fable
  • onyx
  • nova
  • shimmer
  • ash
  • ballad
  • coral

Políticas SMLTP disponíveis

  • public
  • internal (padrão)
  • internal-strict
  • confidential
  • hipaa
  • gdpr
  • pci-dss

Exemplo de solicitação

###JavaScript/Node.js
###Píton

Resposta

Resposta de sucesso (200)

Tipo de conteúdo: application/sdp A resposta é uma string de resposta SDP que pode ser usada com RTCPeerConnection.setRemoteDescription().

Respostas de erro

400 Solicitação incorreta

403 Proibido

Limite de tempo S2S atingido

Falha na validação do modelo

500 Erro interno do servidor

Notas

  • A oferta SDP deve ser uma string de oferta WebRTC SDP válida
  • Após receber a resposta SDP, use-a para definir a descrição remota em seu RTCPeerConnection
  • Verifique o status do horário S2S antes de iniciar sessões usando /speech/s2s/status
  • Registrar a duração da sessão após a conclusão usando /speech/s2s/log-session
  • Todas as solicitações são processadas através de SMLTP para segurança e conformidade
  • O parâmetro user_id permite o faturamento para uma conta de usuário diferente

Autorizações

Authorization
string
header
obrigatório

API key authentication using Bearer token format. Example: Authorization: Bearer sk-your-api-key-here

Corpo

application/json
sdp
string
obrigatório

WebRTC SDP offer from the client's RTCPeerConnection

Exemplo:

"v=0\r\no=- 4611731400430051336 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\n..."

model
enum<string>
padrão:gpt-4o-mini-realtime-preview

OpenAI Realtime model to use

Opções disponíveis:
gpt-4o-mini-realtime-preview,
gpt-4o-realtime-preview
voice
enum<string>
padrão:alloy

Voice to use for the AI response

Opções disponíveis:
alloy,
echo,
fable,
onyx,
nova,
shimmer,
ash,
ballad,
coral
smltp_policy
enum<string>
padrão:internal

SMLTP policy to apply for this session

Opções disponíveis:
public,
internal,
internal-strict,
confidential,
hipaa,
gdpr,
pci-dss
output_audio
boolean
padrão:true

Whether to enable audio output (default: true)

user_id
string

Optional user ID to bill this session to (defaults to API key owner)

Exemplo:

"60a7c8f5e8b4f5001f7a8c23"

instructions
string

Optional system instructions for the AI assistant

Exemplo:

"You are a helpful customer service agent."

Resposta

SDP answer from OpenAI Realtime API

SDP answer that can be used with RTCPeerConnection.setRemoteDescription()