Realtime
Worker lingua-voice. Mint a secret, open the WebSocket, speak 16 kHz pcm16.
Connect
- Mint:
POST /v1/realtime/client_secrets. CORS*. - Open
WS /v1/realtimewith that secret. HTTP withoutUpgrade: websocketis426. - Handshake is done when the server has sent
session.created, thenconversation.created.
Servers: Authorization: Bearer <secret>. Browsers: subprotocol openai-insecure-api-key.<secret> or xai-client-secret.<secret>.
Hosts
Same worker, two sockets. Pick the one your network can open.
- lingua-voice.archangl.workers.dev
- IPv4 socket.
https://lingua-voice.archangl.workers.dev·wss://lingua-voice.archangl.workers.dev/v1/realtime·POST https://lingua-voice.archangl.workers.dev/v1/realtime/client_secrets. - voice.archangl.ai
- AAAA-only.
https://voice.archangl.ai/·wss://voice.archangl.ai/v1/realtime·POST https://voice.archangl.ai/v1/realtime/client_secrets.
Speak
Native audio is 16 kHz pcm16 (16000), not OpenAI Realtime’s 24 kHz. turn_detection is null. On Harvest end_of_speech, send input_audio_buffer.commit.