Pular para o conteúdo principal
O AI Gateway expõe dois endpoints WebSocket: um para modelos de fala e áudio em tempo real e outro que executa turnos da Responses API em uma única conexão. Ambos autenticam com a API key do workspace na solicitação de upgrade; um upgrade rejeitado retorna um status de erro HTTP.

Sessões em tempo real

Envie Authorization: Bearer $TOQAN_API_KEY na solicitação de upgrade. model é obrigatório: um valor ausente retorna 400, um modelo desconhecido retorna 404 e um modelo sem protocolo em tempo real retorna 400. O endpoint roteia os modelos xAI Grok Voice: xai/grok-voice-3.0 e xai/grok-voice-latest. Uma sessão é contabilizada nos limites de taxa e nos orçamentos do workspace quando se conecta. Um limite esgotado rejeita o upgrade; consulte Erros.

OpenAI Realtime

O gateway faz proxy do protocolo de eventos do OpenAI Realtime: eventos JSON nos dois sentidos e frames binários para áudio. As restrições do Grok Voice, os formatos de áudio e o faturamento estão listados em Modelos em tempo real.
Uma recusa do upstream chega como um evento de erro no socket aberto, e não como um status HTTP, porque o upgrade já foi concluído.

Responses via WebSocket

Faça o upgrade com o subprotocolo openai-beta.responses.v1 e Authorization: Bearer $TOQAN_API_KEY. Cada mensagem do cliente cria ou direciona uma resposta; o servidor transmite os mesmos eventos de uma solicitação HTTP com streaming.
  • Um turno por vez. Envie o próximo response.create depois do evento final do turno anterior.
  • stream_id identifica o turno e correlaciona os eventos que pertencem a ele.
  • response.steer recebe um previous_response_id e um input e direciona o turno em andamento que produziu essa resposta. Uma falha chega como um evento response.steer.failed com um código como response_not_found ou steering_not_supported.
  • A duração da conexão é de 30 minutos; o servidor envia um evento de erro connection_duration_exceeded e fecha o socket. Reconecte e continue com previous_response_id, que falha com previous_response_not_found quando a resposta já expirou.

Erros