Voice AI Conversations Over WebSocket Now Available for Telnyx AI Assistants Telnyx has launched WebSocket support for its AI Assistants, enabling real-time voice conversations over a direct connection without telephony or a phone number. Developers can stream PCM16 audio from web or mobile clients and receive transcription, assistant audio, and tool-call events via the wss://api.telnyx.com/v2/ai/assistants/{assistant_id}/conversation endpoint. The feature supports hybrid voice and text interfaces, client-initiated barge-in, and custom audio sample rates. Contact us https://telnyx.com/contact-us Log in https://portal.telnyx.com You can now talk to Telnyx AI Assistants over a direct WebSocket connection, with no telephony required. Stream PCM16 audio from any web or mobile client and receive real-time transcription, assistant audio, and tool-call events over the same connection. wss://api.telnyx.com/v2/ai/assistants/{assistant id}/conversation and stream audio directly to your assistant, with no phone number or PSTN connection required. conversation.item.create and the assistant responds as if the user spoke it. Useful for hybrid voice and text interfaces. function call output . Build tools that access local device state or browser APIs. session.created frame. response.cancel for client-initiated barge-in without audio. wss://api.telnyx.com/v2/ai/assistants/{assistant id}/conversation with your Telnyx API v2 key as the Bearer token. input sample rate and output sample rate to match your audio capture and playback configuration. input audio buffer.append and listen for session.created , transcription, and assistant-audio events. js // Open a WebSocket connection to your Telnyx AI Assistant const ws = new WebSocket 'wss://api.telnyx.com/v2/ai/assistants/ASSISTANT ID/conversation' + '?input sample rate=16000&output sample rate=24000' ; ws.onmessage = event = { const frame = JSON.parse event.data ; console.log frame.type ; // session.created: confirms session and negotiated audio formats // input audio buffer.speech started: user started speaking VAD // conversation.item.input audio transcription.completed: user transcript // response.created: assistant turn starts // response.audio.delta: assistant audio chunk base64 PCM16 }; // Stream microphone audio as base64-encoded PCM16 frames function sendAudioChunk pcm16Buffer { ws.send JSON.stringify { type: 'input audio buffer.append', audio: arrayBufferToBase64 pcm16Buffer } ; } // Inject a text turn assistant responds as if the user spoke it ws.send JSON.stringify { type: 'conversation.item.create', item: { type: 'message', role: 'user', content: { type: 'input text', text: 'What are your business hours?' } } } ; // Cancel the in-progress assistant response barge-in ws.send JSON.stringify { type: 'response.cancel' } ; Learn more in the Telnyx WebSocket API reference https://developers.telnyx.com/api-reference/websockets/talk-to-an-ai-assistant-over-websocket or the Voice AI Assistants docs https://telnyx.com/products/voice-ai .