
Pipecat
Open-source Python framework for voice agents, hosted by us over its own FastAPI WebSocket transport, with every model layer configurable.
Score breakdown
Task success is worth up to 80 points, word error rate and latency up to 10 each.
Testing implementation
One of the calls Pipecat took, end to end: the simulated caller, the agent as deployed on Pipecat, the tool server it called and the grade. Callers, tools and grading are identical on every platform; only the platform and its model stack change.
Caller
T4-H1 · Cancel Plus after one save offer
“Cancel my Kestrel Plus membership today.”
- full name
- Selina Cortez
- phone
- 541-555-0171
- postal code
- 97035
- card last4
- 1156
Pipecat agent
Customer support front desk
- STT
- Cartesia ink-2
- LLM
- gpt-6-sol (reasoning off)
- TTS
- ElevenLabs Eleven v4 Turbo (HTTP stream)
- Transport
- WebSocket
- Prompt and tools
- Shared customer support spec, 25 tools
Tool server
Bluejay customer support systems
- Tools
- 25 HTTP tools
- State
- Seeded database per call
- Log
- Every request, keyed to the call
- Same build
- Every platform
Grade
Pass
- ✓
identify_customerfull_name=Selina Cortez, phone=541-555-0171 - ✓
verify_identitypostal_code=97035, card_last4=1156 - ✓
get_customer_summary - ✓
quote_membership_cancellation - ✓
confirm_membership_cancellationproration_acknowledged=True
Tool-call diffempty
Database-state diffmatch
Task success by industry
Share of calls where the agent completed the caller's request. Click an industry to see what its callers ask for.
Word error rate
How well the platform heard the caller: the share of the caller's words its transcript got wrong. Lower is better. Variants replay a task with background noise or a degraded line.
Latency
How fast the agent answered: time from the caller's last word to the agent's first audio, over every turn. Full marks inside the shaded band; no points in the hatched end.
Findings
Setup review
The authors' assessment of building, deploying and running the agent on Pipecat: interface, developer experience, customization, going live, MCP, documentation, pricing and languages. Bluejay's voice AI engineers score it during setup from documented capabilities and hands-on use. Expand a category for what we check and how each item is scored.
UIHow well someone can build, test and review an agent in the console without writing code.4 / 10
How it is scored. Six weighted line items, each graded full, half or none: time to first agent, build without code, test in the browser, call review, errors you can see, team workspace.
| What we checked | Weight | Grade | Note |
|---|---|---|---|
| Time to first agent | 2.5 | half* 1.25 | not checked |
| Build without code | 2.0 | none* 0 | Code-only framework; no console builder (from what we know) |
| Test in the browser | 1.5 | half* 0.75 | not checked |
| Call review | 1.5 | half* 0.75 | not checked |
| Errors you can see | 1.5 | half* 0.75 | not checked |
| Team workspace | 1.0 | half* 0.5 | not checked |
Initial grades from the 28–29 Oct 2026 run and public docs; * = judged from docs, not yet verified on a call.
DevXWhether a developer can build, run and read back the whole agent from code.6.7 / 10
How it is scored. Six weighted line items: agent-as-code, call control, data out, API correctness, SDK quality, scoped keys and auth.
| What we checked | Weight | Grade | Note |
|---|---|---|---|
| Agent-as-code | 2.5 | full 2.5 | Agent is our code, deployed with deploy_cloud.py |
| Call control | 1.5 | half* 0.75 | not checked |
| Data out | 2.5 | half* 1.25 | not checked |
| API correctness | 1.5 | half* 0.75 | not checked |
| SDK quality | 1.0 | full* 1 | Python framework SDK |
| Scoped keys and auth | 1.0 | half 0.5 | Deploy needs a separate private API key (ts_date: Pipecat deploy blocked without it) |
Initial grades from the 28–29 Oct 2026 run and public docs; * = judged from docs, not yet verified on a call.
Platform customizabilityHow far you can shape the agent: its models, conversation behaviour, prompt and tools.8.5 / 10
How it is scored. Seven weighted line items, including interruption handling measured on the platform's defaults during end-to-end validation.
| What we checked | Weight | Grade | Note |
|---|---|---|---|
| Model choice | 1.5 | full 1.5 | Ran Bluejay-chosen STT/LLM/TTS |
| Conversation behaviour | 1.0 | full* 1 | Every pipeline knob in code |
| Interruption handling | 3.0 | half* 1.5 | Not measured |
| Prompt and context | 1.0 | full 1 | Full benchmark prompt |
| Custom tools | 2.5 | full* 2.5 | Arbitrary Python tools |
| Speech controls | 0.5 | full* 0.5 | TTS params in code |
| Agent handoff | 0.5 | full* 0.5 | Flows/handoff in framework |
Initial grades from the 28–29 Oct 2026 run and public docs; * = judged from docs, not yet verified on a call.
Go liveEverything needed to take the agent to production and keep it running.5 / 10
How it is scored. Seven weighted line items, including runtime under load: the break rate at 20 concurrent calls against the 2-call baseline.
| What we checked | Weight | Grade | Note |
|---|---|---|---|
| Telephony and numbers | 2.0 | half* 1 | Telephony via Daily/SIP; NC |
| Release management | 1.5 | half 0.75 | Deploy blocked without private API key; legal prompt never deployed (ts_date) |
| Runtime under load | 2.5 | half 1.25 | Stalled calls at 20 with 1 warm agent, needed 10 warm; NO_ANSWER voids cut 20->14 (concurrency_change.jsonl) |
| Integrations at the edge | 1.0 | half* 0.5 | not checked |
| Ops and incident response | 1.5 | half* 0.75 | not checked |
| Compliance and trust | 1.0 | half* 0.5 | not checked |
| Support and escalation | 0.5 | half* 0.25 | not checked |
Initial grades from the 28–29 Oct 2026 run and public docs; * = judged from docs, not yet verified on a call.
MCPWhether the agent can use tools over MCP, and whether coding agents can build and run the platform through MCP.4.2 / 10
How it is scored. Four weighted line items: MCP tools on a live call, connection controls, a platform MCP server, and how much of the API that server covers.
| What we checked | Weight | Grade | Note |
|---|---|---|---|
| MCP tools on a live call | 3.5 | full* 3.5 | MCP client service in framework |
| MCP connection controls | 1.5 | half* 0.75 | not checked |
| Platform MCP server | 3.0 | none* 0 | No platform MCP server known |
| What that server can do | 2.0 | none* 0 | No server |
Initial grades from the 28–29 Oct 2026 run and public docs; * = judged from docs, not yet verified on a call.
DocsWhether the docs are accurate, complete and usable by people and by coding agents.5.5 / 10
How it is scored. Eight weighted line items, from reference accuracy and payload schemas to change management and machine-readability.
| What we checked | Weight | Grade | Note |
|---|---|---|---|
| Reference accuracy | 2.0 | half* 1 | not checked |
| Payload and event schemas | 1.5 | half* 0.75 | not checked |
| Concepts and lifecycle | 1.0 | half* 0.5 | not checked |
| Telephony and go-live guides | 1.5 | half* 0.75 | not checked |
| Errors, limits and gotchas | 1.0 | half* 0.5 | not checked |
| Examples and quickstarts | 1.0 | full* 1 | Many examples (repo) |
| Change management | 1.0 | half* 0.5 | not checked |
| Machine-readability | 1.0 | half* 0.5 | OpenAPI/llms.txt not confirmed |
Initial grades from the 28–29 Oct 2026 run and public docs; * = judged from docs, not yet verified on a call.
Pricing clarityWhether a buyer can predict what the platform will cost and see what it is costing.5.2 / 10
How it is scored. Six weighted line items, including cost per hour: our estimate from public pricing against the real bill for the scored calls.
| What we checked | Weight | Grade | Note |
|---|---|---|---|
| Public price | 2.0 | full* 2 | Public Pipecat Cloud pricing (from memory) |
| Every line item named | 1.5 | half* 0.75 | Hosting priced; models billed by their vendors |
| Cost per hour matches the estimate | 3.0 | half* 1.5 | Bill not reconciled |
| Usage and spend in the product | 1.5 | half* 0.75 | not checked |
| Spend controls | 1.5 | none* 0 | not checked |
| Free start | 0.5 | half* 0.25 | not checked |
Initial grades from the 28–29 Oct 2026 run and public docs; * = judged from docs, not yet verified on a call.
Language supportWhether the agent can take a call in Spanish, French, Mandarin Chinese, Hindi or Arabic, understand it and reply in that language.10 / 10
How it is scored. One translated probe task per language, two runs each. Full when the agent understood and replied in the language, half when it understood but replied in English.
| What we checked | Weight | Grade | Note |
|---|---|---|---|
| Spanish | 2.0 | full* 2 | Same Bluejay-chosen models as LiveKit Cloud; Graded by configuration; live probes not run |
| French | 2.0 | full* 2 | Graded by configuration; live probes not run |
| Mandarin Chinese | 2.0 | full* 2 | Graded by configuration; live probes not run |
| Hindi | 2.0 | full* 2 | Graded by configuration; live probes not run |
| Arabic | 2.0 | full* 2 | Graded by configuration; live probes not run |
Initial grades from the 28–29 Oct 2026 run and public docs; * = judged from docs, not yet verified on a call.
Run details
Model configuration
- STT
- Cartesia ink-2
- LLM
- gpt-6-sol (reasoning off)
- TTS
- ElevenLabs Eleven v4 Turbo (HTTP stream)
- Transport
- WebSocket
Run
- Scored calls
- 630
- Runs per task
- 5
- Run dates
- 21–22 Oct 2026
- Concurrency held
- up to 20 calls
- Turns measured
- 3,535 turns