# Inworld Realtime API vs Pipecat (slim)

> Pipecat scores 65.2 (B) to Inworld Realtime's 60.1 (C) for voice agents. Prices, MCP, x402, uptime and agent notes side by side.

- Full: https://www.anchorterminal.com/compare/inworld-realtime-vs-pipecat.md (~5,800 tokens) · this version ~3,130 tokens · JSON https://www.anchorterminal.com/compare/inworld-realtime-vs-pipecat.json · canonical https://www.anchorterminal.com/compare/inworld-realtime-vs-pipecat
- Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · MCP: https://www.anchorterminal.com/mcp · Updated: 2026-11-07
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)

Pipecat scores 65.2 (B) on agent readiness against Inworld Realtime API's 60.1 (C), and leads in every scored category. Both do voice agents.

- Inworld Realtime API: C 60.1, rank #671 of 1510 · https://www.anchorterminal.com/tools/inworld-realtime.min.md
- Pipecat: B 65.2, rank #428 of 1510 · https://www.anchorterminal.com/tools/pipecat.min.md
- Inworld Realtime API, good for Teams moving off OpenAI's Realtime API who want a choice of LLM and Inworld voices. Also No incidents deducted, where Pipecat loses 9 points for them.
- Pipecat, good for Python teams that want to own a voice agent's pipeline, pick each speech and model provider, and host it themselves or on Pipecat Cloud. Ahead on Reliability, 68 against 62; Schema & documentation, 92 against 60; Security & auth, 67 against 58; Payments & pricing, 60 against 40; Maintenance & community, 85 against 71; Transparency & trust, 83 against 63. Also No key needed to call it; Free to start without a card; Open source.

| Category | Inworld Realtime API | Pipecat |
| --- | --- | --- |
| Reliability (16%) | 62 | 68 |
| Performance (10%) | pending | pending |
| Schema & documentation (13%) | 60 | 92 |
| Agent ergonomics (13%) | 68 | 72 |
| Security & auth (14%) | 58 | 67 |
| Payments & pricing (10%) | 40 | 60 |
| Task success (10%) | pending | pending |
| Maintenance & community (7%) | 71 | 85 |
| Transparency & trust (7%) | 63 | 83 |

| Fact (where they differ) | Inworld Realtime API | Pipecat |
| --- | --- | --- |
| Kind | HTTP API | Agent framework |
| Vendor | Inworld AI | Daily |
| Transports | websocket, HTTP |  |
| Auth | API key | None |
| Pricing | Pay per use | Free |
| Price for voice agents | $25 per 1M characters | $0.01 per minute of call |
| Licence | none | BSD-2-Clause for the framework. Pipecat Cloud is a hosted service under Daily's terms of service |
| Tools exposed | 0 | none |
| Last release | 2026-10-16 | 2026-10-28 |
| Terms last updated | 2025-06-11 | 2025-03-31 |
| Privacy policy last updated | 2026-01-18 | 2025-01-06 |
| Popularity | none | 16k stars, 98k npm/wk, 302k PyPI/wk |
| Agent reviews | none | 3/5 (4) |

Why the edge:
- Schema & documentation, Pipecat +32: Inworld Realtime API 60 (No AsyncAPI or other machine-readable file for the socket, and the spec paths redirect (0). llms.txt, Markdown twins and a docs MCP server (10). The overview, OpenAI migration guide, `providerData` reference and the billing page's account of how a session is counted say what to use when (16 of 20). The reference lists every client and server event with field types and required marks, as text rather than a schema (12 of 15). JavaScript and Python example projects and an error event with `type`, `code` and `param`, without a list of codes (9 of 15). Dated release notes with affected clients and required actions, but no API version beyond `/v1` (13 of 15). Total 60.); Pipecat 92 (Framework reading. Typed Python (py.typed) with an API reference page per service, transport, frame type and utility (25). llms.txt, Markdown copies of each page and llms-full.txt (4.7 MB on 1 November) (10). Guides say when to reach for Flows, multiple LLM agents or a single pipeline, and the error-handling page says which failures are worth retrying. The OpenTelemetry reference now gives `PipelineWorker` defaults of `enable_tracing` False and `enable_turn_tracking` True, matching the 1.15.0 source, so the mismatch the 17 October check found is gone (16 of 20, was 14). Pydantic `Settings` classes per service, a provider-neutral `FunctionSchema`, and an `ErrorCategory` enum (12 of 15). Example folders from function calling and MCP to telephony, and documented error categories and Pipecat Cloud error codes (14 of 15). Dated changelog with pull-request links, towncrier fragments and a migration guide to 1.0 (15). 25 + 10 + 16 + 12 + 14 + 15 = 92.)
- Payments & pricing, Pipecat +20: Inworld Realtime API 40 (No x402, MPP or L402 (0). No per-session price, but each billed part (STT per hour, TTS per character, LLM per token) is priced publicly (20). On-Demand includes free STT and TTS allowances and lists no payment method, though some premium LLMs need a card on file (20). A person signs up in a browser before a key exists (0). Total 40.); Pipecat 60 (No x402, MPP or L402 (0). Read with the self-hosted rule, with the pricing line scored on Pipecat Cloud, the paid option. Its per-minute prices by agent size, transport, telephony and recording are published without a login, re-read on 1 November ($0.01 an active minute for agent-1x, $0.018 a minute for Daily PSTN) (20). The BSD-2-Clause package installs with no card. Pipecat Cloud needs billing credentials or a trial code before sessions start (20, on the package). The framework runs with no account, on the developer's own provider keys (20). 0 + 20 + 20 + 20 = 60.)
- Transparency & trust, Pipecat +20: Inworld Realtime API 63 (Closed service with clear terms naming Theai, Inc. dba Inworld AI (15). The ZDR page says what a session keeps and that third-party LLM requests aren't covered, but the terms and privacy notice disagree on training (12 of 30). Release notes flag potentially breaking changes with the clients affected and what to do, without stating a notice period (14 of 20). US headquarters with EU and India residency on Enterprise, and no sub-processor list in the docs, while sessions may route to third-party LLM providers (10 of 20). Total 51.); Pipecat 83 (BSD-2-Clause (30). The framework keeps no data. Daily's privacy policy (6 January 2025) keeps personal data while an account is open, the Pipecat Cloud security guide says session data is removed when a session ends, logs are stored by default and administrative API calls are kept a year, and Daily publishes a DPA (1 May 2025) and a sub-processor list (1 September 2026), per the 17 October check. Control-plane data is in the US whatever the agent's region (24 of 30). The changelog has Deprecated sections in most releases, and recent entries name removal in 2.0.0, with a migration guide to 1.0, but no dated removal windows (13 of 20). No telemetry found, and tracing is opt-in, which the OpenTelemetry reference now states too. The optional ai-coustics filter still registers a Pipecat identifier with that vendor's SDK in 1.15.0, which the docs don't mention (18 of 20, was 16). 30 + 24 + 13 + 18 = 85.)
- Maintenance & community, Pipecat +14: Inworld Realtime API 71 (Release note of 16 October 2026 (`cache_transcript`), 21 days ago (30). Three dated Realtime entries in the 90 days from 8 August, on 14 September, 23 September and 16 October (20). Discord and support@inworld.ai, with no evidence of answers read (8 of 15). Works with OpenAI's Realtime clients and the CLI is current at 1.5.0, but there is no Inworld Realtime SDK (8 of 15). CLI on npm under MIT, CI not read (5 of 10). Total 71.); Pipecat 85 (pipecat-ai 1.15.0, dated 28 October 2026 in the changelog and tagged that day, 4 days before the check (30). Nine releases in the 90 days to 1 November, 1.8.0 on 26 August to 1.15.0 (20). Issue and pull-request reply times couldn't be read, since GitHub's pages answer 403, and the 17 October figures came from a third-party copy of GitHub data, now struck. The clone shows 151 pull requests from outside forks merged in the 90 days to 1 November, fixes that cite the issues they close, and a needs-repro workflow that labels issues (13 of 25, was 15). The Python framework and the JavaScript client (`@pipecat-ai/client-js` 1.16.0, tagged 28 October) are current, with client SDKs in six languages (15). CI, coverage, a licence check, a uv lockfile and trusted publishing to PyPI are configured. Dependabot was added on 23 October, for the pinned GitHub Actions only, and a passing main wasn't confirmed (7 of 10). 30 + 20 + 13 + 15 + 7 = 85.)
- Security & auth, Pipecat +9: Inworld Realtime API 58 (Workspace API keys sent as Basic credentials, deleted to revoke, with separate keys per environment advised. The CLI mints read-only keys unless `--write` is given, but write toggles cover only the Voice and Router APIs, so no key is limited to one product. Browsers use short-lived tokens minted server side. Session IDs, not secrets, go in the URL (25 of 30). Tools run in the client, so the developer approves side effects, with no approval step in the API (10 of 20). The agent listens to callers and passes their speech to an LLM, and no prompt-injection guidance was found (5 of 15). Usage per key and a Performance page with errors and throttling (8 of 15). SOC 2 Type II and HIPAA claimed and a vulnerability report form, with no security.txt or bug bounty, per the 4 November reading (10 of 20). Total 58. Zero data retention covers session content from the Developer plan up, but not requests routed to third-party LLM providers.); Pipecat 67 (Framework reading, as for the frameworks category. We found no telemetry in the source, and tracing is off by default and needs an exporter the developer supplies. The two credential flaws the 17 October check found on 1.12.0 are fixed in released versions. 1.13.0 (18 October) makes the services for OpenAI-compatible providers raise an error when given no key instead of falling back to `OPENAI_API_KEY`, and masks API keys, tokens and signed URLs in error messages, and 1.14.0 (23 October) closes a gap in that masking (30 of 30, was 20). No tool-approval or confirmation primitive. `tools_filter` allowlists MCP tools and `tools_arguments` pins values the model cannot change (8 of 20). A caller's speech and MCP tool results go to the model, and we found no prompt-injection guidance in the docs, re-searched in llms-full.txt on 1 November (3 of 15). OpenTelemetry spans per service and tool call, with `FunctionCallObserver` and `LLMLogObserver` for per-call visibility (15). SECURITY.md routes reports to an email address at Daily, and GitHub advisories are published with CVEs and fixed versions, four since April 2026 (OSV, re-read on 1 November, lists no new one). The `OPENAI_API_KEY` fix shipped without an advisory. No security.txt or bug bounty. Daily states SOC 2 Type 2, which isn't scored for a framework (11 of 20). 30 + 8 + 3 + 15 + 11 = 67.)
- Reliability, Pipecat +6: Inworld Realtime API 62 (Hosted reading of the checklist. status.inworld.ai is a public status page (20), with history we couldn't read, as on inworld-tts (5). Concurrent sessions are published per plan, 10 on On-Demand up to 1,000 on Growth (15). The rate limits page gives exponential backoff with jitter and Retry-After on longer windows, and sessions emit `rate_limits.updated`, with nothing on reconnecting a dropped session (12 of 15). An SLA appears only in the Enterprise column, with no terms (0). No preview or beta label on the Realtime API (10). 20 + 5 + 15 + 12 + 0 + 10 = 62.); Pipecat 68 (Local-software reading of the framework. pipecat-ai installs from PyPI with Python 3.11 or later declared (1.15.0's pyproject), and a compatibility workflow builds it on 3.11 to 3.14 (20). A public tests workflow runs pytest (406 Python files under tests/ in 1.15.0), on pushes to main and on pull requests, with coverage and licence-check jobs, but GitHub's Actions pages weren't readable on 17 October or 1 November, so a green main is not confirmed (15 of 25). The issue tracker couldn't be read, since GitHub's pages answer 403. The 17 October reading of open issues came from a third-party copy of GitHub data, which we no longer use, so it is struck. The clone shows 3,539 commits in the 90 days to 1 November, fixes that cite the issues they close (#6162 on 15 October, #6256 on 20 October, #6410 from an outside contributor on 28 October) and 151 merged pull requests from outside forks, so 8 of 25 on that evidence alone (was 12). Keep a Changelog with dates, semver stated and breaking changes flagged with a warning sign, but minor releases keep carrying them, 16 flagged in 1.8.0, 4 in 1.9.0, 4 in 1.10.0, 6 in 1.13.0, 1 in 1.14.0 and 5 in 1.15.0 (10 of 15). 1.15.0, classed Production/Stable (15). 20 + 15 + 8 + 10 + 15 = 68.)
