Quick answer: The difference is who owns the ears and the voice. With Twilio ConversationRelay, Twilio runs speech recognition and text-to-speech, ConversationRelay is listed at $0.07 a minute, and your LLM trades text over a WebSocket. With OpenAI’s voice stack, OpenAI models hear and speak. On our 5-minute inbound call, published prices give $0.20 to $1.93 per call; ConversationRelay comes to $0.48.
“How does Twilio’s ConversationRelay compare to OpenAI voice agents” sounds like a two-horse race, but it is not one. Twilio’s <Connect><ConversationRelay> wraps a phone call in a speech layer: Deepgram or Google transcribe the caller, ElevenLabs, Google or Amazon speak the reply, and your application sees only text. OpenAI’s voice-agent guide lists three architectures of its own: GPT-Live (a full-duplex voice model that delegates reasoning to a backend), the Realtime API (one speech-to-speech model, such as gpt-realtime-2.1, that hears, reasons and speaks) and a chained voice pipeline (speech-to-text, your agent, text-to-speech, packaged in the OpenAI Agents SDK as VoicePipeline). Realtime and GPT-Live reach a phone through SIP or a Twilio Media Streams bridge (GPT-Live also through Twilio’s Agent Connect SDK); a chained pipeline reaches one through a Media Streams bridge. And an OpenAI text model can sit behind ConversationRelay.
Every Twilio and OpenAI fact below was read on the vendor’s own site on 2 October 2026. Choosing only between Twilio’s two products? See Twilio ConversationRelay versus Media Streams.
The Ears-and-Voice Test: three questions that pick the route
Every difference traces back to two ownership questions; the third follows from them.
- Who must own the ears? Speech recognition, plus deciding when the caller has finished and when they have cut the agent off. ConversationRelay: Twilio, tuned by TwiML attributes. Realtime API and GPT-Live: the OpenAI model. Chained pipeline: you, with whichever transcription model you call.
- Who must own the voice? Synthesis, plus knowing what the caller heard before an interruption. ConversationRelay: Twilio’s providers, though Twilio’s FAQ says you can bring your own text-to-speech. Realtime and GPT-Live: the model. Chained pipeline: a text-to-speech model you choose.
- Then who owns the brain? If Twilio owns ears and voice, the brain is any text model, OpenAI’s included. If a Realtime model owns them, it is also the brain. If GPT-Live owns them, it delegates to a backend you choose.
Four tie-breakers settle the rest: sending keypad tones, outbound calling, compliance and region, and whether you want a flat per-minute bill or a token bill that grows with call length.
ConversationRelay sells you Twilio’s ears and voice by the minute; OpenAI’s voice stack sells you a model that is its own ears and voice, billed by the token or, for GPT-Live, by the second.
Twilio ConversationRelay vs OpenAI voice agents, side by side
The five routes the two vendors document for putting a caller in front of an AI agent.
| Criterion | A. Twilio ConversationRelay + your text LLM | B/C. OpenAI Realtime API (B: via Twilio Media Streams; C: via SIP) | D. OpenAI GPT-Live 1 | E. OpenAI Agents SDK chained VoicePipeline |
|---|---|---|---|---|
| Who hears the caller (ASR) | Twilio: Deepgram (default) or Google | The speech-to-speech model itself | The live model | Your STT call; SDK default gpt-transcribe |
| Who speaks (TTS) | Twilio: ElevenLabs (default), Google or Amazon; Twilio’s FAQ also offers bring-your-own text-to-speech | The model, 10 built-in voices | The model; default voice marin, plus 12 listed regional voices | Your TTS call; SDK default gpt-4o-mini-tts, 13 voice values |
| Which LLM reasons | Any text LLM you call (“bring-your-own-LLM”) | gpt-realtime-2.1 or gpt-realtime-2.1-mini | Your own backend (client delegation) or an OpenAI Responses model | Any model your Agents SDK workflow uses |
| What your server exchanges | JSON text: transcribed prompts in, text tokens out | B: base64 audio both ways, bridged between two sockets. C: none; events on a sideband WebSocket | Sideband events and delegated work; audio only if you run a WebSocket bridge | Audio in and out, plus everything between |
| End of turn | speechTimeout 600 to 5,000 ms; eotThreshold 0.5 to 0.9 on Deepgram Flux |
server_vad (default) or semantic_vad with eagerness |
“GPT-Live decides when to speak” | SDK “activity detection” on streamed input |
| Caller barges in | Twilio stops playback; interruptSensitivity high, medium or low; ignoreBackchannel |
Model cancels its response. B: you stop playback, send Twilio clear, then conversation.item.truncate. C: server truncates unplayed audio automatically |
Full duplex; caller can keep talking while backend work runs | None built in for streamed input, per the SDK docs |
| Caller presses a key | Yes, with dtmfDetection |
B: Twilio dtmf message to your bridge. C: input_audio_buffer.dtmf_event_received (SIP only) |
Yes over SIP: transport.dtmf.received |
Twilio dtmf message to your bridge |
| Agent sends a key | Yes: sendDigits (0 to 9, w, #, *) |
B: Twilio says outbound DTMF over the stream is not supported. C: no send event found in the client-events reference | SIP guide notes transport.dtmf.send “after a hosted tool successfully sends a tone” |
Not over a Media Stream |
| Languages | 36 language codes in Twilio’s default-voice table; multi auto-detect needs Deepgram + ElevenLabs |
No language count on the Realtime guides or the gpt-realtime-2.1 model pages, as at 4 October 2026 | No count; voice table lists 10 English and 2 Portuguese voices | gpt-transcribe takes language hints in formats including ISO 639-1 codes, selected ISO 639-3 codes (such as yue and cmn) or regional zh locale codes (such as zh-hk), with no language count on its guide or model page; OpenAI’s TTS guide lists 57 languages, saying TTS “generally follows the Whisper model in terms of language support”, and notes voices are “optimized for English” |
| Pricing unit | $0.07/min on top of the voice minute | Tokens: audio $32.00 in, $64.00 out per 1M (2.1) | $0.05/min billed per second, backend extra | $0.0045/min STT + text LLM tokens + TTS tokens |
| Where processing runs | Not stated on the Twilio pages we read as at 2 October 2026 | Storage and processing in the US or Europe (EEA + Switzerland) only | Storage and processing in the US or Europe (EEA + Switzerland) only | Audio endpoints process in the US or Europe (EEA + Switzerland) |
| Outbound calls | Yes, any Twilio outbound call | B: yes. C: no, inbound only | Yes over SIP if enabled for your organisation, or on a Twilio-placed call over Media Streams (Twilio’s GPT-Live blog links an outbound tutorial) | Yes, via Twilio |
| What you still build | wss server, LLM calls, tools, memory, handoff | B: the bridge, barge-in plumbing, tools. C: webhook accept, sideband, trunk and firewall | Backend or Responses delegation, sideband, SIP enablement | Transport, μ-law conversion, interruptions, turn logic |
Corrected 4 October 2026: an earlier version of the Languages row gave no language figure for the chained pipeline. OpenAI’s text-to-speech guide lists 57 languages and says its TTS model “generally follows the Whisper model in terms of language support”. Its speech-to-text guide states “Whisper supports 98 languages, but accuracy varies by language” for whisper-1, which is not the pipeline’s default transcription model.
Corrected 6 October 2026: an earlier version of the Languages row said gpt-transcribe takes ISO 639-1 language hints. OpenAI’s speech-to-text guide lists “ISO 639-1 codes”, “Selected ISO 639-3 codes, such as eng, spa, yue, and cmn” and “Regional zh locale codes, such as zh-cn, zh-tw, and zh-hk”, and says “The API rejects unsupported or incorrectly formatted language codes.”
Can I use OpenAI with ConversationRelay?
Yes, as a text model. Twilio’s product FAQ says ConversationRelay “is built for bring-your-own-LLM”, and its TwiML reference says your application “receives transcribed caller speech in structured messages and sends responses as text”. That is an ordinary, supported build. The same FAQ answer adds that “you can bring your own text-to-speech for a fully custom voice”; the only audio-sending message we found in the WebSocket reference is play, which takes a media URL.
What you cannot do is put a speech-to-speech model behind it. ConversationRelay’s outbound messages are text tokens, a play message pointing at a media URL, sendDigits, a language switch and end; none carries live audio your model generated. To let gpt-realtime-2.1 or GPT-Live talk to a Twilio caller, the documented paths are a bidirectional Media Stream (route B, or Twilio Agent Connect, which Twilio’s 10 September 2026 blog says “connects Twilio Voice Media Streams directly to GPT-Live-1”) or a SIP trunk pointed at OpenAI (routes C and D).
One compliance difference sits on this boundary. Twilio’s TwiML reference says Conversation Relay “is a HIPAA Eligible Service when configured properly” and supports PCI workflows with compliant providers. Twilio’s Agent Connect documentation says that SDK “is not PCI compliant or a HIPAA Eligible Service and should not be used in workflows that are subject to HIPAA or PCI.” For health or card data, that can decide the route.
Who handles interruptions and turn-taking on each route?
On ConversationRelay, turn-taking is configuration: interruptSensitivity defaults to high, which Twilio calls “the most responsive and easiest to trigger”, ignoreBackchannel filters “yeah”, “uh-huh” and “okay”, and an interrupt message tells you what had been spoken when the caller cut in.
On the Realtime API, turn-taking is a model setting: server_vad “chunks the audio based on periods of silence”, while semantic_vad waits until the model believes the user has “completed their utterance”, with eagerness of low, medium, high or auto. Routes B and C differ on playback. Over SIP, “the server manages a buffer of output audio” and truncates unplayed audio itself. Over a Media Streams bridge, “the client manages audio playback, and thus must stop playback and handle truncation”: you stop playback, send Twilio a clear message, then send conversation.item.truncate.
On GPT-Live, OpenAI’s migration guide says “Stream audio continuously. GPT-Live decides when to speak”, and its voice-agents guide says users “can keep talking while backend work runs”.
On the chained pipeline, the Agents SDK “currently does not provide any built-in interruption handling for StreamedAudioInput”. It suggests muting the microphone between turn_started and turn_ended events, which on a phone line means the caller cannot cut in, so you write your own barge-in.
Barge-in moves from a TwiML attribute on ConversationRelay, to a model setting on Realtime over SIP and on GPT-Live, to partly your own code on a Media Streams bridge and wholly your own on a chained pipeline.
Can an OpenAI voice agent press keys, call out and stay in region?
Sending DTMF. ConversationRelay has sendDigits for agents that must navigate another company’s phone menu. Twilio’s Media Streams overview says “Sending DTMF outbound from your media server toward Twilio is not supported”, which rules out routes B and E. On the Realtime API over SIP, the server-events reference documents a “SIP Only” event for keys the caller presses, and we found no client event for sending a tone in the client-events reference as at 2 October 2026. GPT-Live’s SIP guide mentions a transport.dtmf.send notification “after a hosted tool successfully sends a tone”, but we did not find that tool named on the delegation page, so confirm it with OpenAI. Our guide to choosing WebRTC, WebSocket or SIP for the OpenAI Realtime API covers the sideband that carries these events.
Outbound calls. OpenAI’s SIP guide says outbound SIP calling “is available through the Live API, not the Realtime API call-creation endpoint”, and must be enabled for your organisation. Outbound Realtime calls therefore need a Twilio-placed call and a Media Streams bridge.
Where processing runs. OpenAI’s “Your data” guide lists storage and processing for the Realtime API and GPT-Live in the United States and Europe (EEA and Switzerland) only; its other data-residency regions (Australia, Canada, Japan, India, Singapore, South Korea, the United Kingdom and the United Arab Emirates) are not listed for either. Regional endpoints carry a 10% uplift for models released on or after 5 March 2026. Twilio supports Media Streams in its Ireland (IE1) and Australia (AU1) Regions. For ConversationRelay, none of the Twilio pages we read on 2 October 2026 (product page and FAQ, TwiML reference, docs overview, onboarding, voice configuration, WebSocket messages, regional availability, support-centre search) say where speech processing runs. An FAQ answer we recorded on 26 September 2026 (Amazon and Google regionalised, Deepgram US1) has since left the product page, so ask Twilio in writing. Twilio’s regional availability page does not list <Connect><ConversationRelay> among the TwiML not yet supported in IE1 or AU1, but that describes availability, not where the speech engines process audio.
A voice stack is a transport decision; booking meetings is a platform decision. Zian AI runs autonomous phone, SMS, email and WhatsApp sales agents in 30+ languages, with SmartReach AI™ pacing follow-up. Partnership-application beta.
What does a 5-minute call cost on each route?
Inputs are US pay-as-you-go prices read on 2 October 2026, or labelled assumptions.
The call profile. One inbound call to a US local number, exactly 300 seconds, so Twilio’s whole-minute rounding has no effect. Twenty 15-second turns: caller 6 seconds, agent 9. An 800-token system prompt every turn. Number rental, recording and taxes excluded.
Published prices used.
- Twilio: receive on a local number $0.0085/min; ConversationRelay $0.07/min; Media Streams $0.0044/min; Elastic SIP Trunking local origination $0.0034/min.
- gpt-realtime-2.1 per 1M tokens: text $4.00 in, $0.40 cached, $24.00 out; audio $32.00 in, $0.40 cached, $64.00 out.
- gpt-realtime-2.1-mini per 1M tokens: text $0.60 in, $0.06 cached, $2.40 out; audio $10.00 in, $0.30 cached, $20.00 out.
- gpt-live-1: $0.05 per minute, billed per second. gpt-transcribe: $0.0045 per minute. gpt-4o-mini-tts: $0.60 per 1M text tokens in, $12.00 per 1M audio tokens out.
- gpt-6.1-sol, the text “brain” on routes A, D and E: $2.00 in, $10.00 out per 1M tokens (standard, short context).
Assumptions, stated so you can replace them.
- Audio-token-to-minute conversion is an assumption built on OpenAI’s published rule: “Audio tokens in user messages are 1 token per 100 ms of audio, while audio tokens in assistant messages are 1 token per 50ms of audio.” So a 6-second caller turn is 60 audio tokens and a 9-second agent turn 180.
- Text tokens per second come from OpenAI’s usage example of one assistant message billed as 91 audio and 30 text tokens: 91 tokens at 50 ms is 4.55 seconds, about 6.6 text tokens a second, so 59 for the agent’s 9 seconds and 40 for the caller’s 6.
- No prompt caching on the text model.
- Route E:
gpt-transcribeis billed on all 5 minutes of caller audio, andgpt-4o-mini-ttsoutput is counted at 1 audio token per 50 ms, borrowed from the Realtime rule because the TTS model page gives no rate. - Route D: the backend gets the same text load as route A’s LLM; real delegation may call it less often.
- Route A: nothing beyond the $0.07 line is billed for Twilio’s speech engines. Twilio’s price list shows a single “Conversation Relay $0.07 / min” line and does not say whether recognition and synthesis are included; confirm before relying on it.
Step 1, carrier and Twilio lines for 5 minutes. Route A: 5 × ($0.0085 + $0.07) = 5 × $0.0785 = $0.3925. Routes B and E: 5 × ($0.0085 + $0.0044) = 5 × $0.0129 = $0.0645. Routes C and D: 5 × $0.0034 = $0.017.
Step 2, Realtime tokens over 20 turns. Turn n sends 800 + 59(n−1) text tokens and 60 + 240(n−1) audio tokens (240 = the previous turn’s 180 agent plus 60 caller tokens). With 0 + 1 + … + 19 = 190: text input = 20 × 800 + 59 × 190 = 27,210. Audio input = 20 × 60 + 240 × 190 = 46,800. Output = 20 × 180 = 3,600 audio and 20 × 59 = 1,180 text tokens.
Step 3, gpt-realtime-2.1 with no cache hits. 27,210 × $4.00/1M = $0.1088. 46,800 × $32.00/1M = $1.4976. 3,600 × $64.00/1M = $0.2304. 1,180 × $24.00/1M = $0.0283. Total $1.8652.
Step 4, gpt-realtime-2.1 when caching holds. OpenAI calls Realtime caching “best-effort and not guaranteed”, so treat this as the best case: whatever turn n shares with turn n−1’s input is billed cached. With 0 + 1 + … + 18 = 171, cached text = 19 × 800 + 59 × 171 = 25,289, leaving 1,921 at full rate. Cached audio = 19 × 60 + 240 × 171 = 42,180, leaving 4,620. Cost: 25,289 × $0.40/1M = $0.0101; 1,921 × $4.00/1M = $0.0077; 42,180 × $0.40/1M = $0.0169; 4,620 × $32.00/1M = $0.1478; output unchanged at $0.2587. Total $0.4412.
Step 5, gpt-realtime-2.1-mini. Uncached, per 1M: 27,210 × $0.60 + 46,800 × $10.00 + 3,600 × $20.00 + 1,180 × $2.40 = $0.0163 + $0.4680 + $0.0720 + $0.0028 = $0.5592. Cached: 25,289 × $0.06 + 1,921 × $0.60 + 42,180 × $0.30 + 4,620 × $10.00 + $0.0748 output = $0.0015 + $0.0012 + $0.0127 + $0.0462 + $0.0748 = $0.1364.
Step 6, the text model on routes A, D and E. Turn n sends 800 + 99(n−1) + 40 tokens (99 = one turn of history, 40 caller plus 59 agent). Summed: 20 × 840 + 99 × 190 = 35,610 input and 1,180 output tokens. At gpt-6.1-sol prices: 35,610 × $2.00/1M = $0.0712, plus 1,180 × $10.00/1M = $0.0118, total $0.0830.
Step 7, route-specific lines. GPT-Live: 300 seconds ÷ 60 × $0.05 = $0.25. Route E speech: 5 × $0.0045 = $0.0225 to transcribe; to speak, 1,180 × $0.60/1M = $0.0007 of text in, plus 3,600 × $12.00/1M = $0.0432 of audio out, so $0.0439.
| Route | Twilio lines | OpenAI or LLM lines | Per 5-minute call | Per minute |
|---|---|---|---|---|
| A. ConversationRelay + gpt-6.1-sol | $0.3925 | $0.0830 | $0.4755 | $0.0951 |
| B. Media Streams + gpt-realtime-2.1, no cache hits | $0.0645 | $1.8652 | $1.9297 | $0.3859 |
| B. Media Streams + gpt-realtime-2.1, caching holds | $0.0645 | $0.4412 | $0.5057 | $0.1011 |
| B. Media Streams + gpt-realtime-2.1-mini, no cache hits | $0.0645 | $0.5592 | $0.6237 | $0.1247 |
| B. Media Streams + gpt-realtime-2.1-mini, caching holds | $0.0645 | $0.1364 | $0.2009 | $0.0402 |
| C. Elastic SIP Trunking + gpt-realtime-2.1, no cache hits | $0.0170 | $1.8652 | $1.8822 | $0.3764 |
| C. Elastic SIP Trunking + gpt-realtime-2.1, caching holds | $0.0170 | $0.4412 | $0.4582 | $0.0916 |
| D. Elastic SIP Trunking + GPT-Live 1 + gpt-6.1-sol backend | $0.0170 | $0.2500 + $0.0830 | $0.3500 | $0.0700 |
| E. Media Streams + chained pipeline (gpt-transcribe, gpt-6.1-sol, gpt-4o-mini-tts) | $0.0645 | $0.0225 + $0.0830 + $0.0439 | $0.2139 | $0.0428 |
On this profile the cheapest call is gpt-realtime-2.1-mini over Media Streams when caching holds ($0.2009), then the chained pipeline ($0.2139); the dearest is gpt-realtime-2.1 over Media Streams with no cache hits ($1.9297). ConversationRelay, at $0.4755, costs less than four rows (both uncached gpt-realtime-2.1 routes, uncached mini, and gpt-realtime-2.1 over Media Streams with caching at $0.5057) and more than the other four (mini with caching, the chained pipeline, GPT-Live at $0.3500, and gpt-realtime-2.1 over SIP with caching at $0.4582).
Two cautions. Token routes are not per-minute prices: run the same profile for 10 minutes (40 turns) and route B with no cache hits costs $7.03, 3.6 times the 5-minute call, while route A rises to $1.03 and route D to $0.78, each about 2.2 times. Our cost-per-minute breakdown of realtime and pipeline voice AI models that growth minute by minute. And the cheap routes are cheap because you do the work: route E’s $0.2139 buys three model calls and none of the barge-in, transport or μ-law conversion.
Swap one input: put gpt-6-luna ($0.10 in, $0.50 out per 1M) behind ConversationRelay and the LLM line falls to 35,610 × $0.10/1M + 1,180 × $0.50/1M = $0.0036 + $0.0006 = $0.0042, so route A becomes $0.3967, of which Twilio’s $0.3925 is 99%.
What changed in OpenAI’s voice stack this week
On 1 October 2026, OpenAI’s deprecations page listed both gpt-4o-mini-tts snapshots (2025-03-20 and 2025-12-15) for removal on 6 January 2027, recommending gpt-realtime-2.1-mini instead. The Agents SDK reference still sets DEFAULT_TTS_MODEL = "gpt-4o-mini-tts" as at 2 October 2026. A chained pipeline built on SDK defaults today needs a voice-model swap before 6 January 2027, and route E should be re-priced when it happens: gpt-realtime-2.1-mini audio output is $20.00 per 1M tokens against $12.00.
The legacy gpt-realtime and gpt-4o-realtime families are also listed for removal on 20 January 2027, with gpt-realtime-2.1 as the replacement.
Who each option is wrong for
ConversationRelay is wrong for you if the product is the voice itself (speech-to-speech prosody and tone that tracks the caller), because its interface is text in and text out. It is wrong if you need written assurance on where speech is processed and Twilio will not give it. And it is the dearer choice once you can run your own speech layer well, because $0.07 a minute is most of every call.
The OpenAI Realtime API is wrong for you if calls run long and caching is unreliable (route B reaches $1.93 in 5 minutes uncached), if you need outbound calls over direct SIP, if the agent must send keypad tones, or if call audio must be processed in Australia.
GPT-Live is wrong for you if you need precise control over when the agent speaks, because the model decides, or if you will not run the sideband and delegation backend it expects. Through Twilio Agent Connect, Twilio’s own wording rules it out for HIPAA or PCI workflows.
A chained pipeline is wrong for you if nobody will own barge-in, or if you want to avoid a voice-model migration before January 2027 on SDK defaults.
All five are wrong for you if what you want is booked meetings rather than a voice stack. Zian AI has been running outbound acquisition since 2017 and builds the layer around the call: phone, SMS, email and WhatsApp agents, PrecisionPitch AI™ split-testing scripts, and CRM integrations including HubSpot, Salesforce and HighLevel. Our page on Gemini Live versus OpenAI Realtime for phone agents compares the speech-to-speech models themselves.
Want the agent without owning the voice stack? Zian AI offers voice cloning and private model deployment on your own infrastructure. Partnership-application beta.
Frequently asked questions
Can I use OpenAI’s models with Twilio ConversationRelay?
Yes, as a text model. Twilio’s ConversationRelay product FAQ says it is built for bring-your-own-LLM and that you can bring your own text-to-speech; its TwiML reference says your server receives transcribed speech and returns text. A speech-to-speech model such as gpt-realtime-2.1 cannot sit behind it; that needs Media Streams or SIP.
Is Twilio ConversationRelay cheaper than the OpenAI Realtime API?
On our 5-minute inbound call profile, ConversationRelay with gpt-6.1-sol cost $0.4755 per call, against $1.9297 for gpt-realtime-2.1 over Media Streams with no cache hits and $0.5057 when caching held. ConversationRelay is $0.07 a minute on Twilio’s US voice pricing page, plus the voice minute.
Does ConversationRelay or OpenAI handle interruptions for me?
ConversationRelay does, through TwiML attributes such as interruptSensitivity. OpenAI’s Realtime API does over SIP and WebRTC, but over a WebSocket bridge you stop playback and truncate yourself. GPT-Live decides when to speak. OpenAI’s Agents SDK pipeline has no built-in interruption handling for streamed audio.
Can an OpenAI voice agent press keys on a phone menu?
Not over Twilio Media Streams, which Twilio documents as inbound-DTMF only. The Realtime API over SIP reports keys the caller presses; we found no event for sending one, as at 2 October 2026. GPT-Live’s SIP guide mentions a hosted tool that sends tones; confirm it with OpenAI. ConversationRelay’s sendDigits accepts 0 to 9, w, # and *.
Can the OpenAI Realtime API make outbound calls over SIP?
No. OpenAI’s Telephony and SIP guide says outbound SIP calling is available through the Live API, not the Realtime API call-creation endpoint, and must be enabled for your organisation. For outbound Realtime calls, place the call with Twilio and bridge it through Media Streams.
Can I keep call audio processing in Australia with either option?
Not with OpenAI as at 2 October 2026: its Your data guide lists the Realtime API and GPT-Live in the United States and Europe only. Twilio supports Media Streams in its AU1 Region, but the ConversationRelay pages we read do not state a processing Region, so ask Twilio in writing.
Where every figure on this page comes from
| Figure | Who published it | Link | Date read |
|---|---|---|---|
| Conversation Relay $0.07/min; Media Streams $0.0044/min; receive on local number $0.0085/min; “Pricing current as of August 2026” | Twilio | Twilio Voice pricing, United States | 2 October 2026 |
| Elastic SIP Trunking origination, local $0.0034/min | Twilio | Twilio Elastic SIP Trunking pricing, United States | 2 October 2026 |
| STT providers Deepgram (default) and Google; TTS providers ElevenLabs (default), Google, Amazon; speechTimeout 600 to 5,000 ms; eotThreshold 0.5 to 0.9; interruptSensitivity default high; multi requires Deepgram and ElevenLabs; HIPAA Eligible Service when configured properly; application receives transcribed caller speech and sends text | Twilio | TwiML Voice: <ConversationRelay> | 2 October 2026 |
| sendDigits accepts 0 to 9, w, # and *; interrupt message | Twilio | Conversation Relay WebSocket messages | 2 October 2026 |
| 36 language codes in the default-voice table | Twilio | Picking a Conversation Relay voice | 2 October 2026 |
| “Built for bring-your-own-LLM”; “bring your own text-to-speech for a fully custom voice”; no processing Region stated | Twilio | Conversation Relay product page and FAQ | 2 October 2026 |
| Earlier FAQ answer: Amazon and Google regionalised, Deepgram US1 (absent from the page on 2 October 2026) | Twilio | Conversation Relay product page FAQ | 26 September 2026 |
| Outbound DTMF over a bidirectional stream not supported; IE1 and AU1 supported | Twilio | Media Streams overview | 2 October 2026 |
| ConversationRelay absent from the IE1 and AU1 unsupported-TwiML lists | Twilio | Twilio regional product availability | 2 October 2026 |
| clear message empties the audio buffer | Twilio | Media Streams WebSocket messages | 2 October 2026 |
| Agent Connect GPTLiveProvider over Media Streams; blog dated 10 September 2026 | Twilio | Build Voice AI Experiences with Twilio and GPT-Live-1 | 2 October 2026 |
| Agent Connect “is not PCI compliant or a HIPAA Eligible Service” | Twilio | Twilio Agent Connect | 2 October 2026 |
| Three architectures: GPT-Live, Realtime API, chained voice pipeline; users “can keep talking while backend work runs” | OpenAI | Voice agents guide | 2 October 2026 |
| gpt-realtime-2.1 and -mini token prices; gpt-live-1 $0.05/min per second; gpt-transcribe $0.0045/min; gpt-6.1-sol and gpt-6-luna prices; 10% regional uplift for models released on or after 5 March 2026 | OpenAI | OpenAI API pricing | 2 October 2026 |
| gpt-4o-mini-tts $0.60/1M text in, $12.00/1M audio out | OpenAI | GPT-4o mini TTS model page | 2 October 2026 |
| 1 token per 100 ms (user) and per 50 ms (assistant); 91 audio and 30 text tokens example; caching “best-effort and not guaranteed” | OpenAI | Realtime cost guide | 2 October 2026 |
| Realtime SIP inbound; outbound only via Live API; sip-eu endpoint; transport.dtmf.send note | OpenAI | Telephony and SIP guide | 2 October 2026 |
| input_audio_buffer.dtmf_event_received (SIP only) | OpenAI | Realtime server events | 2 October 2026 |
| 10 Realtime voices; WebSocket clients handle truncation | OpenAI | Realtime conversations guide | 2 October 2026 |
| server_vad and semantic_vad; eagerness low, medium, high, auto | OpenAI | Voice activity detection guide | 2 October 2026 |
| “GPT-Live decides when to speak” | OpenAI | Migrate to GPT-Live | 2 October 2026 |
| Default voice marin; 12 listed regional voices (10 English, 2 Portuguese) | OpenAI | GPT-Live managing sessions | 2 October 2026 |
| Realtime API and GPT-Live: storage and processing in US and Europe (EEA + Switzerland) only | OpenAI | Your data guide | 2 October 2026 |
| gpt-4o-mini-tts snapshots deprecated 1 October 2026, removed 6 January 2027; gpt-realtime and gpt-4o-realtime families removed 20 January 2027 | OpenAI | Deprecations | 2 October 2026 |
| No built-in interruption handling for StreamedAudioInput; 13 TTS voice values | OpenAI Agents SDK | Agents SDK voice pipeline | 2 October 2026 |
| DEFAULT_STT_MODEL gpt-transcribe; DEFAULT_TTS_MODEL gpt-4o-mini-tts | OpenAI Agents SDK | OpenAI voice model provider reference | 2 October 2026 |
| TTS “generally follows the Whisper model in terms of language support”; 57 languages listed; voices “optimized for English” | OpenAI | Text to speech guide | 4 October 2026 |
gpt-transcribe language hints (ISO 639-1 codes, selected ISO 639-3 codes, regional zh locale codes); “Whisper supports 98 languages, but accuracy varies by language” (whisper-1) |
OpenAI | Speech to text (file transcription) guide | 6 October 2026 |
| Call profile, token totals, every per-call and per-minute cost in the worked example, and the 10-minute figures ($7.03, $1.03, $0.78) | Zian AI, derived from the prices above plus labelled assumptions | This page, worked calculation | 2 October 2026 |