Head to head · Voice pipeline · October 2026 research run
CueLight vs Inworld Realtime API
Inworld Realtime API scores 60.1 (C) on agent readiness against CueLight's 47.8 (D), and leads in 6 of 7 scored categories. CueLight leads on payments & pricing. Both do voice pipeline.
Best conversational voice-agent APIs · All 518 voice agents comparisons
Which one, for what
CueLight D
Best for A turn-detection component for teams assembling their own voice pipeline (OpenVoiceOS, Pipecat-style stacks), especially on small devices.
Ahead on
- Payments & pricing, 60 against 40
Also in its favour
- No key needed to call it
- Free to start without a card
- Open source
Watch for
English only, and the author does not plan other languages soon
Best for Teams moving off OpenAI's Realtime API who want a choice of LLM and Inworld voices.
Ahead on
- Reliability, 62 against 24
- Schema & documentation, 60 against 50
- Agent ergonomics, 68 against 61
- Security & auth, 58 against 50
- Maintenance & community, 71 against 41
Watch for
No per-minute price. A session's cost depends on STT, LLM tokens and TTS characters, and interrupted segments are still billed
Why the edge
Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.
Reliability Inworld Realtime API +38
CueLight 24
Read as local software. Installs with pip from the Git repository, not from PyPI, with Python 3.10 or later and its dependencies declared in pyproject.toml, a partial held from 15 October (10 of 20). The repository holds two tests (streaming matches whole-sequence output, chunk size is enforced), but it has no GitHub workflow at all, so no public CI runs them (0). No issues or pull requests were open on 15 October, and GitHub's pages were not re-read on 4 November, so the earlier partial is held (12 of 25). Version 0.1.0 in pyproject.toml with no tags or changelog (2 of 15). Below 1.0, and the README calls it a first iteration (0). 10 + 0 + 12 + 2 + 0 = 24.
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.
Maintenance & community Inworld Realtime API +30
CueLight 41
Published on 14 October 2026, 21 days before this check (30). A second commit on 15 October added an 8-bit Nano ONNX model to the browser demo, with no version change, tag or changelog entry, so it isn't a release. One publication in 90 days, below the three the line needs (0). No issues or pull requests were open on 15 October, and GitHub's pages were not re-read, so responsiveness is held (5 of 25). Not on PyPI as of 15 October (pypi.org did not resolve on 4 November). The weights are on Hugging Face and the package installs only from Git (3 of 15). Dependencies are current minimums (torch 2.1 or later), with no lockfile, Dependabot or CI (3 of 10). 30 + 0 + 5 + 3 + 3 = 41.
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.
Payments & pricing CueLight +20
CueLight 60
No payment protocol (0). Read with the self-hosted rule. Apache-2.0 code and weights with no hosted or paid option (20). No card or account (20). Weights download anonymously, with no signup (20). 0 + 20 + 20 + 20 = 60.
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.
Schema & documentation Inworld Realtime API +10
CueLight 50
Library reading. No OpenAPI applies. The public classes are small, with type hints on most signatures and frozen dataclasses for both policies, though push takes an untyped chunk (15 of 25). No llms.txt on the Pages site, and docs are the README (0). The README says which model suits which device, when to choose each preset, and states the limits (English only, audio only, Base's CPU cost) (16 of 20). The 320-sample frame is enforced by an assert, while an unknown preset name falls back silently to default thresholds rather than raising (8 of 15). Quick-start snippets and two example scripts. Error behaviour is not documented (8 of 15). A version number in pyproject.toml and __version__, with no changelog (3 of 15). 15 + 0 + 16 + 8 + 8 + 3 = 50.
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.
Security & auth Inworld Realtime API +8
CueLight 50
Local-software reading. No credential and no open port. The code runs in the caller's process, weights load from safetensors rather than pickle, but snapshot_download fetches the main branch of each Hugging Face repository with no pinned revision (20 of 30). It only classifies audio and takes no actions (16 of 20). It returns probabilities, not content from third parties (10). No logging. Per-frame probabilities and a reset counter are visible to the caller (4 of 15). No SECURITY.md, disclosure policy, security.txt or advisories (0 of 20). 20 + 16 + 10 + 4 + 0 = 50. Re-read from the source on 4 November, unchanged.
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.
Agent ergonomics Inworld Realtime API +7
CueLight 61
Library reading. Four public names and one call per frame, with an 11 KB README, so the context cost of learning it is low (22 of 25). Output is one probability and one speech probability per frame, and thresholds, minimum silence, timeout and reset behaviour can all be set (14 of 20). The only error is an assert on chunk size, which python -O strips, and a mistyped preset gives defaults without a warning (6 of 20). push is stateful by design. clear() resets between calls and the detector resets itself at each new turn, and the source shows streaming matches whole-clip output to 1e-4 (10 of 20). One required argument with working defaults. Python only, with ONNX step files and a browser demo but no packaged second-language SDK (9 of 15). 22 + 14 + 6 + 10 + 9 = 61.
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.
Score by category
| Category | Weight this run | CueLight | Inworld Realtime API | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 24 | 62 | Inworld Realtime API +38 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 50 | 60 | Inworld Realtime API +10 |
| Agent ergonomics | 13%16.2 | 61 | 68 | Inworld Realtime API +7 |
| Security & auth | 14%17.5 | 50 | 58 | Inworld Realtime API +8 |
| Payments & pricing | 10%12.5 | 60 | 40 | CueLight +20 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 41 | 71 | Inworld Realtime API +30 |
| Transparency & trust | 7%8.8 | 59 | 63 | Inworld Realtime API +4 |
| Negative events | ≤15 | 0 | 0 | |
| Total | D 47.8/100 | C 60.1/100 |
Facts side by side
| Fact | CueLight | Inworld Realtime API |
|---|---|---|
| Kind | SDK + MCP | HTTP API |
| Vendor | sshah03 (individual developer, name not stated) | Inworld AI |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | websocket, HTTP | |
| Auth | None | API key |
| Pricing | Free | Pay per use |
| x402 | no | no |
| Licence | Apache-2.0 | none |
| Tools exposed | none | 0 |
| Read-only variant documented | no | no |
| llms.txt | no | yes |
| Last release | 2026-10-14 | 2026-10-16 |
| Terms last updated | no document linked | 2025-06-11 |
| Privacy policy last updated | no document linked | 2026-01-18 |
| Customer content may train models | not read yet | not found in the text |
| Terms restrict automated access | not read yet | not found in the text |
| Terms restrict benchmarking | not read yet | not found in the text |
| Terms or service can change without notice | not read yet | not found in the text |
| Arbitration or class-action waiver | not read yet | not found in the text |
| Popularity | 10 stars | none |
How the scores have moved
Inworld Realtime API
No score change since it was listed.
Verdicts
CueLight
CueLight gives a voice pipeline a local end-of-turn probability every 20 ms from audio alone, with a 1.9 MB model and Apache-2.0 weights. It was published on 14 October 2026, is English only, installs from Git rather than PyPI, has no CI, tags or changelog, and its accuracy figures are the author's own.
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.
Before you call either
CueLight
- Feed 320 float32 samples at 16 kHz mono per
push. Resample first, or the call raises an AssertionError - Spell the preset as
snappyorcareful. Any other name silently uses default thresholds - Call
clear()before a new call or session. Passreset_on_turn_start=Falseif your pipeline already resets per turn - Pin weights by downloading them to a local folder and passing that path to
from_pretrained - Don't use it to identify speakers or clone voices. The training data's conditions forbid it
Inworld Realtime API
- Set the auto follow-up off if your client sends its own
response.createafter a tool result, or replies double - Read
response.doneusage as an estimate and mute input audio when nobody speaks, since STT bills every second sent - Use
response.speakfor fixed greetings, which skips the LLM - Treat
unsupported_fielderrors as warnings and keep the session open - Mint browser session tokens on your server and never ship the Basic credential to a client
Questions
Which is better for AI agents, CueLight or Inworld Realtime API?
Inworld Realtime API scores 60.1 (C) on agent readiness against CueLight's 47.8 (D), and leads in 6 of 7 scored categories. CueLight leads on payments & pricing.
Can an agent call CueLight and Inworld Realtime API without installing anything?
No hosted endpoint is listed for CueLight. No hosted endpoint is listed for Inworld Realtime API.
Are CueLight and Inworld Realtime API open source?
CueLight is open source (Apache-2.0). No open-source release is listed for Inworld Realtime API.
Other comparisons with CueLight or Inworld Realtime API
- Amazon Nova 2 Sonic vs Inworld Realtime API
- AssemblyAI Voice Agent API vs Inworld Realtime API
- Bland AI API + MCP vs Inworld Realtime API
- Bolna API + MCP vs Inworld Realtime API
- Deepgram Voice Agent API vs Inworld Realtime API
- ElevenLabs Agents API + MCP vs Inworld Realtime API
- fone.me vs Inworld Realtime API
- Gemini Live API vs Inworld Realtime API
- GPT-Live vs Inworld Realtime API
- Harmony.ai vs Inworld Realtime API
- Hume EVI (Empathic Voice Interface) vs Inworld Realtime API
- Inworld Realtime API vs LiveKit Agents
- Inworld Realtime API vs OpenAI Realtime API
- Inworld Realtime API vs Pipecat
- Inworld Realtime API vs PlaceCall
- Inworld Realtime API vs Retell AI API + MCP
- Inworld Realtime API vs Rime Prism
- Inworld Realtime API vs Synthflow API + MCP
- Inworld Realtime API vs Ultravox Realtime API
- Inworld Realtime API vs Vaani Developer Platform
- Inworld Realtime API vs Vapi API + MCP
- Inworld Realtime API vs Vocily AI
- Inworld Realtime API vs Vogent API
- AssemblyAI Voice Agent API vs CueLight
- Bland AI API + MCP vs CueLight
- Bolna API + MCP vs CueLight
- CueLight vs Deepgram Voice Agent API
- CueLight vs ElevenLabs Agents API + MCP
- CueLight vs Hume EVI (Empathic Voice Interface)
- CueLight vs LiveKit Agents
- CueLight vs Pipecat
- CueLight vs Pipecat PhoneLLM
- CueLight vs Retell AI API + MCP
- CueLight vs Synthflow API + MCP
- CueLight vs Vaani Developer Platform
- CueLight vs Vapi API + MCP
- CueLight vs Vocily AI
- CueLight vs Vogent API
- Inworld Realtime API vs Pipecat PhoneLLM
Machine-readable
- This page as Markdown
/compare/cuelight-vs-inworld-realtime.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/cuelight.json·/api/v1/tools/inworld-realtime.json - From a terminal
anchor compare cuelight inworld-realtime(the CLI) - Over MCP
compare_tools {"a": "cuelight", "b": "inworld-realtime"}at/mcp, no key