New Universal-3.5 Pro is here. Learn more: Async Realtime
Voice agents · Architecture

How to choose your voice agent architecture

The most consequential decision in building a voice agent isn't which LLM you use or what the agent sounds like — it's the architecture. An honest framework for three paths: a fully managed API, a bring-your-own-stack streaming pipeline, and the Sync API for turn-based audio. All three lead to AssemblyAI.

Three paths

How audio reaches the model

  • Voice Agent API — live audio, fully managed
  • Universal-3.5 Pro Realtime — live audio, your stack
  • Sync API — finished turns, one HTTP request

One account, one SDK, one bill across all three.

The numbers that matter

Paths

3

Managed, bring-your-own-stack, and turn-based — all on the same accuracy foundation.

Managed

$4.50/hr

Voice Agent API, all-in: STT + LLM + TTS over one WebSocket.

Source: Pricing

Bring your own

$0.45/hr

Universal-3.5 Pro Realtime STT — transcription only, unlimited concurrency.

Source: Pricing

Never re-platform

1

One API key, SDK, and billing relationship across every path.

Customer story · Report 4

“We're excited to make AssemblyAI's Universal-3.5 Pro available on LiveKit Inference. What really stands out is their pace of innovation with Context Carryover — it intelligently applies conversation context to improve transcription accuracy in a way most speech models don't, removing the need for users to predefine key terms.”

— David Zhao, Co-Founder, LiveKit

The decision

The architecture decision every voice agent team faces

Audio comes in, intelligence happens, audio goes out. The real questions are how many pieces you want to own, and how audio reaches the model — a live stream, or finished turns you send yourself. Most teams over-weight "easy" or "flexible" and under-weight the tradeoffs that actually bite: time-to-production, per-layer control, cost structure, debugging surface, and scaling.

Recommended

Voice Agent API

Managed — one WebSocket

$4.50 /hr

STT + LLM + TTS included

  • Ship a working agent in an afternoon
  • Tool calling, live config, session resumption
  • No SDK — standard JSON messages
  • Best for: first voice product, shipping fast
Get started

Bring your own stack

Universal-3.5 Pro Realtime

Streaming STT — your LLM and TTS

$0.45 /hr

Transcription only

  • Works with LiveKit, Pipecat, Vapi, custom WS
  • Context carryover, voice_focus, 3 modes
  • Unlimited concurrency, per-layer control
  • Best for: existing orchestrator, high scale
Learn more

Turn-based

Sync API

Short audio — one HTTP request

Short clips

Runs on Universal-3.5 Pro

  • Single POST → finished transcript, no WebSocket
  • No polling, no session to manage
  • Your own VAD, dictation, IVR, serverless
  • Best for: turn-based short audio
Read the docs

Decision framework

Choosing your path

The right architecture depends on how much of the stack you want to own and how audio reaches the model. Compare the dimensions that decide it below.

Dimension Voice Agent APIUniversal-3.5 Pro RealtimeSync API
How audio arrives Live stream (WebSocket)Live stream (WebSocket)Finished turns (HTTP POST)
You own Nothing — managedLLM + TTS + orchestrationTurn detection + LLM + TTS
Setup Agent in an afternoonSwap STT in minutesOne POST
Pricing $4.50/hr all-in$0.45/hr + your LLM/TTSUsage-based
Session resume 30s built inVia your orchestratorStateless (n/a)
Best for Shipping fastExisting stacks, scaleDictation, IVR, own VAD

All three share the same Universal-3.5 Pro Realtime accuracy foundation — the choice is about how much of the stack you own, not quality.

Migration

You're never locked in

The paths use WebSocket or HTTP and standard JSON. Teams often prototype on the Voice Agent API for speed, then move individual components to Universal-3.5 Pro Realtime as they want more control — or reach for the Sync API where request/response fits better than a socket.

Switching means updating endpoints and message handling, not rebuilding. One account, one SDK, one bill. AssemblyAI is infrastructure, not a platform that captures you.

Typical path

Prototype — Voice Agent API
Add control — Universal-3.5 Pro Realtime
Optimize — Sync API where it fits

Same account, same SDK — move pieces when you're ready.

Not sure which path? Start with the managed API.

Ship on the Voice Agent API today and move pieces to your own stack whenever you're ready.

Frequently asked questions

What are the ways to build a voice agent?

Three, all on AssemblyAI's Universal-3.5 Pro Realtime foundation: a fully managed Voice Agent API (one WebSocket for STT + LLM + TTS), a bring-your-own-stack cascading pipeline with Universal-3.5 Pro Realtime as the STT layer (you bring the LLM and TTS), and — for turn-based short audio — the Sync API, a single HTTP request that returns a finished transcript.

Should I use a managed voice agent API or build my own pipeline?

Use the managed Voice Agent API if you want the fastest path to production — one API, one bill, a working agent in an afternoon. Build your own cascading pipeline with Universal-3.5 Pro Realtime if you already run an orchestrator (LiveKit, Pipecat, Vapi), need per-layer control over the LLM and TTS, or are optimizing margin at high scale. Both share the same accuracy foundation, so it's a control-vs-speed decision, not a quality one.

What is a cascading voice agent architecture?

A cascading (or "chained") architecture wires separate STT, LLM, and TTS services together through an orchestrator: speech-to-text transcribes the caller, an LLM reasons over the transcript, and text-to-speech voices the reply. Universal-3.5 Pro Realtime is the STT layer in this pattern, working natively with LiveKit, Pipecat, Vapi, or any custom WebSocket orchestrator.

When should I use the Sync API instead of streaming?

Use the Sync API when you do your own turn detection and just need a finished transcript per utterance — dictation, IVR menus, call routing, push-to-talk, or serverless functions that can't hold a socket open. It's a single HTTP POST with no WebSocket or session to manage. For a continuous live conversation, use the Voice Agent API or Universal-3.5 Pro Realtime streaming instead.

Can I switch between the Voice Agent API and streaming STT later?

Yes — that's by design. The paths use WebSocket or HTTP with standard JSON, so switching means updating connection endpoints and message handling, not rebuilding. Teams often prototype on the Voice Agent API for speed, then move components to Universal-3.5 Pro Realtime as they want more control. One account, one SDK, one bill across all paths.

How much do the AssemblyAI voice agent options cost?

The Voice Agent API is a flat $4.50/hr with STT, LLM, and TTS included. Universal-3.5 Pro Realtime is $0.45/hr for transcription only (you add your own LLM and TTS), with add-ons billed as used. The Sync API is usage-based on Universal-3.5 Pro. See the pricing page for details.