{
  "data": {
    "a": {
      "slug": "inworld-realtime",
      "name": "Inworld Realtime API",
      "vendor": "Inworld AI",
      "vendorUrl": "https://inworld.ai",
      "kind": "http-api",
      "category": "voice-agents",
      "summary": "Inworld's Realtime API runs spoken conversations over WebSocket or WebRTC, chaining Inworld STT, an LLM chosen by the developer and Inworld TTS, with turn detection, interruptions and tool calling. It follows OpenAI's Realtime protocol.",
      "url": "https://www.anchorterminal.com/tools/inworld-realtime",
      "markdownUrl": "https://www.anchorterminal.com/tools/inworld-realtime.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/inworld-realtime.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/inworld-realtime.json",
      "dns": "inworld-realtime.grade.anchorterminal.com",
      "transports": [
        "websocket",
        "http"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "@inworld/cli"
        }
      ],
      "auth": "api-key",
      "authNotes": "Servers send `Authorization: Basic` with the Base64 `key_id:secret` credential. Browsers send `Authorization: Bearer` with a session token minted server side. The `key` query parameter in the WebSocket URL is a session ID, not a secret.",
      "pricing": "usage",
      "pricingNotes": "No per-minute or per-session price. A session is billed as its STT ($0.10 to $0.15 an hour), its LLM tokens at the model's rate and its TTS characters (TTS-2 from $25 per million on the free plan). Segments already sent to TTS are billed after an interruption.",
      "priceSummary": "Pay per use",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, llms.txt or pricing page (checked 2026-11-06). Plans and credits are bought in the Portal.",
        "endpoints": []
      },
      "toolCount": 0,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://docs.inworld.ai/realtime/overview",
      "llmsTxt": "https://docs.inworld.ai/llms.txt",
      "capabilities": [
        "voice.agent",
        "voice.pipeline",
        "voice.tools",
        "voice.telephony"
      ],
      "tags": [
        "hosted",
        "usage",
        "free-tier",
        "closed-source",
        "llms-txt",
        "streaming",
        "websocket",
        "webrtc",
        "openai-compatible",
        "enterprise"
      ],
      "lastRelease": "2026-10-16",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 60.1,
        "grade": "C",
        "agentReady": false,
        "rank": 671,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 12,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 68,
          "maintenance": 71,
          "payments": 40,
          "reliability": 62,
          "schema": 60,
          "security": 58,
          "transparency": 63
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "Inworld's Realtime API speaks OpenAI's Realtime protocol over WebSocket or WebRTC, with a choice of LLM, client-side tools and dated release notes. Cost is the sum of STT, LLM and TTS usage with no per-minute price, there is no machine-readable event schema, and status history couldn't be read.",
        "bestFor": "Teams moving off OpenAI's Realtime API who want a choice of LLM and Inworld voices.",
        "strengths": [
          "Follows OpenAI's Realtime events, with a migration guide that changes only the URL, key and a few defaults",
          "Dated release notes name affected clients and required actions for each compatibility change",
          "A choice of LLM through Inworld's router, with prompt caching on Anthropic models",
          "Concurrent sessions from 10 on the free plan to 1,000 on Growth",
          "Zero data retention covers session content from the Developer plan up"
        ],
        "weaknesses": [
          "No per-minute price. A session's cost depends on STT, LLM tokens and TTS characters, and interrupted segments are still billed",
          "No AsyncAPI or other machine-readable schema for the socket events",
          "Status history couldn't be read, and an SLA exists only for Enterprise",
          "The 21 July 2026 release changed response and item shapes for existing clients",
          "Zero data retention doesn't cover requests routed to third-party LLM providers"
        ],
        "agentNotes": [
          "Set the auto follow-up off if your client sends its own `response.create` after a tool result, or replies double",
          "Read `response.done` usage as an estimate and mute input audio when nobody speaks, since STT bills every second sent",
          "Use `response.speak` for fixed greetings, which skips the LLM",
          "Treat `unsupported_field` errors as warnings and keep the session open",
          "Mint browser session tokens on your server and never ship the Basic credential to a client"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 60.1
          }
        ],
        "editorialScores": {
          "ergonomics": 68,
          "maintenance": 71,
          "payments": 40,
          "reliability": 62,
          "schema": 60,
          "security": 58,
          "transparency": 51
        },
        "provenanceScore": 75,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm install -g @inworld/cli"
      },
      "letme": {
        "capability": "https://letme.dev/voice.agent",
        "tool": "https://letme.dev/inworld-realtime"
      },
      "sameCompany": [
        "inworld-stt",
        "inworld-tts",
        "inworld-voice-cloning"
      ],
      "area": "voice",
      "unitPrices": [
        {
          "item": "Speech recognition in a session",
          "unit": "audio-minute",
          "usd": 0.0025,
          "note": "STT-1 at $0.15 an hour On-Demand, $0.10 on paid plans"
        },
        {
          "item": "Agent speech, TTS-2",
          "unit": "1m-chars",
          "usd": 25,
          "note": "free On-Demand plan; lower on paid plans"
        }
      ],
      "provenance": {
        "legalEntity": "Theai, Inc. dba Inworld AI",
        "domain": "inworld.ai",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://inworld.ai/terms",
        "privacy": "https://inworld.ai/privacy",
        "statusPage": "https://status.inworld.ai",
        "changelog": "https://docs.inworld.ai/release-notes/realtime",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "The Terms of Service (effective 11 June 2025) are an agreement with Theai, Inc. dba Inworld AI under California law, with courts in Santa Clara. The Privacy Notice (last updated 18 January 2026) names Theai, Inc.",
          "inworld.ai/.well-known/security.txt returns 404. The security page links a vulnerability report form.",
          "status.inworld.ai runs the open-source issue-status app, which draws incidents from GitHub issues in inworld-ai/inworld-issue-status. Its history wasn't read, because GitHub's robots.txt couldn't be read from our environment.",
          "inworld.ai's robots.txt allows Claude agents on the paths read and sets `Content-Signal: ai-train=no, search=yes, ai-input=no`. docs.inworld.ai has no such signal.",
          "The domain's registration date wasn't established, because the RDAP lookup failed.",
          "firstReleased is left empty. The public Realtime release notes start on 21 July 2026 and no launch date was found."
        ],
        "score": 75
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/inworld-realtime.json",
      "live": {
        "slug": "inworld-realtime",
        "vendorStatus": {
          "page": "https://status.inworld.ai",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:47:57.03709454Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@inworld/cli",
            "version": "1.5.0",
            "seenAt": "2026-11-06T23:35:04.551623033Z"
          }
        ],
        "npmWeekly": 290,
        "securityTxt": {
          "url": "https://inworld.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:01:11.794771951Z"
        },
        "llmsTxt": {
          "url": "https://docs.inworld.ai/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:46.028273902Z"
        },
        "pages": [
          {
            "url": "https://docs.inworld.ai/release-notes/realtime",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:06:42.218731652Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "9ae0f1f05b69"
          },
          {
            "url": "https://inworld.ai/privacy",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-11-07T14:11:39.031139211Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "99dc39a9de92"
          },
          {
            "url": "https://inworld.ai/terms",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-11-07T14:11:41.181276356Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "777d881cbf9b"
          }
        ],
        "updatedAt": "2026-11-07T16:01:11.794771951Z"
      }
    },
    "answer": "LiveKit Agents scores 72.7 (BB) on agent readiness against Inworld Realtime API's 60.1 (C), and leads in every scored category.",
    "b": {
      "slug": "livekit-agents",
      "name": "LiveKit Agents",
      "vendor": "LiveKit Incorporated",
      "vendorUrl": "https://livekit.com",
      "kind": "framework",
      "category": "voice-agents",
      "summary": "LiveKit Agents is LiveKit's open-source Python and Node.js framework for realtime voice and video agents that join LiveKit rooms, with STT, LLM, TTS and realtime-model plugins, turn detection, MCP tools and telephony through LiveKit SIP.",
      "url": "https://www.anchorterminal.com/tools/livekit-agents",
      "markdownUrl": "https://www.anchorterminal.com/tools/livekit-agents.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/livekit-agents.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/livekit-agents.json",
      "dns": "livekit-agents.grade.anchorterminal.com",
      "repo": "https://github.com/livekit/agents",
      "license": "Apache-2.0 for the framework and plugins. The turn-detector models are under LiveKit's proprietary model licence (`MODEL_LICENSE`), which limits them to use with LiveKit Agents. LiveKit Cloud and LiveKit Inference are closed services under LiveKit's terms",
      "transports": [],
      "packages": [
        {
          "registry": "pypi",
          "name": "livekit-agents"
        },
        {
          "registry": "npm",
          "name": "@livekit/agents"
        }
      ],
      "auth": "api-key",
      "authNotes": "The agent server connects to a LiveKit server with `LIVEKIT_URL`, `LIVEKIT_API_KEY` and `LIVEKIT_API_SECRET`. The key and secret sign JWT access tokens with room grants and a lifetime the issuer sets. Model plugins take each provider's own key, or LiveKit Inference uses the LiveKit Cloud project's key and secret. A self-hosted LiveKit server needs no LiveKit account, and a LiveKit Cloud project needs a browser sign-up.",
      "pricing": "free",
      "pricingNotes": "The framework is free under Apache-2.0, and you pay for models and for hosting. LiveKit Cloud's Build plan is $0 with no card, with 1,000 agent session minutes, 5 concurrent sessions and $2.50 of LiveKit Inference credit, as a hard cap. Ship starts at $50 a month and Scale at $500, with agent session minutes at $0.01 past the allowance and LiveKit Inference models billed per minute, per character or per token (https://livekit.com/pricing.md, checked 2026-10-17).",
      "priceSummary": "Free · OSS",
      "where": "library",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the repository source, the docs (llms-full.txt) or the pricing page, checked 2026-10-17.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 819555,
        "pypiWeekly": 1055589,
        "asOf": "2026-10-17"
      },
      "docsUrl": "https://docs.livekit.io/agents/",
      "llmsTxt": "https://docs.livekit.io/llms.txt",
      "capabilities": [
        "voice.agent",
        "voice.pipeline",
        "voice.speech-to-speech",
        "voice.tools",
        "voice.telephony",
        "agent.mcp-client",
        "agent.multi-agent"
      ],
      "tags": [
        "framework",
        "official",
        "python",
        "typescript",
        "open-source",
        "apache-2.0",
        "self-hosted",
        "llms-txt",
        "pipeline",
        "speech-to-speech",
        "webrtc",
        "sip",
        "no-card"
      ],
      "lastRelease": "2026-10-28",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 72.7,
        "grade": "BB",
        "agentReady": true,
        "rank": 120,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 1,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 80,
          "maintenance": 87,
          "payments": 60,
          "reliability": 67,
          "schema": 81,
          "security": 62,
          "transparency": 82
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-01"
        },
        "negative": 0,
        "verdict": "An Apache-2.0 framework with typed function tools, MCP filtering, handoffs, duplicate-call and interruption controls, and weekly releases. It needs a LiveKit server, and the default turn detector's models are under a proprietary licence limited to this framework. No approval primitive or prompt-injection guidance was found.",
        "bestFor": "Teams writing their own voice agents in Python or Node.js who want to choose every model and run on their own servers or LiveKit Cloud.",
        "strengths": [
          "Apache-2.0 Python and Node.js packages, with 18 Python releases in the 90 days to 1 November 2026",
          "MCP client with `allowed_tools`, `filter_tools()` and `tool_result_resolver` to limit tools and trim results (Python only)",
          "Voice-specific tool controls. `disallow_interruptions()`, four `on_duplicate` modes, and interrupted tools keep their result so the model doesn't call them again",
          "81 provider plugin packages, or LiveKit Inference model strings with one LiveKit key and zero data retention under LiveKit's terms",
          "Runs entirely self-hosted, with the local `v1-mini` turn detector and no LiveKit account"
        ],
        "weaknesses": [
          "The turn-detector models are under a proprietary licence that forbids use outside LiveKit Agents and training other models on their output",
          "No CHANGELOG file, release notes only on GitHub, and 2.0.0b1 tagged on 12 October 2026 with no 2.0 migration guide by 1 November",
          "The quickstart still calls the deprecated `cli.run_app`, and the llms.txt link to the Python reference's Markdown returns 404",
          "No built-in approval step for tool calls, and no prompt-injection guidance found in the docs",
          "In `dev` mode with LiveKit Cloud credentials, the default turn detector streams user audio to LiveKit Inference"
        ],
        "agentNotes": [
          "Set `LIVEKIT_URL`, `LIVEKIT_API_KEY` and `LIVEKIT_API_SECRET` before starting. Every agent joins a LiveKit room, on LiveKit Cloud or a self-hosted server",
          "Pass `inference.TurnDetector(version=\"v1-mini\")` to keep turn detection local, and read `MODEL_LICENSE` before using LiveKit's turn models anywhere but LiveKit Agents",
          "Pass `record=False`, or a dict per category, to `session.start()` if audio, transcripts, traces and logs must not reach LiveKit Cloud",
          "Call `context.disallow_interruptions()` first in tools that write, and set `on_duplicate=\"reject\"` or `\"confirm\"`. Duplicates are matched by tool name only, not arguments",
          "Wrap MCP servers in `mcp.MCPToolset` with `allowed_tools` (Python only). The `mcp_servers` parameter is deprecated"
        ],
        "metrics": {
          "kind": "library",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 72.7
          }
        ],
        "editorialScores": {
          "ergonomics": 80,
          "maintenance": 87,
          "payments": 60,
          "reliability": 67,
          "schema": 81,
          "security": 62,
          "transparency": 68
        },
        "provenanceScore": 96,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-01",
            "maintenance": "2026-11-01",
            "payments": "2026-11-01",
            "reliability": "2026-11-01",
            "schema": "2026-11-01",
            "security": "2026-11-01",
            "transparency": "2026-11-01"
          },
          "last": "2026-11-01",
          "lastMoved": "2026-11-01",
          "oldest": "2026-11-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "pip install \"livekit-agents[openai,deepgram,cartesia]\"   # or: npm i @livekit/agents"
      },
      "letme": {
        "capability": "https://letme.dev/voice.agent",
        "tool": "https://letme.dev/livekit-agents"
      },
      "sameCompany": [
        "livekit-telephony"
      ],
      "area": "voice",
      "unitPrices": [
        {
          "item": "LiveKit Cloud agent session",
          "unit": "call-minute",
          "usd": 0.01,
          "note": "past the Ship or Scale allowance, models and telephony extra"
        },
        {
          "item": "LiveKit Cloud agent session recording",
          "unit": "audio-minute",
          "usd": 0.005,
          "note": "past the Ship or Scale allowance"
        },
        {
          "item": "LiveKit Cloud Ship plan",
          "unit": "month",
          "usd": 50,
          "note": "starting price"
        },
        {
          "item": "LiveKit Cloud Scale plan",
          "unit": "month",
          "usd": 500,
          "note": "starting price"
        }
      ],
      "provenance": {
        "legalEntity": "LiveKit Incorporated",
        "domain": "livekit.com",
        "domainRegistered": "2000-02-24",
        "endpointOnVendorDomain": null,
        "terms": "https://livekit.com/legal/terms-of-service",
        "privacy": "https://livekit.com/legal/privacy-policy",
        "statusPage": "https://status.livekit.io",
        "changelog": "https://github.com/livekit/agents/releases",
        "securityTxt": "valid",
        "checked": "2026-10-17",
        "notes": [
          "The framework is Apache-2.0 software the owner runs. The terms (last updated 6 October 2026) govern LiveKit Cloud's Build, Ship and Scale plans, including LiveKit Inference and Agent Observability, between the customer and LiveKit Incorporated of San Francisco.",
          "The privacy policy (last updated 15 October 2026) covers LiveKit's website and says it does not apply where LiveKit processes data for customers. The sub-processor list is dated 10 September 2026.",
          "livekit.io answers 308 to livekit.com. RDAP at Verisign gives livekit.com a registration date of 24 February 2000, before the company existed.",
          "livekit.com/.well-known/security.txt names a security contact, a PGP key and the disclosure policy at https://livekit.com/security/policy, with no Expires field. The repository has no SECURITY.md.",
          "No CHANGELOG file in the repository. Release notes are on GitHub releases, which couldn't be read from our session. The status page covers LiveKit Cloud, not the framework.",
          "WebFetch refused every page in this session, so first-hand pages were read with curl after checking each host's robots.txt. status.livekit.io disallows /api/, so its history page was read instead."
        ],
        "score": 96
      },
      "requirements": {
        "setupChecked": true,
        "complianceChecked": true,
        "card": "no",
        "freeTier": true,
        "minutes": 10,
        "credential": "api-key",
        "hosting": [
          "self-hosted"
        ],
        "euResidency": "yes",
        "trainsOnData": "no",
        "zeroRetention": "yes",
        "certifications": [
          "SOC 2 Type II"
        ],
        "dpa": true,
        "selfHost": "yes"
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/livekit-agents.json",
      "live": {
        "slug": "livekit-agents",
        "vendorStatus": {
          "page": "https://status.livekit.io",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-07T19:22:19.80961947Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "livekit/agents",
            "version": "livekit-agents@1.8.11",
            "released": "2026-11-05",
            "seenAt": "2026-11-06T23:40:37.132923032Z"
          },
          {
            "registry": "npm",
            "name": "@livekit/agents",
            "version": "1.9.5",
            "seenAt": "2026-11-06T23:40:36.914907666Z"
          },
          {
            "registry": "pypi",
            "name": "livekit-agents",
            "version": "1.8.11",
            "released": "2026-11-05",
            "seenAt": "2026-11-06T23:40:32.785005332Z"
          }
        ],
        "githubStars": 15117,
        "npmWeekly": 1270587,
        "pypiWeekly": 1236823,
        "securityTxt": {
          "url": "https://livekit.com/.well-known/security.txt",
          "state": "valid",
          "checkedAt": "2026-11-07T16:00:32.805462262Z"
        },
        "llmsTxt": {
          "url": "https://docs.livekit.io/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:53.083455332Z"
        },
        "domain": {
          "domain": "livekit.com",
          "registered": "2000-02-24",
          "source": "https://rdap.verisign.com/com/v1/domain/livekit.com",
          "checkedAt": "2026-11-01T14:09:57.960731673Z"
        },
        "pages": [
          {
            "url": "https://livekit.com/pricing.md",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-07T14:13:23.712103099Z",
            "changedAt": "2026-11-05T12:36:43.160261562Z",
            "fingerprint": "358457370932"
          },
          {
            "url": "https://livekit.com/legal/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:13:19.609646316Z",
            "changedAt": "2026-11-07T14:13:19.609646316Z",
            "fingerprint": "3f7df69ee098"
          },
          {
            "url": "https://livekit.com/legal/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:13:21.831542256Z",
            "changedAt": "2026-11-05T12:36:41.144304081Z",
            "fingerprint": "6e0fec9c8134"
          }
        ],
        "github": {
          "repo": "livekit/agents",
          "checkedAt": "2026-11-02T09:01:09.273469862Z",
          "stars": 15048,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-11-02T08:26:10Z",
          "openIssues": 250,
          "openPRs": 635,
          "issuesOpened90d": 274,
          "issuesClosed90d": 240,
          "prsMerged90d": 652,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 33,
            "failure": 17,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-11-02T08:27:09Z"
          },
          "advisories": [
            {
              "ghsa": "GHSA-q77r-q2p5-68vf",
              "severity": "medium",
              "published": "2026-08-21T22:37:22Z"
            }
          ],
          "replies": {
            "sampled": 25,
            "unanswered": 18,
            "medianDays": 1.8
          }
        },
        "updatedAt": "2026-11-07T19:22:19.80961947Z"
      }
    },
    "edges": [
      {
        "by": 21,
        "category": "schema",
        "leads": "livekit-agents",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "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.",
          "b": "Library reading. A typed Python package (`py.typed`, mypy in CI) with a Python and Node.js API reference on docs.livekit.io. The reference llms.txt link to the Python reference's Markdown still returns 404 on 1 November (22 of 25). llms.txt with section indexes, `.md` on every page, llms-full.txt and a docs MCP server (10). Pages say when to use a realtime model or a pipeline, when to choose `v1` or `v1-mini`, when to disallow interruptions and how to gate critical actions, and mark MCP as Python only (16 of 20). Function tools take their schema from typed signatures and docstrings, raw JSON Schema is accepted, and argument validation failures go back to the model as `ToolError` (13 of 15). 15 example folders in the repository after provider-specific examples were removed on 27 October, 39 recipes, and an events and error-handling reference (13 of 15). No changelog in the repository or docs, release notes only on GitHub, and the quickstart's `agent.py` still ends with `agents.cli.run_app(server)`, which the framework marks as deprecated, still so on 1 November (7 of 15)."
        },
        "scores": {
          "a": 60,
          "b": 81
        }
      },
      {
        "by": 20,
        "category": "payments",
        "leads": "livekit-agents",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "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.",
          "b": "No x402, MPP or L402 (0 of 40). Read with the rule for open-source software that has a paid hosted option. LiveKit Cloud publishes per-minute prices for agent sessions and recordings and per-unit prices for every LiveKit Inference model without a login (20). The Apache-2.0 packages install with no card, and LiveKit Cloud's Build plan is $0 with no card (20). The framework and a LiveKit server can both run self-hosted with no account or sign-up (20)."
        },
        "scores": {
          "a": 40,
          "b": 60
        }
      },
      {
        "by": 19,
        "category": "transparency",
        "leads": "livekit-agents",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "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.",
          "b": "Apache-2.0 for the framework and its 81 plugin packages. The turn-detector models are under LiveKit's proprietary model licence, and the core package now requires `livekit-local-inference`, installed from PyPI with its source outside the repository, which runs the local `v1-mini` model that the turn-detector docs place under the same model licence. The README calls the project \"Fully open-source\" and names the model licence in its licence section, and `MODEL_LICENSE` itself calls LiveKit Agents a proprietary framework (20 of 30). The terms, the observability docs and the pricing page agree on 30-day observability retention, zero data retention for LiveKit Inference and no training on customer data, and a DPA and sub-processor list are published. The privacy policy (15 October 2026) excludes data LiveKit processes for customers. The pricing page lists LiveKit Inference models from Fish Audio, Gradium and Speechmatics, which the sub-processor list of 10 September 2026 does not name (22 of 30). Deprecations are flagged in code and docs (`mcp_servers`, `cli.run_app`, the text turn-detector plugin), mostly without dates. One warning names 30 April 2026 for removing `api_version` and is still in 1.8.10 on 1 November, and 2.0.0b1 has no migration notes we could find (9 of 20). What reaches LiveKit is documented with opt-outs (`record`, `TurnDetector(version=\"v1-mini\")`), and the sub-processor list names each entity and country (17 of 20)."
        },
        "scores": {
          "a": 63,
          "b": 82
        }
      },
      {
        "by": 16,
        "category": "maintenance",
        "leads": "livekit-agents",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "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.",
          "b": "`livekit-agents` 1.8.10 tagged on 28 October 2026, after 1.8.9 on 23 October (30). 18 tagged releases in the 90 days to 1 November, from 1.6.8 on 3 August to 1.8.10, counted from the repository's tags since PyPI didn't answer from our shell on 1 November, and `@livekit/agents` 1.9.4 (24 October) and 1.9.5 (28 October) in livekit/agents-js (20). Issue and pull request reply times weren't read, because GitHub's pages answer 403, and the earlier figures, taken from a third-party copy of GitHub data, are struck. In the clone, 147 of the 200 newest commits (11 to 31 October) came from about 80 authors with addresses outside livekit.io, bots aside, and every one of the 200 landed as a numbered pull request. CODEOWNERS sends every change to the agent-devs team, a workflow requests that team's review on pull requests from the repository's own branches, and the issue form points questions to LiveKit's community forum, with a Slack linked from the README (15 of 25). Python 1.8.10 and Node.js 1.9.5 were both tagged on 28 October (15). Renovate, a uv lockfile that holds new dependencies back seven days, security bumps of aiohttp (22 October) and nltk (27 October), pinned actions and CI on every push, with the pass state unconfirmed (7 of 10). 30 + 20 + 15 + 15 + 7 = 87."
        },
        "scores": {
          "a": 71,
          "b": 87
        }
      },
      {
        "by": 12,
        "category": "ergonomics",
        "leads": "livekit-agents",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "Scored as an API. Conversation history defaults to the last 100 items, can be trimmed, and can be cached on Anthropic models, and every `response.done` carries a `usage` block (18 of 25). No lists to page. Output controls are modalities, turn detection settings, optional transcription and `response.speak` (12 of 20). Error events follow OpenAI's `type` and `code` shape, unsupported fields come back as non-fatal `unsupported_field` warnings, and `item_not_found` names the bad parameter (14 of 20). Tools run on the client and a follow-up response starts automatically after a tool result. Nothing covers side effects of a tool call cut off by an interruption (12 of 20). Works with OpenAI Realtime clients after changing the URL and key, with no Inworld Realtime SDK (12 of 15). Total 68.",
          "b": "Framework reading. An MCP server is about ten lines with `mcp.MCPToolset`, with `allowed_tools`, `filter_tools()` and a `tool_result_resolver` to trim results before they reach the model, but Python only (20 of 25). Tools can be added, removed or replaced per agent and per state, flags such as `IGNORE_ON_ENTER` hide a tool at the greeting, and handoffs swap the active toolset (16 of 20). `ToolError` returns a message the model can act on, invalid arguments come back as a `ToolError` naming the tool, and by default a session closes only after more than three unrecoverable STT, LLM or TTS errors of one kind (17 of 20). Interrupted tools finish in the background and keep their result in history, `disallow_interruptions()` protects tools that write, and `on_duplicate` can reject, replace or confirm a second call. Duplicates are matched by tool name only, and there are no idempotency keys (14 of 20). `AgentSession` supplies VAD and a turn detector by default and LiveKit Inference takes model strings with one key, in Python and Node.js, but every agent needs a LiveKit server and three environment variables (13 of 15)."
        },
        "scores": {
          "a": 68,
          "b": 80
        }
      },
      {
        "by": 5,
        "category": "reliability",
        "leads": "livekit-agents",
        "name": "Reliability",
        "reasons": {
          "a": "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.",
          "b": "Graded as a framework with the local-software lines, since LiveKit Cloud is optional and not graded. Official packages on PyPI (Python 3.10 to 3.14 declared) and npm (Node.js 20 or later per the docs) (20). Public workflows run on every push to main and on pull requests. Unit tests on Linux with Python 3.12 over 310 test files on 1 November, ruff, and mypy on Python 3.10 and 3.13, with a small blockguard suite on Linux, macOS and Windows. GitHub's pages and API weren't readable from our session, so a passing main is not confirmed (15 of 25). Open issues and reply times weren't read, because GitHub's pages answer 403, and the earlier issue figures, taken from a third-party copy of GitHub data, are struck. In a clone of main, the 200 newest commits run from 11 to 31 October 2026 and 104 of them are fixes, among them an Inference STT socket that hung when silently dropped (#8023) and an avatar plugin's error handler that crashed (#7498). None names the issue it closes and there is no changelog, so whether reported crashes and regressions get handled can't be seen (10 of 25). No CHANGELOG file. Release notes are on GitHub, which we couldn't read, and the repository's release-notes script asks for Breaking changes and Security sections. Migration guides exist for 0.x to 1.0, AGENTS.md makes patch bumps the default, and 2.0.0b1 was tagged on 12 October and the docs' migration guides still stop at Python 0.x to 1.0 and Node.js 1.x to 1.5 on 1 November (7 of 15). 1.8.10, stable since 1.0 (15)."
        },
        "scores": {
          "a": 62,
          "b": 67
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "Agent framework",
        "name": "Kind"
      },
      {
        "a": "Inworld AI",
        "b": "LiveKit Incorporated",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "websocket, HTTP",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "$25 per 1M characters",
        "b": "$0.005 per minute of audio",
        "name": "Price for voice agents"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "none",
        "b": "Apache-2.0 for the framework and plugins. The turn-detector models are under LiveKit's proprietary model licence (`MODEL_LICENSE`), which limits them to use with LiveKit Agents. LiveKit Cloud and LiveKit Inference are closed services under LiveKit's terms",
        "name": "Licence"
      },
      {
        "a": "0",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-16",
        "b": "2026-10-28",
        "name": "Last release"
      },
      {
        "a": "2025-06-11",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2026-01-18",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "820k npm/wk, 1.1M PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3/5 (4)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "LiveKit Agents scores 72.7 (BB) on agent readiness against Inworld Realtime API's 60.1 (C), and leads in every scored category.",
        "question": "Which is better for AI agents, Inworld Realtime API or LiveKit Agents?"
      },
      {
        "answer": "No hosted endpoint is listed for Inworld Realtime API. No hosted endpoint is listed for LiveKit Agents.",
        "question": "Can an agent call Inworld Realtime API and LiveKit Agents without installing anything?"
      },
      {
        "answer": "No open-source release is listed for Inworld Realtime API. LiveKit Agents is open source (Apache-2.0 for the framework and plugins. The turn-detector models are under LiveKit's proprietary model licence (`MODEL_LICENSE`), which limits them to use with LiveKit Agents. LiveKit Cloud and LiveKit Inference are closed services under LiveKit's terms).",
        "question": "Are Inworld Realtime API and LiveKit Agents open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "Teams moving off OpenAI's Realtime API who want a choice of LLM and Inworld voices.",
        "slug": "inworld-realtime",
        "watchFor": "No per-minute price. A session's cost depends on STT, LLM tokens and TTS characters, and interrupted segments are still billed"
      },
      {
        "aheadOn": [
          "Reliability, 67 against 62",
          "Schema \u0026 documentation, 81 against 60",
          "Agent ergonomics, 80 against 68",
          "Payments \u0026 pricing, 60 against 40",
          "Maintenance \u0026 community, 87 against 71",
          "Transparency \u0026 trust, 82 against 63"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "Free to start without a card",
          "Open source"
        ],
        "goodFor": "Teams writing their own voice agents in Python or Node.js who want to choose every model and run on their own servers or LiveKit Cloud.",
        "slug": "livekit-agents",
        "watchFor": "The turn-detector models are under a proprietary licence that forbids use outside LiveKit Agents and training other models on their output"
      }
    ],
    "history": {
      "inworld-realtime": null,
      "livekit-agents": [
        {
          "causes": [
            "correction"
          ],
          "date": "2026-11-01",
          "delta": 0.2,
          "from": 72.5,
          "fromGrade": "BB",
          "to": 72.7,
          "toGrade": "BB"
        }
      ]
    },
    "job": {
      "capability": "voice.agent",
      "name": "Voice agents"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/amazon-nova-sonic-vs-inworld-realtime.json",
        "title": "Amazon Nova 2 Sonic vs Inworld Realtime API",
        "url": "https://www.anchorterminal.com/compare/amazon-nova-sonic-vs-inworld-realtime"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-nova-sonic-vs-livekit-agents.json",
        "title": "Amazon Nova 2 Sonic vs LiveKit Agents",
        "url": "https://www.anchorterminal.com/compare/amazon-nova-sonic-vs-livekit-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-inworld-realtime.json",
        "title": "AssemblyAI Voice Agent API vs Inworld Realtime API",
        "url": "https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-inworld-realtime"
      },
      {
        "json": "https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-livekit-agents.json",
        "title": "AssemblyAI Voice Agent API vs LiveKit Agents",
        "url": "https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-livekit-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bland-ai-vs-inworld-realtime.json",
        "title": "Bland AI API + MCP vs Inworld Realtime API",
        "url": "https://www.anchorterminal.com/compare/bland-ai-vs-inworld-realtime"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bland-ai-vs-livekit-agents.json",
        "title": "Bland AI API + MCP vs LiveKit Agents",
        "url": "https://www.anchorterminal.com/compare/bland-ai-vs-livekit-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bolna-vs-inworld-realtime.json",
        "title": "Bolna API + MCP vs Inworld Realtime API",
        "url": "https://www.anchorterminal.com/compare/bolna-vs-inworld-realtime"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bolna-vs-livekit-agents.json",
        "title": "Bolna API + MCP vs LiveKit Agents",
        "url": "https://www.anchorterminal.com/compare/bolna-vs-livekit-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepgram-voice-agent-vs-inworld-realtime.json",
        "title": "Deepgram Voice Agent API vs Inworld Realtime API",
        "url": "https://www.anchorterminal.com/compare/deepgram-voice-agent-vs-inworld-realtime"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepgram-voice-agent-vs-livekit-agents.json",
        "title": "Deepgram Voice Agent API vs LiveKit Agents",
        "url": "https://www.anchorterminal.com/compare/deepgram-voice-agent-vs-livekit-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elevenlabs-agents-vs-inworld-realtime.json",
        "title": "ElevenLabs Agents API + MCP vs Inworld Realtime API",
        "url": "https://www.anchorterminal.com/compare/elevenlabs-agents-vs-inworld-realtime"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elevenlabs-agents-vs-livekit-agents.json",
        "title": "ElevenLabs Agents API + MCP vs LiveKit Agents",
        "url": "https://www.anchorterminal.com/compare/elevenlabs-agents-vs-livekit-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fone-me-vs-inworld-realtime.json",
        "title": "fone.me vs Inworld Realtime API",
        "url": "https://www.anchorterminal.com/compare/fone-me-vs-inworld-realtime"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fone-me-vs-livekit-agents.json",
        "title": "fone.me vs LiveKit Agents",
        "url": "https://www.anchorterminal.com/compare/fone-me-vs-livekit-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-live-vs-inworld-realtime.json",
        "title": "Gemini Live API vs Inworld Realtime API",
        "url": "https://www.anchorterminal.com/compare/gemini-live-vs-inworld-realtime"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-live-vs-livekit-agents.json",
        "title": "Gemini Live API vs LiveKit Agents",
        "url": "https://www.anchorterminal.com/compare/gemini-live-vs-livekit-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gpt-live-vs-inworld-realtime.json",
        "title": "GPT-Live vs Inworld Realtime API",
        "url": "https://www.anchorterminal.com/compare/gpt-live-vs-inworld-realtime"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harmony-ai-vs-inworld-realtime.json",
        "title": "Harmony.ai vs Inworld Realtime API",
        "url": "https://www.anchorterminal.com/compare/harmony-ai-vs-inworld-realtime"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harmony-ai-vs-livekit-agents.json",
        "title": "Harmony.ai vs LiveKit Agents",
        "url": "https://www.anchorterminal.com/compare/harmony-ai-vs-livekit-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hume-evi-vs-inworld-realtime.json",
        "title": "Hume EVI (Empathic Voice Interface) vs Inworld Realtime API",
        "url": "https://www.anchorterminal.com/compare/hume-evi-vs-inworld-realtime"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hume-evi-vs-livekit-agents.json",
        "title": "Hume EVI (Empathic Voice Interface) vs LiveKit Agents",
        "url": "https://www.anchorterminal.com/compare/hume-evi-vs-livekit-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inworld-realtime-vs-openai-realtime.json",
        "title": "Inworld Realtime API vs OpenAI Realtime API",
        "url": "https://www.anchorterminal.com/compare/inworld-realtime-vs-openai-realtime"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inworld-realtime-vs-pipecat.json",
        "title": "Inworld Realtime API vs Pipecat",
        "url": "https://www.anchorterminal.com/compare/inworld-realtime-vs-pipecat"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inworld-realtime-vs-placecall.json",
        "title": "Inworld Realtime API vs PlaceCall",
        "url": "https://www.anchorterminal.com/compare/inworld-realtime-vs-placecall"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inworld-realtime-vs-retell-ai.json",
        "title": "Inworld Realtime API vs Retell AI API + MCP",
        "url": "https://www.anchorterminal.com/compare/inworld-realtime-vs-retell-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inworld-realtime-vs-rime-prism.json",
        "title": "Inworld Realtime API vs Rime Prism",
        "url": "https://www.anchorterminal.com/compare/inworld-realtime-vs-rime-prism"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inworld-realtime-vs-synthflow.json",
        "title": "Inworld Realtime API vs Synthflow API + MCP",
        "url": "https://www.anchorterminal.com/compare/inworld-realtime-vs-synthflow"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inworld-realtime-vs-ultravox.json",
        "title": "Inworld Realtime API vs Ultravox Realtime API",
        "url": "https://www.anchorterminal.com/compare/inworld-realtime-vs-ultravox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inworld-realtime-vs-vaani-voice.json",
        "title": "Inworld Realtime API vs Vaani Developer Platform",
        "url": "https://www.anchorterminal.com/compare/inworld-realtime-vs-vaani-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inworld-realtime-vs-vapi.json",
        "title": "Inworld Realtime API vs Vapi API + MCP",
        "url": "https://www.anchorterminal.com/compare/inworld-realtime-vs-vapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inworld-realtime-vs-vocily.json",
        "title": "Inworld Realtime API vs Vocily AI",
        "url": "https://www.anchorterminal.com/compare/inworld-realtime-vs-vocily"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inworld-realtime-vs-vogent.json",
        "title": "Inworld Realtime API vs Vogent API",
        "url": "https://www.anchorterminal.com/compare/inworld-realtime-vs-vogent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/livekit-agents-vs-openai-realtime.json",
        "title": "LiveKit Agents vs OpenAI Realtime API",
        "url": "https://www.anchorterminal.com/compare/livekit-agents-vs-openai-realtime"
      },
      {
        "json": "https://www.anchorterminal.com/compare/livekit-agents-vs-pipecat.json",
        "title": "LiveKit Agents vs Pipecat",
        "url": "https://www.anchorterminal.com/compare/livekit-agents-vs-pipecat"
      },
      {
        "json": "https://www.anchorterminal.com/compare/livekit-agents-vs-placecall.json",
        "title": "LiveKit Agents vs PlaceCall",
        "url": "https://www.anchorterminal.com/compare/livekit-agents-vs-placecall"
      },
      {
        "json": "https://www.anchorterminal.com/compare/livekit-agents-vs-retell-ai.json",
        "title": "LiveKit Agents vs Retell AI API + MCP",
        "url": "https://www.anchorterminal.com/compare/livekit-agents-vs-retell-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/livekit-agents-vs-rime-prism.json",
        "title": "LiveKit Agents vs Rime Prism",
        "url": "https://www.anchorterminal.com/compare/livekit-agents-vs-rime-prism"
      },
      {
        "json": "https://www.anchorterminal.com/compare/livekit-agents-vs-synthflow.json",
        "title": "LiveKit Agents vs Synthflow API + MCP",
        "url": "https://www.anchorterminal.com/compare/livekit-agents-vs-synthflow"
      },
      {
        "json": "https://www.anchorterminal.com/compare/livekit-agents-vs-ultravox.json",
        "title": "LiveKit Agents vs Ultravox Realtime API",
        "url": "https://www.anchorterminal.com/compare/livekit-agents-vs-ultravox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/livekit-agents-vs-vaani-voice.json",
        "title": "LiveKit Agents vs Vaani Developer Platform",
        "url": "https://www.anchorterminal.com/compare/livekit-agents-vs-vaani-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/livekit-agents-vs-vapi.json",
        "title": "LiveKit Agents vs Vapi API + MCP",
        "url": "https://www.anchorterminal.com/compare/livekit-agents-vs-vapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/livekit-agents-vs-vocily.json",
        "title": "LiveKit Agents vs Vocily AI",
        "url": "https://www.anchorterminal.com/compare/livekit-agents-vs-vocily"
      },
      {
        "json": "https://www.anchorterminal.com/compare/livekit-agents-vs-vogent.json",
        "title": "LiveKit Agents vs Vogent API",
        "url": "https://www.anchorterminal.com/compare/livekit-agents-vs-vogent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cuelight-vs-inworld-realtime.json",
        "title": "CueLight vs Inworld Realtime API",
        "url": "https://www.anchorterminal.com/compare/cuelight-vs-inworld-realtime"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cuelight-vs-livekit-agents.json",
        "title": "CueLight vs LiveKit Agents",
        "url": "https://www.anchorterminal.com/compare/cuelight-vs-livekit-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inworld-realtime-vs-pipecat-phonellm.json",
        "title": "Inworld Realtime API vs Pipecat PhoneLLM",
        "url": "https://www.anchorterminal.com/compare/inworld-realtime-vs-pipecat-phonellm"
      },
      {
        "json": "https://www.anchorterminal.com/compare/livekit-agents-vs-pipecat-phonellm.json",
        "title": "LiveKit Agents vs Pipecat PhoneLLM",
        "url": "https://www.anchorterminal.com/compare/livekit-agents-vs-pipecat-phonellm"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gpt-live-vs-livekit-agents.json",
        "title": "GPT-Live vs LiveKit Agents",
        "url": "https://www.anchorterminal.com/compare/gpt-live-vs-livekit-agents"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 5,
        "edge": "livekit-agents",
        "inworld-realtime": 62,
        "key": "reliability",
        "livekit-agents": 67,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 21,
        "edge": "livekit-agents",
        "inworld-realtime": 60,
        "key": "schema",
        "livekit-agents": 81,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 12,
        "edge": "livekit-agents",
        "inworld-realtime": 68,
        "key": "ergonomics",
        "livekit-agents": 80,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 4,
        "edge": "livekit-agents",
        "inworld-realtime": 58,
        "key": "security",
        "livekit-agents": 62,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 20,
        "edge": "livekit-agents",
        "inworld-realtime": 40,
        "key": "payments",
        "livekit-agents": 60,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 16,
        "edge": "livekit-agents",
        "inworld-realtime": 71,
        "key": "maintenance",
        "livekit-agents": 87,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 19,
        "edge": "livekit-agents",
        "inworld-realtime": 63,
        "key": "transparency",
        "livekit-agents": 82,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "LiveKit Agents scores 72.7 (BB) on agent readiness against Inworld Realtime API's 60.1 (C), and leads in every scored category. Both do voice agents.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "inworld-realtime": "Inworld's Realtime API speaks OpenAI's Realtime protocol over WebSocket or WebRTC, with a choice of LLM, client-side tools and dated release notes. Cost is the sum of STT, LLM and TTS usage with no per-minute price, there is no machine-readable event schema, and status history couldn't be read.",
      "livekit-agents": "An Apache-2.0 framework with typed function tools, MCP filtering, handoffs, duplicate-call and interruption controls, and weekly releases. It needs a LiveKit server, and the default turn detector's models are under a proprietary licence limited to this framework. No approval primitive or prompt-injection guidance was found."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/inworld-realtime-vs-livekit-agents",
    "json": "https://www.anchorterminal.com/compare/inworld-realtime-vs-livekit-agents.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/inworld-realtime-vs-livekit-agents.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/inworld-realtime-vs-livekit-agents.min.md"
  },
  "markdown": "LiveKit Agents scores 72.7 (BB) on agent readiness against Inworld Realtime API's 60.1 (C), and leads in every scored category. Both do voice agents.\n\n- Inworld Realtime API: grade C, 60.1/100, rank #671 of 1510. Markdown https://www.anchorterminal.com/tools/inworld-realtime.md · JSON https://www.anchorterminal.com/api/v1/tools/inworld-realtime.json\n- LiveKit Agents: grade BB, 72.7/100, rank #120 of 1510. Markdown https://www.anchorterminal.com/tools/livekit-agents.md · JSON https://www.anchorterminal.com/api/v1/tools/livekit-agents.json\n- Best conversational voice-agent APIs: https://www.anchorterminal.com/best/voice-agents/index.md\n- All 518 voice agents comparisons: https://www.anchorterminal.com/compare/voice-agents/index.md\n\n## Which one, for what\n\n### Inworld Realtime API (C)\n\nGood for: Teams moving off OpenAI's Realtime API who want a choice of LLM and Inworld voices.\n\nWatch for: No per-minute price. A session's cost depends on STT, LLM tokens and TTS characters, and interrupted segments are still billed\n\n### LiveKit Agents (BB)\n\nGood for: Teams writing their own voice agents in Python or Node.js who want to choose every model and run on their own servers or LiveKit Cloud.\n\nAhead on:\n- Reliability, 67 against 62\n- Schema \u0026 documentation, 81 against 60\n- Agent ergonomics, 80 against 68\n- Payments \u0026 pricing, 60 against 40\n- Maintenance \u0026 community, 87 against 71\n- Transparency \u0026 trust, 82 against 63\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- Free to start without a card\n- Open source\n\nWatch for: The turn-detector models are under a proprietary licence that forbids use outside LiveKit Agents and training other models on their output\n\n\n## Why the edge\n\n### Schema \u0026 documentation: LiveKit Agents +21\n\n- 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.\n- LiveKit Agents (81): Library reading. A typed Python package (`py.typed`, mypy in CI) with a Python and Node.js API reference on docs.livekit.io. The reference llms.txt link to the Python reference's Markdown still returns 404 on 1 November (22 of 25). llms.txt with section indexes, `.md` on every page, llms-full.txt and a docs MCP server (10). Pages say when to use a realtime model or a pipeline, when to choose `v1` or `v1-mini`, when to disallow interruptions and how to gate critical actions, and mark MCP as Python only (16 of 20). Function tools take their schema from typed signatures and docstrings, raw JSON Schema is accepted, and argument validation failures go back to the model as `ToolError` (13 of 15). 15 example folders in the repository after provider-specific examples were removed on 27 October, 39 recipes, and an events and error-handling reference (13 of 15). No changelog in the repository or docs, release notes only on GitHub, and the quickstart's `agent.py` still ends with `agents.cli.run_app(server)`, which the framework marks as deprecated, still so on 1 November (7 of 15).\n\n### Payments \u0026 pricing: LiveKit Agents +20\n\n- 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.\n- LiveKit Agents (60): No x402, MPP or L402 (0 of 40). Read with the rule for open-source software that has a paid hosted option. LiveKit Cloud publishes per-minute prices for agent sessions and recordings and per-unit prices for every LiveKit Inference model without a login (20). The Apache-2.0 packages install with no card, and LiveKit Cloud's Build plan is $0 with no card (20). The framework and a LiveKit server can both run self-hosted with no account or sign-up (20).\n\n### Transparency \u0026 trust: LiveKit Agents +19\n\n- 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.\n- LiveKit Agents (82): Apache-2.0 for the framework and its 81 plugin packages. The turn-detector models are under LiveKit's proprietary model licence, and the core package now requires `livekit-local-inference`, installed from PyPI with its source outside the repository, which runs the local `v1-mini` model that the turn-detector docs place under the same model licence. The README calls the project \"Fully open-source\" and names the model licence in its licence section, and `MODEL_LICENSE` itself calls LiveKit Agents a proprietary framework (20 of 30). The terms, the observability docs and the pricing page agree on 30-day observability retention, zero data retention for LiveKit Inference and no training on customer data, and a DPA and sub-processor list are published. The privacy policy (15 October 2026) excludes data LiveKit processes for customers. The pricing page lists LiveKit Inference models from Fish Audio, Gradium and Speechmatics, which the sub-processor list of 10 September 2026 does not name (22 of 30). Deprecations are flagged in code and docs (`mcp_servers`, `cli.run_app`, the text turn-detector plugin), mostly without dates. One warning names 30 April 2026 for removing `api_version` and is still in 1.8.10 on 1 November, and 2.0.0b1 has no migration notes we could find (9 of 20). What reaches LiveKit is documented with opt-outs (`record`, `TurnDetector(version=\"v1-mini\")`), and the sub-processor list names each entity and country (17 of 20).\n\n### Maintenance \u0026 community: LiveKit Agents +16\n\n- 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.\n- LiveKit Agents (87): `livekit-agents` 1.8.10 tagged on 28 October 2026, after 1.8.9 on 23 October (30). 18 tagged releases in the 90 days to 1 November, from 1.6.8 on 3 August to 1.8.10, counted from the repository's tags since PyPI didn't answer from our shell on 1 November, and `@livekit/agents` 1.9.4 (24 October) and 1.9.5 (28 October) in livekit/agents-js (20). Issue and pull request reply times weren't read, because GitHub's pages answer 403, and the earlier figures, taken from a third-party copy of GitHub data, are struck. In the clone, 147 of the 200 newest commits (11 to 31 October) came from about 80 authors with addresses outside livekit.io, bots aside, and every one of the 200 landed as a numbered pull request. CODEOWNERS sends every change to the agent-devs team, a workflow requests that team's review on pull requests from the repository's own branches, and the issue form points questions to LiveKit's community forum, with a Slack linked from the README (15 of 25). Python 1.8.10 and Node.js 1.9.5 were both tagged on 28 October (15). Renovate, a uv lockfile that holds new dependencies back seven days, security bumps of aiohttp (22 October) and nltk (27 October), pinned actions and CI on every push, with the pass state unconfirmed (7 of 10). 30 + 20 + 15 + 15 + 7 = 87.\n\n### Agent ergonomics: LiveKit Agents +12\n\n- Inworld Realtime API (68): Scored as an API. Conversation history defaults to the last 100 items, can be trimmed, and can be cached on Anthropic models, and every `response.done` carries a `usage` block (18 of 25). No lists to page. Output controls are modalities, turn detection settings, optional transcription and `response.speak` (12 of 20). Error events follow OpenAI's `type` and `code` shape, unsupported fields come back as non-fatal `unsupported_field` warnings, and `item_not_found` names the bad parameter (14 of 20). Tools run on the client and a follow-up response starts automatically after a tool result. Nothing covers side effects of a tool call cut off by an interruption (12 of 20). Works with OpenAI Realtime clients after changing the URL and key, with no Inworld Realtime SDK (12 of 15). Total 68.\n- LiveKit Agents (80): Framework reading. An MCP server is about ten lines with `mcp.MCPToolset`, with `allowed_tools`, `filter_tools()` and a `tool_result_resolver` to trim results before they reach the model, but Python only (20 of 25). Tools can be added, removed or replaced per agent and per state, flags such as `IGNORE_ON_ENTER` hide a tool at the greeting, and handoffs swap the active toolset (16 of 20). `ToolError` returns a message the model can act on, invalid arguments come back as a `ToolError` naming the tool, and by default a session closes only after more than three unrecoverable STT, LLM or TTS errors of one kind (17 of 20). Interrupted tools finish in the background and keep their result in history, `disallow_interruptions()` protects tools that write, and `on_duplicate` can reject, replace or confirm a second call. Duplicates are matched by tool name only, and there are no idempotency keys (14 of 20). `AgentSession` supplies VAD and a turn detector by default and LiveKit Inference takes model strings with one key, in Python and Node.js, but every agent needs a LiveKit server and three environment variables (13 of 15).\n\n### Reliability: LiveKit Agents +5\n\n- 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.\n- LiveKit Agents (67): Graded as a framework with the local-software lines, since LiveKit Cloud is optional and not graded. Official packages on PyPI (Python 3.10 to 3.14 declared) and npm (Node.js 20 or later per the docs) (20). Public workflows run on every push to main and on pull requests. Unit tests on Linux with Python 3.12 over 310 test files on 1 November, ruff, and mypy on Python 3.10 and 3.13, with a small blockguard suite on Linux, macOS and Windows. GitHub's pages and API weren't readable from our session, so a passing main is not confirmed (15 of 25). Open issues and reply times weren't read, because GitHub's pages answer 403, and the earlier issue figures, taken from a third-party copy of GitHub data, are struck. In a clone of main, the 200 newest commits run from 11 to 31 October 2026 and 104 of them are fixes, among them an Inference STT socket that hung when silently dropped (#8023) and an avatar plugin's error handler that crashed (#7498). None names the issue it closes and there is no changelog, so whether reported crashes and regressions get handled can't be seen (10 of 25). No CHANGELOG file. Release notes are on GitHub, which we couldn't read, and the repository's release-notes script asks for Breaking changes and Security sections. Migration guides exist for 0.x to 1.0, AGENTS.md makes patch bumps the default, and 2.0.0b1 was tagged on 12 October and the docs' migration guides still stop at Python 0.x to 1.0 and Node.js 1.x to 1.5 on 1 November (7 of 15). 1.8.10, stable since 1.0 (15).\n\n## Score by category\n\n| Category | Weight | Inworld Realtime API | LiveKit Agents | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 62 | 67 | LiveKit Agents +5 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 60 | 81 | LiveKit Agents +21 |\n| Agent ergonomics | 13% (16.2 this run) | 68 | 80 | LiveKit Agents +12 |\n| Security \u0026 auth | 14% (17.5 this run) | 58 | 62 | LiveKit Agents +4 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 60 | LiveKit Agents +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 71 | 87 | LiveKit Agents +16 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 63 | 82 | LiveKit Agents +19 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **60.1 · C** | **72.7 · BB** | |\n\n## Facts side by side\n\n| Fact | Inworld Realtime API | LiveKit Agents |\n| --- | --- | --- |\n| Kind | HTTP API | Agent framework |\n| Vendor | Inworld AI | LiveKit Incorporated |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports | websocket, HTTP |  |\n| Auth | API key | API key |\n| Pricing | Pay per use | Free |\n| Price for voice agents | $25 per 1M characters | $0.005 per minute of audio |\n| x402 | no | no |\n| Licence | none | Apache-2.0 for the framework and plugins. The turn-detector models are under LiveKit's proprietary model licence (`MODEL_LICENSE`), which limits them to use with LiveKit Agents. LiveKit Cloud and LiveKit Inference are closed services under LiveKit's terms |\n| Tools exposed | 0 | none |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-16 | 2026-10-28 |\n| Terms last updated | 2025-06-11 | no date given |\n| Privacy policy last updated | 2026-01-18 | no date given |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | not found in the text | yes |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | not found in the text | yes |\n| Popularity | none | 820k npm/wk, 1.1M PyPI/wk |\n| Agent reviews | none | 3/5 (4) |\n\n## How the scores have moved\n\n### Inworld Realtime API\n\nNo score change since it was listed.\n\n### LiveKit Agents\n\n- +0.2 on 1 November 2026: correction\n\n## Verdicts\n\n**Inworld Realtime API.** Inworld's Realtime API speaks OpenAI's Realtime protocol over WebSocket or WebRTC, with a choice of LLM, client-side tools and dated release notes. Cost is the sum of STT, LLM and TTS usage with no per-minute price, there is no machine-readable event schema, and status history couldn't be read.\n\n**LiveKit Agents.** An Apache-2.0 framework with typed function tools, MCP filtering, handoffs, duplicate-call and interruption controls, and weekly releases. It needs a LiveKit server, and the default turn detector's models are under a proprietary licence limited to this framework. No approval primitive or prompt-injection guidance was found.\n\n## Before you call either\n\n### Inworld Realtime API\n\n1. Set the auto follow-up off if your client sends its own `response.create` after a tool result, or replies double\n2. Read `response.done` usage as an estimate and mute input audio when nobody speaks, since STT bills every second sent\n3. Use `response.speak` for fixed greetings, which skips the LLM\n4. Treat `unsupported_field` errors as warnings and keep the session open\n5. Mint browser session tokens on your server and never ship the Basic credential to a client\n\n### LiveKit Agents\n\n1. Set `LIVEKIT_URL`, `LIVEKIT_API_KEY` and `LIVEKIT_API_SECRET` before starting. Every agent joins a LiveKit room, on LiveKit Cloud or a self-hosted server\n2. Pass `inference.TurnDetector(version=\"v1-mini\")` to keep turn detection local, and read `MODEL_LICENSE` before using LiveKit's turn models anywhere but LiveKit Agents\n3. Pass `record=False`, or a dict per category, to `session.start()` if audio, transcripts, traces and logs must not reach LiveKit Cloud\n4. Call `context.disallow_interruptions()` first in tools that write, and set `on_duplicate=\"reject\"` or `\"confirm\"`. Duplicates are matched by tool name only, not arguments\n5. Wrap MCP servers in `mcp.MCPToolset` with `allowed_tools` (Python only). The `mcp_servers` parameter is deprecated\n\n## Questions\n\n### Which is better for AI agents, Inworld Realtime API or LiveKit Agents?\n\nLiveKit Agents scores 72.7 (BB) on agent readiness against Inworld Realtime API's 60.1 (C), and leads in every scored category.\n\n### Can an agent call Inworld Realtime API and LiveKit Agents without installing anything?\n\nNo hosted endpoint is listed for Inworld Realtime API. No hosted endpoint is listed for LiveKit Agents.\n\n### Are Inworld Realtime API and LiveKit Agents open source?\n\nNo open-source release is listed for Inworld Realtime API. LiveKit Agents is open source (Apache-2.0 for the framework and plugins. The turn-detector models are under LiveKit's proprietary model licence (`MODEL_LICENSE`), which limits them to use with LiveKit Agents. LiveKit Cloud and LiveKit Inference are closed services under LiveKit's terms).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/inworld-realtime-vs-livekit-agents.json, and with the fewest tokens: https://www.anchorterminal.com/compare/inworld-realtime-vs-livekit-agents.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"inworld-realtime\", \"b\": \"livekit-agents\"}`. From a terminal: `anchor compare inworld-realtime livekit-agents`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/inworld-realtime.json and https://www.anchorterminal.com/api/v1/tools/livekit-agents.json\n\n## Other comparisons with Inworld Realtime API or LiveKit Agents\n\n- [Amazon Nova 2 Sonic vs Inworld Realtime API](https://www.anchorterminal.com/compare/amazon-nova-sonic-vs-inworld-realtime.md)\n- [Amazon Nova 2 Sonic vs LiveKit Agents](https://www.anchorterminal.com/compare/amazon-nova-sonic-vs-livekit-agents.md)\n- [AssemblyAI Voice Agent API vs Inworld Realtime API](https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-inworld-realtime.md)\n- [AssemblyAI Voice Agent API vs LiveKit Agents](https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-livekit-agents.md)\n- [Bland AI API + MCP vs Inworld Realtime API](https://www.anchorterminal.com/compare/bland-ai-vs-inworld-realtime.md)\n- [Bland AI API + MCP vs LiveKit Agents](https://www.anchorterminal.com/compare/bland-ai-vs-livekit-agents.md)\n- [Bolna API + MCP vs Inworld Realtime API](https://www.anchorterminal.com/compare/bolna-vs-inworld-realtime.md)\n- [Bolna API + MCP vs LiveKit Agents](https://www.anchorterminal.com/compare/bolna-vs-livekit-agents.md)\n- [Deepgram Voice Agent API vs Inworld Realtime API](https://www.anchorterminal.com/compare/deepgram-voice-agent-vs-inworld-realtime.md)\n- [Deepgram Voice Agent API vs LiveKit Agents](https://www.anchorterminal.com/compare/deepgram-voice-agent-vs-livekit-agents.md)\n- [ElevenLabs Agents API + MCP vs Inworld Realtime API](https://www.anchorterminal.com/compare/elevenlabs-agents-vs-inworld-realtime.md)\n- [ElevenLabs Agents API + MCP vs LiveKit Agents](https://www.anchorterminal.com/compare/elevenlabs-agents-vs-livekit-agents.md)\n- [fone.me vs Inworld Realtime API](https://www.anchorterminal.com/compare/fone-me-vs-inworld-realtime.md)\n- [fone.me vs LiveKit Agents](https://www.anchorterminal.com/compare/fone-me-vs-livekit-agents.md)\n- [Gemini Live API vs Inworld Realtime API](https://www.anchorterminal.com/compare/gemini-live-vs-inworld-realtime.md)\n- [Gemini Live API vs LiveKit Agents](https://www.anchorterminal.com/compare/gemini-live-vs-livekit-agents.md)\n- [GPT-Live vs Inworld Realtime API](https://www.anchorterminal.com/compare/gpt-live-vs-inworld-realtime.md)\n- [Harmony.ai vs Inworld Realtime API](https://www.anchorterminal.com/compare/harmony-ai-vs-inworld-realtime.md)\n- [Harmony.ai vs LiveKit Agents](https://www.anchorterminal.com/compare/harmony-ai-vs-livekit-agents.md)\n- [Hume EVI (Empathic Voice Interface) vs Inworld Realtime API](https://www.anchorterminal.com/compare/hume-evi-vs-inworld-realtime.md)\n- [Hume EVI (Empathic Voice Interface) vs LiveKit Agents](https://www.anchorterminal.com/compare/hume-evi-vs-livekit-agents.md)\n- [Inworld Realtime API vs OpenAI Realtime API](https://www.anchorterminal.com/compare/inworld-realtime-vs-openai-realtime.md)\n- [Inworld Realtime API vs Pipecat](https://www.anchorterminal.com/compare/inworld-realtime-vs-pipecat.md)\n- [Inworld Realtime API vs PlaceCall](https://www.anchorterminal.com/compare/inworld-realtime-vs-placecall.md)\n- [Inworld Realtime API vs Retell AI API + MCP](https://www.anchorterminal.com/compare/inworld-realtime-vs-retell-ai.md)\n- [Inworld Realtime API vs Rime Prism](https://www.anchorterminal.com/compare/inworld-realtime-vs-rime-prism.md)\n- [Inworld Realtime API vs Synthflow API + MCP](https://www.anchorterminal.com/compare/inworld-realtime-vs-synthflow.md)\n- [Inworld Realtime API vs Ultravox Realtime API](https://www.anchorterminal.com/compare/inworld-realtime-vs-ultravox.md)\n- [Inworld Realtime API vs Vaani Developer Platform](https://www.anchorterminal.com/compare/inworld-realtime-vs-vaani-voice.md)\n- [Inworld Realtime API vs Vapi API + MCP](https://www.anchorterminal.com/compare/inworld-realtime-vs-vapi.md)\n- [Inworld Realtime API vs Vocily AI](https://www.anchorterminal.com/compare/inworld-realtime-vs-vocily.md)\n- [Inworld Realtime API vs Vogent API](https://www.anchorterminal.com/compare/inworld-realtime-vs-vogent.md)\n- [LiveKit Agents vs OpenAI Realtime API](https://www.anchorterminal.com/compare/livekit-agents-vs-openai-realtime.md)\n- [LiveKit Agents vs Pipecat](https://www.anchorterminal.com/compare/livekit-agents-vs-pipecat.md)\n- [LiveKit Agents vs PlaceCall](https://www.anchorterminal.com/compare/livekit-agents-vs-placecall.md)\n- [LiveKit Agents vs Retell AI API + MCP](https://www.anchorterminal.com/compare/livekit-agents-vs-retell-ai.md)\n- [LiveKit Agents vs Rime Prism](https://www.anchorterminal.com/compare/livekit-agents-vs-rime-prism.md)\n- [LiveKit Agents vs Synthflow API + MCP](https://www.anchorterminal.com/compare/livekit-agents-vs-synthflow.md)\n- [LiveKit Agents vs Ultravox Realtime API](https://www.anchorterminal.com/compare/livekit-agents-vs-ultravox.md)\n- [LiveKit Agents vs Vaani Developer Platform](https://www.anchorterminal.com/compare/livekit-agents-vs-vaani-voice.md)\n- [LiveKit Agents vs Vapi API + MCP](https://www.anchorterminal.com/compare/livekit-agents-vs-vapi.md)\n- [LiveKit Agents vs Vocily AI](https://www.anchorterminal.com/compare/livekit-agents-vs-vocily.md)\n- [LiveKit Agents vs Vogent API](https://www.anchorterminal.com/compare/livekit-agents-vs-vogent.md)\n- [CueLight vs Inworld Realtime API](https://www.anchorterminal.com/compare/cuelight-vs-inworld-realtime.md)\n- [CueLight vs LiveKit Agents](https://www.anchorterminal.com/compare/cuelight-vs-livekit-agents.md)\n- [Inworld Realtime API vs Pipecat PhoneLLM](https://www.anchorterminal.com/compare/inworld-realtime-vs-pipecat-phonellm.md)\n- [LiveKit Agents vs Pipecat PhoneLLM](https://www.anchorterminal.com/compare/livekit-agents-vs-pipecat-phonellm.md)\n- [GPT-Live vs LiveKit Agents](https://www.anchorterminal.com/compare/gpt-live-vs-livekit-agents.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-07",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Inworld Realtime API vs LiveKit Agents",
        "url": ""
      }
    ],
    "description": "LiveKit Agents scores 72.7 (BB) to Inworld Realtime's 60.1 (C) for voice agents. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Inworld Realtime API C 60.1",
      "LiveKit Agents BB 72.7",
      "scores"
    ],
    "h1": "Inworld Realtime API vs LiveKit Agents",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/inworld-realtime-vs-livekit-agents",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Inworld Realtime vs LiveKit Agents for AI agents (2026)",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/inworld-realtime-vs-livekit-agents"
  },
  "tokens": {
    "markdown": 6200,
    "slim": 3380
  },
  "version": 1
}
