Ultravox Realtime
Hosted voice agents built on Ultravox's audio-native model, which listens to speech directly (no separate transcription) and answers through TTS voices, at a flat $0.05 per minute. A good default for cost-sensitive phone and web agents; the speech-understanding model weights are open.
Overview
Best for: Budget phone agents and web voice assistants that need decent reasoning at a flat, low per-minute price.
At a glance
Audio-native understanding model (no ASR stage) with separate TTS output, so not a single speech-to-speech model. Open weights are the MIT audio adapter only. maxDuration defaults to 1 hour, no documented maximum. Concurrency hard cap 5 on PAYG; Pro has no hard cap. 30 free call minutes.
Raw PCM s16le for server WebSocket (sample rate set in the call medium)
PCM for server WebSocket; WebRTC handles codecs automatically
Multilingual; no list on the pages read.
Ultravox voice library plus voice clones (1 on PAYG, 5 custom voices on Pro).
Vendor says audio-native processing is faster and robust to transcription errors; no figure on the pages read.
Not stated on the pages read.
Not stated on the pricing or FAQ pages (a trust portal is linked).
Features
- audio-native understanding (no ASR stage)
- tool calling
- RAG corpora (2 PAYG, 20 Pro)
- outbound call scheduler (Pro)
- call recordings and transcripts
- playground (free)
Pricing
| What | Price | Unit |
|---|---|---|
| Calls (Pay As You Go and Pro) | $0.05 | per minute |
| SIP | $0.005 PAYG / $0.0048 Pro | per minute |
| Text/thread usage | $2.00 in (uncached) / $15.00 out | per 1M tokens |
| Pro plan | $100 | per month |
$0.05 call rate plus $0.005 SIP when using SIP; LLM and TTS included.
Not token-billed for calls.
Free tier: 30 free call minutes; playground calls free.
Source: ultravox.ai
Setup
- Create an account and API key in the Ultravox console.
- POST /api/calls with systemPrompt, model, voice, medium and maxDuration.
- Join the returned joinUrl from a browser (WebRTC client SDK) or bridge it to telephony (Twilio, SIP, server WebSocket).
Endpoint
POST https://api.ultravox.ai/api/calls (returns joinUrl)
Authentication
X-API-Key header
Quick start javascript
// Server side: create a call (Node 18+, global fetch)
const res = await fetch("https://api.ultravox.ai/api/calls", {
method: "POST",
headers: { "X-API-Key": process.env.ULTRAVOX_API_KEY, "Content-Type": "application/json" },
body: JSON.stringify({
systemPrompt: "You are a friendly receptionist for Acme Dental.",
model: "ultravox-v0.7",
maxDuration: "600s", // default is 1 hour; cap it to control spend
// medium: { serverWebSocket: { inputSampleRate: 16000, outputSampleRate: 16000 } },
}),
});
const { joinUrl } = await res.json();
// Browser side (WebRTC is the default medium): npm i ultravox-client
// import { UltravoxSession } from "ultravox-client";
// const session = new UltravoxSession();
// session.joinCall(joinUrl);
// ... later: session.leaveCall();
Written from the current docs. Check the vendor's SDK version before you ship.
Warnings
5-call concurrency on PAYG
Pay As You Go has a hard cap of 5 concurrent calls; anything beyond a pilot needs Pro ($100/month) or Enterprise.
Model migrations are forced
Qwen3-based models were retired with about two weeks' notice in December 2025 and the default moved to v0.7. Pin the model string and watch announcements.
Default call length is 1 hour
maxDuration defaults to 3600 s; a stuck call can run an hour at $0.05/min. Set a shorter maxDuration.
Open weights are not the whole product
The MIT-licensed v0.7 checkpoint is an audio adapter on GLM-4.6 (a very large MoE model) and outputs text, not speech; self-hosting needs GLM-4.6 serving plus your own TTS.
Deletion is permanent
Call data is retained until you delete it, and deletion cannot be undone; set a retention process for compliance.
Token charges for text threads
Text/thread usage is billed per token ($2 in / $15 out per 1M), separate from call minutes.
Plus 14 warnings that apply to all voice-to-voice APIs. See category warnings.
Limits
- Pay As You Go: hard cap of 5 concurrent calls
- maxDuration defaults to 1 hour per call
- Invoiced monthly in arrears; early invoice at $10 (PAYG) or $100 (Pro) usage thresholds
Models and products
| Name | Status |
|---|---|
| ultravox-v0.7 | GA |
| ultravox-v0.6 / fixie-ai/ultravox-llama3.3-70b | GA |
| Qwen3-based Ultravox | Deprecated |
Docs and sources
Docs
Sources used
- ultravox.ai/pricing
- docs.ultravox.ai/gettingstarted/faq
- docs.ultravox.ai/api-reference/calls/calls-post
- ultravox.ai/blog/introducing-ultravox-v0-7-the-world-s-smartest-speech-understa...
- huggingface.co/fixie-ai/ultravox-v0_7-glm-4_6
Language list, latency, compliance certifications, exact browser SDK method names (ultravox-client UltravoxSession.joinCall).