Fast, natural voice agents for a fraction of the price.
Stream audio in, get a natural voice back in about a second. Echo cancellation, barge-in, tools and memory run on our side, billed per turn, so listening time is almost free.
Create an account Talk to a demo Read the docs~1 s replies
Measured: about 0.9 s from end of turn to first agent audio (p50) on the fast profile, 1.2 s p95.
From $0.011/min
Pay per agent turn, not per minute. Idle listening costs $0.13 per hour.
Barge-in that works
Server-side echo cancellation fed with the exact audio the caller hears. Talk over the agent and it stops.
Natural voices
Nearly 50 stock voices, plus cloning from a short recording.
Tools and memory
Webhook, client and built-in tools; per-customer conversations and summaries with your retention settings.
Built for bad networks
Dropped connections resume where they left off, with no lost or repeated audio.
Live demo
A short call with a sample agent. Uses your microphone; nothing is recorded or stored.
Pricing
| Model tier | Per turn | ~Per minute |
|---|---|---|
| S (fastest, default) | $0.0030 | ~$0.011 |
| M | $0.0045 | ~$0.016 |
| L | $0.0065 | ~$0.023 |
Each turn includes 6,000 prompt tokens, 400 output tokens, 400 speech characters and 45 s of connected time. Small surcharges apply only beyond that, and every turn reports its usage. Prepaid credits, no minimums.
Calculator
Estimate at 3.5 turns per minute. Competitor figure is the low end of typical all-in per-minute pricing.
How it compares
| Platform | Typical all-in price | Billing |
|---|---|---|
| Ciabatta | $0.011-0.037/min | Per turn; idle listening $0.13/h |
| Vapi | $0.10-0.30/min | Per minute + providers |
| Retell AI | $0.10-0.20/min | Per minute |
| ElevenLabs Agents | ~$0.08-0.10/min | Per minute, plan-bound |
| Bland | ~$0.09/min | Per minute |
| OpenAI Realtime | ~$0.10-0.30/min | Per audio token |
Competitor prices are approximate public list prices as of October 2026 and vary by plan and provider choice.
Ship in minutes
npm install @getciabatta/sdk
import { Ciabatta } from "@getciabatta/sdk";
const ciabatta = new Ciabatta({ apiKey: process.env.CIABATTA_API_KEY });
const session = await ciabatta.sessions.create("support", { customer_id: "cust_123" });
// hand session.ws_url + session.token to your web or mobile app