Tavus Conversational Video Interface (CVI)
Hosted realtime video agents ('PALs') with Tavus's own face, perception and turn-taking models. You create a conversation by API and get back a Daily room URL to embed.
Overview
Best for: Turnkey customer-facing video agents and meeting bots where you want one vendor for face, perception and turn-taking.
At a glance
Latency is vendor claim (under 500 ms average). Max session 5/10/15/60 min by plan. Price is Business $975/4,000 min; overage $0.26-$0.35. Resolution and fps are Phoenix-4 launch figures (current model Phoenix-4.5). Pricing page shows conflicting tables.
User microphone in the Daily room (or your own pipeline via LiveKit/Pipecat/Echo modes)
Synthesized voice from Tavus stock voices or integrated TTS
Changelog says stock voices can speak 42 supported languages.
Vendor describes Sparrow as delivering 'ultra-fast response times'; no number published on the models page.
Not published on the pages checked.
Not verified in this pass; check Tavus trust/security pages for SOC 2, HIPAA and GDPR terms.
Features
- managed full pipeline (STT, LLM, TTS)
- bring your own LLM
- custom avatar from video (replica training)
- perception of user video and screen share
- joins Google Meet, Zoom and Microsoft Teams calls
- recordings and closed captions
- memory stores per participant
- MCP connectors for actions
Pricing
| What | Price | Unit |
|---|---|---|
| Free | $0 | per month |
| Starter | $22 | per month |
| Builder | $59 | per month |
| Growth | $397 | per month |
| Business | $975 | per month |
| Conversation recordings | $0.03 | per minute |
| Billing granularity | 30 second minimum | per conversation |
Business $975/4,000 min = $0.24 up to Starter $22/60 min = $0.37; overage $0.26-$0.35
Free tier: Free plan: 20 CVI minutes per month, 1 concurrent session, 5 minute max conversation.
Source: tavus.io
Setup
- Create an API key in the Tavus developer portal.
- Pick a stock face_id or train a custom face (needs a consent statement for a real person).
- Create or pick a PAL (persona) and note its pal_id.
- POST /v2/conversations from your backend with tight timeouts.
- Embed the returned conversation_url (a Daily room) or join it with the Daily SDK; end the conversation via API when done.
Endpoint
POST https://tavusapi.com/v2/conversations
Authentication
x-api-key header (server-side only)
Quick start javascript
// Server-side (Node 18+)
const res = await fetch("https://tavusapi.com/v2/conversations", {
method: "POST",
headers: {
"x-api-key": process.env.TAVUS_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
face_id: "rc9cff32ceba", // stock or custom face
pal_id: "pcb7a34da5fe", // your PAL (persona)
conversation_name: "Support demo",
properties: {
max_call_duration: 600, // seconds, capped to plan max
participant_left_timeout: 30, // end soon after user leaves
participant_absent_timeout: 60, // end if nobody joins
},
}),
});
const { conversation_id, conversation_url } = await res.json();
// Send conversation_url to the browser and open it in an iframe
// or with the Daily JS SDK. It is a Daily room.
Written from the current docs. Check the vendor's SDK version before you ship.
Warnings
Pricing page shows several tables
tavus.io/pricing contains older tables (e.g. $59 Starter with 100 minutes, $0.37 overage) next to the newer ladder ($22 Starter, $59 Builder). Third-party trackers say the newer ladder is current. Confirm in the dashboard before quoting prices.
Starter has no overage, so calls just stop
Free and $22 Starter have no pay-as-you-go: when included minutes run out, conversations stop. Fine for demos, dangerous for production.
Default participant_left_timeout is 0 but absent timeout is 300 s
A conversation created but never joined can sit for 5 minutes by default. Set participant_absent_timeout low and always call End Conversation.
API renamed replica/persona to face/PAL
Current docs use face_id and pal_id; older tutorials use replica_id and persona_id. Check the field names against the live API reference.
Consent needed for personal replicas
Training a face of a real person needs a spoken consent statement read verbatim; footage of someone else needs their own matching consent video.
Plus 9 warnings that apply to all avatars and live video APIs. See category warnings.
Limits
- Concurrent sessions: 1 (Free/Starter), 3 (Builder), 10 (Growth), 15 (Business)
- Max conversation: 5 / 10 / 15 / 60 / 60 minutes by plan; max_call_duration is silently capped to the plan maximum
- participant_absent_timeout default 300 s; participant_left_timeout default 0
- Custom faces per plan: 1 (Starter), 3 (Builder), 7 (Growth), 15 (Business)
Models and products
| Name | Status |
|---|---|
| Phoenix-4.5 | GA |
| Raven | GA |
| Sparrow-2 | GA |
Docs and sources
Docs
Sources used
- tavus.io/pricing
- usagepricing.com/blueprint/tavus
- docs.tavus.io/sections/changelog/changelog.md
- docs.tavus.io/sections/replica/replica-training
Which pricing table on tavus.io is live; Free plan custom-face allowance; compliance certifications; regions.