# Platform comparison: Build a browser voice agent.

Version 0.2.0 · Updated 2026-09-05 · draft
Architecture source: codex/otto-living-discovery-agenda · 874583e

This specification is adapted from Otto; an independent build has not been verified. It does not grant a license to LaunchTap source code.

## Comparison basis

Use the same aggregate hour as the [Otto worksheet](https://launchtap.com/resources/browser-voice-agent/costs.md): six ten-minute sessions, 36 minutes of visitor speech, 12 minutes of assistant speech, and 12 minutes of pauses. Otto includes six final briefs and ongoing agenda analysis. Its **$0.894/hour** is an assumption-based API estimate, with a workload range of $0.40–$2.85. It excludes hosting, maintenance, plan minimums, and other operating costs.

The managed-platform rows use published usage/overage rates, not minimum monthly invoices. They include different operational capabilities and do not automatically implement Otto's discovery behavior. This is a budget comparison, not a tested quality or total-cost comparison. No promotions, free credits, enterprise discounts, or phone charges are used.

## Managed platforms

| Option | Published pricing basis | Cost per aggregate hour |
| --- | --- | ---: |
| Otto, current default routing | Estimated LLM $0.657 + STT $0.120 + TTS $0.117 | **$0.89** |
| ElevenLabs Agents | $0.08/minute, including speech and hosting; LLM extra | **$4.80 + LLM** |
| Vapi | $0.05/minute hosting; STT, LLM, TTS and transport extra | **$3.00 + providers/transport** |
| Retell, platform voice + GPT-4.1 mini | $0.055 infrastructure + $0.015 voice + $0.016 model per minute | **$5.16** |
| Retell, platform voice + GPT-4.1 | Same infrastructure/voice + $0.045 model per minute | **$6.90** |
| Speechify Agents | Starter $0.075/min; Pro $0.070; Scale $0.068; LLM/STT/TTS included | **$4.50 / $4.20 / $4.08** |

Sources: [ElevenLabs pricing](https://elevenlabs.io/pricing/agents), [Vapi pricing](https://vapi.ai/pricing), [Retell component pricing](https://www.retellai.com/pricing), [Speechify pricing](https://speechify.ai/pricing).

For an illustrative budget using the same upstream AI spend, ElevenLabs plus Otto's $0.657 LLM allowance would be **$5.46/hour**. Vapi plus Otto's full $0.894 AI allowance would be **$3.89/hour before transport and other extras**. Those additions are our scenarios, not vendor quotes: model routing, integration compatibility, background work, and actual billed usage have not been tested on either platform. Bringing API keys moves provider charges to those providers; it does not eliminate them.

Retell's listed examples cover its conversation configuration. Replicating Otto's independent analyst, confirmation rules, and reviewed briefs would require additional implementation and potentially extra inference. Its knowledge-base add-on is $0.005/minute, or $0.30/hour. ElevenLabs speech within Retell is a different purchase from ElevenLabs Agents: replacing Retell's $0.015 voice with its $0.040 ElevenLabs voice adds $1.50/hour. [Retell pricing](https://www.retellai.com/pricing)

## Direct OpenAI Realtime

OpenAI is an API building block, so it is a closer comparison to assembling Otto than to buying a complete managed agent. Native audio replaces the conversational LLM/STT/TTS path; do not add Otto's entire speech stack on top.

| Model | Audio input/output per million tokens | New audio only, for this hour |
| --- | --- | ---: |
| GPT-Realtime-2.1 Mini | $10 / $20 | **$0.504** |
| GPT-Realtime-2.1 | $32 / $64 | **$1.613** |

These are **partial audio costs, not complete session estimates**. Sources: [Mini pricing](https://developers.openai.com/api/docs/models/gpt-realtime-2.1-mini), [full model pricing](https://developers.openai.com/api/docs/models/gpt-realtime-2.1).

Using the documented audio tokenization:

```text
New user audio: 36 minutes × 600 tokens/minute = 21,600 tokens
New assistant audio: 12 minutes × 1,200 tokens/minute = 14,400 tokens
Mini: (21,600 × $10 + 14,400 × $20) / 1,000,000 = $0.504
Full: (21,600 × $32 + 14,400 × $64) / 1,000,000 = $1.6128
```

Additional charges include text, reasoning output, conversation history, tools where applicable, and optional input transcription. Earlier turns become input again; caching reduces that charge but does not make it zero or guarantee a cache hit. Empty audio can be filtered by voice activity detection. Measure actual response usage with the intended prompts and workflow. [Realtime billing mechanics](https://developers.openai.com/api/docs/guides/realtime-costs)

As an explicitly hypothetical adaptation, retaining Otto's agenda, checks, and report budget adds **$0.504/hour**: its LLM budget minus its conversational generation budget, both including the 20% reserve. This gives **$1.01 for Mini or $2.12 for the full model before Realtime text/history/reasoning, transcript provision, and hosting**. This is still incomplete, not a deployed alternative or a claim about how much supervision these models require. It shows why we should evaluate direct Realtime rather than claim every alternative costs five times as much.

## Monthly bills and the build decision

Included allowances and unused capacity change effective prices. ElevenLabs Starter is $6/month with 75 minutes; Speechify Starter is $10/month with 120 agent minutes. Higher Speechify plans cost $99 and $499 monthly. Allocate the actual plan fee plus overages across usage; never charge included minutes again. Otto also uses Speechify's paid TTS allowance, so its own minimum invoice can exceed modeled usage at low volume. Sources: [ElevenLabs](https://elevenlabs.io/pricing/agents), [Speechify](https://speechify.ai/pricing).

At 100 aggregate hours a month, Otto's base API estimate is about $89. The illustrative ElevenLabs-plus-same-LLM budget is about $546 in usage equivalents. That roughly $456 gap must pay for any extra hosting, maintenance, and engineering ownership before becoming a saving. For example, $1,000/month of additional custom-system ownership would require about 219 hours/month at that gap, before other differences. This is a sensitivity calculation, not a staffing quote or a forecast.

The article should lead with Otto's outcome: a maintained discovery agenda, corrections that invalidate stale decisions, explicit confirmation, and a reviewed brief. Lower estimated API spend supports that choice. It does not establish that building a bespoke voice stack is the economical default for a low-traffic website.
