{
  "data": {
    "a": {
      "slug": "cuelight",
      "name": "CueLight",
      "vendor": "sshah03 (individual developer, name not stated)",
      "vendorUrl": "https://sshah03.github.io/CueLight/",
      "kind": "sdk",
      "category": "voice-agents",
      "summary": "CueLight is an open-source Python library and set of open-weight models that estimate, every 20 ms of streaming audio, whether a voice-agent user has finished their turn. It runs locally from audio alone, in English.",
      "url": "https://www.anchorterminal.com/tools/cuelight",
      "markdownUrl": "https://www.anchorterminal.com/tools/cuelight.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/cuelight.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/cuelight.json",
      "dns": "cuelight.grade.anchorterminal.com",
      "repo": "https://github.com/sshah03/CueLight",
      "license": "Apache-2.0",
      "transports": [],
      "packages": [],
      "auth": "none",
      "authNotes": "None. The library runs in the caller's process and opens no port. Weights download anonymously from Hugging Face (sshah03/cuelight-nano, -nano-ssm, -base) on first use, or load from a local folder.",
      "pricing": "free",
      "pricingNotes": "Free under Apache-2.0 for code and weights, with no hosted or paid option. The owner pays only for the CPU it runs on. Conditions carried over from the training data ask that it not be used to identify speakers or clone voices.",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the source, README or demo page (checked 2026-10-15). There is nothing to buy.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 10,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-15"
      },
      "docsUrl": "https://github.com/sshah03/CueLight#quick-start",
      "capabilities": [
        "voice.pipeline",
        "inference.open-weights"
      ],
      "tags": [
        "sdk",
        "open-source",
        "open-weights",
        "local",
        "self-hosted",
        "python",
        "free",
        "no-card",
        "apache-2.0",
        "pre-1.0"
      ],
      "lastRelease": "2026-10-14",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 47.8,
        "grade": "D",
        "agentReady": false,
        "rank": 1142,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 20,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 61,
          "maintenance": 41,
          "payments": 60,
          "reliability": 24,
          "schema": 50,
          "security": 50,
          "transparency": 59
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-04"
        },
        "negative": 0,
        "verdict": "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.",
        "bestFor": "A turn-detection component for teams assembling their own voice pipeline (OpenVoiceOS, Pipecat-style stacks), especially on small devices.",
        "strengths": [
          "Apache-2.0 code and weights, with every training dataset and teacher model named in NOTICE",
          "Nano is 0.5M parameters and 1.9 MB, with ONNX step files for non-Python runtimes",
          "Works from audio alone and updates during speech, not only at pauses",
          "Two tuned presets and a custom policy, behind a four-name Python interface",
          "Weights load from safetensors, and no telemetry was found in the source"
        ],
        "weaknesses": [
          "English only, and the author does not plan other languages soon",
          "Not on PyPI, no tags, releases, changelog or CI, and two commits by 4 November",
          "Benchmarks are self-reported, and the presets were tuned on half of the benchmark they are scored on",
          "Weights download from Hugging Face main branches with no pinned revision",
          "An unknown preset name falls back silently to default thresholds"
        ],
        "agentNotes": [
          "Feed 320 float32 samples at 16 kHz mono per `push`. Resample first, or the call raises an AssertionError",
          "Spell the preset as `snappy` or `careful`. Any other name silently uses default thresholds",
          "Call `clear()` before a new call or session. Pass `reset_on_turn_start=False` if 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"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 47.8
          }
        ],
        "editorialScores": {
          "ergonomics": 61,
          "maintenance": 41,
          "payments": 60,
          "reliability": 24,
          "schema": 50,
          "security": 50,
          "transparency": 67
        },
        "provenanceScore": 50,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-04",
            "maintenance": "2026-11-04",
            "payments": "2026-11-04",
            "reliability": "2026-11-04",
            "schema": "2026-11-04",
            "security": "2026-11-04",
            "transparency": "2026-11-04"
          },
          "last": "2026-11-04",
          "lastMoved": "2026-11-04",
          "oldest": "2026-11-04",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "pip install git+https://github.com/sshah03/CueLight"
      },
      "letme": {
        "capability": "https://letme.dev/voice.pipeline",
        "tool": "https://letme.dev/cuelight"
      },
      "area": "voice",
      "provenance": {
        "legalEntity": "sshah03 (individual GitHub account, no name or organisation stated)",
        "domain": "sshah03.github.io",
        "domainRegistered": "",
        "domainNote": "A library and model weights, not a service. Code on github.com/sshah03, weights on huggingface.co/sshah03, demo on GitHub Pages. No domain of its own.",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-11-04",
        "notes": [
          "The LICENSE is Apache-2.0 and NOTICE reads Copyright 2026 sshah03, with third-party model and dataset licences in NOTICE and LICENSES/.",
          "The GitHub account sshah03 was created on 10 July 2012 and gives no name, company or website.",
          "No terms or privacy document governs the library or the demo page. Nothing is hosted beyond static GitHub Pages files, so both fields are left out.",
          "No changelog, tags, GitHub releases or GitHub workflows. The repository has no SECURITY.md, and github.io serves no security.txt for the project.",
          "The repository was created on 13 October 2026 19:15 UTC. Its first commit was pushed on 14 October 2026 01:25 UTC and a second, adding an 8-bit Nano model to the demo, on 15 October 2026 (clone read 4 November 2026)."
        ],
        "score": 50
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/cuelight.json",
      "live": {
        "slug": "cuelight",
        "githubStars": 15,
        "securityTxt": {
          "url": "https://sshah03.github.io/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T15:59:41.476381245Z"
        },
        "domain": {
          "domain": "github.io",
          "checkedAt": "2026-11-01T14:18:40.30630652Z"
        },
        "github": {
          "repo": "sshah03/cuelight",
          "checkedAt": "2026-11-02T09:27:46.201303607Z",
          "stars": 15,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-15T16:11:22Z",
          "openIssues": 0,
          "openPRs": 0,
          "issuesOpened90d": 0,
          "issuesClosed90d": 0,
          "prsMerged90d": 0
        },
        "updatedAt": "2026-11-07T15:59:41.476381245Z"
      }
    },
    "answer": "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 \u0026 pricing.",
    "b": {
      "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"
      }
    },
    "edges": [
      {
        "by": 38,
        "category": "reliability",
        "leads": "inworld-realtime",
        "name": "Reliability",
        "reasons": {
          "a": "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.",
          "b": "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."
        },
        "scores": {
          "a": 24,
          "b": 62
        }
      },
      {
        "by": 30,
        "category": "maintenance",
        "leads": "inworld-realtime",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "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.",
          "b": "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."
        },
        "scores": {
          "a": 41,
          "b": 71
        }
      },
      {
        "by": 20,
        "category": "payments",
        "leads": "cuelight",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "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.",
          "b": "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."
        },
        "scores": {
          "a": 60,
          "b": 40
        }
      },
      {
        "by": 10,
        "category": "schema",
        "leads": "inworld-realtime",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "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.",
          "b": "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."
        },
        "scores": {
          "a": 50,
          "b": 60
        }
      },
      {
        "by": 8,
        "category": "security",
        "leads": "inworld-realtime",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "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.",
          "b": "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."
        },
        "scores": {
          "a": 50,
          "b": 58
        }
      },
      {
        "by": 7,
        "category": "ergonomics",
        "leads": "inworld-realtime",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "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.",
          "b": "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."
        },
        "scores": {
          "a": 61,
          "b": 68
        }
      }
    ],
    "facts": [
      {
        "a": "SDK + MCP",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "sshah03 (individual developer, name not stated)",
        "b": "Inworld AI",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "websocket, HTTP",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Apache-2.0",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "0",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-14",
        "b": "2026-10-16",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "2025-06-11",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "2026-01-18",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "10 stars",
        "b": "none",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "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 \u0026 pricing.",
        "question": "Which is better for AI agents, CueLight or Inworld Realtime API?"
      },
      {
        "answer": "No hosted endpoint is listed for CueLight. No hosted endpoint is listed for Inworld Realtime API.",
        "question": "Can an agent call CueLight and Inworld Realtime API without installing anything?"
      },
      {
        "answer": "CueLight is open source (Apache-2.0). No open-source release is listed for Inworld Realtime API.",
        "question": "Are CueLight and Inworld Realtime API open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Payments \u0026 pricing, 60 against 40"
        ],
        "also": [
          "No key needed to call it",
          "Free to start without a card",
          "Open source"
        ],
        "goodFor": "A turn-detection component for teams assembling their own voice pipeline (OpenVoiceOS, Pipecat-style stacks), especially on small devices.",
        "slug": "cuelight",
        "watchFor": "English only, and the author does not plan other languages soon"
      },
      {
        "aheadOn": [
          "Reliability, 62 against 24",
          "Schema \u0026 documentation, 60 against 50",
          "Agent ergonomics, 68 against 61",
          "Security \u0026 auth, 58 against 50",
          "Maintenance \u0026 community, 71 against 41"
        ],
        "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"
      }
    ],
    "history": {
      "cuelight": [
        {
          "causes": [
            "correction"
          ],
          "date": "2026-11-04",
          "delta": -1.5,
          "from": 49.3,
          "fromGrade": "D",
          "to": 47.8,
          "toGrade": "D"
        },
        {
          "causes": [
            "evidence"
          ],
          "date": "2026-10-28",
          "delta": 0.2,
          "from": 49.1,
          "fromGrade": "D",
          "to": 49.3,
          "toGrade": "D"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.3,
          "from": 48.8,
          "fromGrade": "D",
          "to": 49.1,
          "toGrade": "D"
        }
      ],
      "inworld-realtime": null
    },
    "job": {
      "capability": "voice.pipeline",
      "name": "Voice pipeline"
    },
    "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/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/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/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/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/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/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/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/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/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/inworld-realtime-vs-livekit-agents.json",
        "title": "Inworld Realtime API vs LiveKit Agents",
        "url": "https://www.anchorterminal.com/compare/inworld-realtime-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/assemblyai-voice-agent-vs-cuelight.json",
        "title": "AssemblyAI Voice Agent API vs CueLight",
        "url": "https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-cuelight"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bland-ai-vs-cuelight.json",
        "title": "Bland AI API + MCP vs CueLight",
        "url": "https://www.anchorterminal.com/compare/bland-ai-vs-cuelight"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bolna-vs-cuelight.json",
        "title": "Bolna API + MCP vs CueLight",
        "url": "https://www.anchorterminal.com/compare/bolna-vs-cuelight"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cuelight-vs-deepgram-voice-agent.json",
        "title": "CueLight vs Deepgram Voice Agent API",
        "url": "https://www.anchorterminal.com/compare/cuelight-vs-deepgram-voice-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cuelight-vs-elevenlabs-agents.json",
        "title": "CueLight vs ElevenLabs Agents API + MCP",
        "url": "https://www.anchorterminal.com/compare/cuelight-vs-elevenlabs-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cuelight-vs-hume-evi.json",
        "title": "CueLight vs Hume EVI (Empathic Voice Interface)",
        "url": "https://www.anchorterminal.com/compare/cuelight-vs-hume-evi"
      },
      {
        "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/cuelight-vs-pipecat.json",
        "title": "CueLight vs Pipecat",
        "url": "https://www.anchorterminal.com/compare/cuelight-vs-pipecat"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cuelight-vs-pipecat-phonellm.json",
        "title": "CueLight vs Pipecat PhoneLLM",
        "url": "https://www.anchorterminal.com/compare/cuelight-vs-pipecat-phonellm"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cuelight-vs-retell-ai.json",
        "title": "CueLight vs Retell AI API + MCP",
        "url": "https://www.anchorterminal.com/compare/cuelight-vs-retell-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cuelight-vs-synthflow.json",
        "title": "CueLight vs Synthflow API + MCP",
        "url": "https://www.anchorterminal.com/compare/cuelight-vs-synthflow"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cuelight-vs-vaani-voice.json",
        "title": "CueLight vs Vaani Developer Platform",
        "url": "https://www.anchorterminal.com/compare/cuelight-vs-vaani-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cuelight-vs-vapi.json",
        "title": "CueLight vs Vapi API + MCP",
        "url": "https://www.anchorterminal.com/compare/cuelight-vs-vapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cuelight-vs-vocily.json",
        "title": "CueLight vs Vocily AI",
        "url": "https://www.anchorterminal.com/compare/cuelight-vs-vocily"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cuelight-vs-vogent.json",
        "title": "CueLight vs Vogent API",
        "url": "https://www.anchorterminal.com/compare/cuelight-vs-vogent"
      },
      {
        "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"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 38,
        "cuelight": 24,
        "edge": "inworld-realtime",
        "inworld-realtime": 62,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 10,
        "cuelight": 50,
        "edge": "inworld-realtime",
        "inworld-realtime": 60,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 7,
        "cuelight": 61,
        "edge": "inworld-realtime",
        "inworld-realtime": 68,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 8,
        "cuelight": 50,
        "edge": "inworld-realtime",
        "inworld-realtime": 58,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 20,
        "cuelight": 60,
        "edge": "cuelight",
        "inworld-realtime": 40,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 30,
        "cuelight": 41,
        "edge": "inworld-realtime",
        "inworld-realtime": 71,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 4,
        "cuelight": 59,
        "edge": "inworld-realtime",
        "inworld-realtime": 63,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "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 \u0026 pricing. Both do voice pipeline.",
    "tasks": null,
    "tutorials": [],
    "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": "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."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/cuelight-vs-inworld-realtime",
    "json": "https://www.anchorterminal.com/compare/cuelight-vs-inworld-realtime.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/cuelight-vs-inworld-realtime.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/cuelight-vs-inworld-realtime.min.md"
  },
  "markdown": "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 \u0026 pricing. Both do voice pipeline.\n\n- CueLight: grade D, 47.8/100, rank #1142 of 1510. Markdown https://www.anchorterminal.com/tools/cuelight.md · JSON https://www.anchorterminal.com/api/v1/tools/cuelight.json\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- 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### CueLight (D)\n\nGood for: A turn-detection component for teams assembling their own voice pipeline (OpenVoiceOS, Pipecat-style stacks), especially on small devices.\n\nAhead on:\n- Payments \u0026 pricing, 60 against 40\n\nAlso in its favour:\n- No key needed to call it\n- Free to start without a card\n- Open source\n\nWatch for: English only, and the author does not plan other languages soon\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\nAhead on:\n- Reliability, 62 against 24\n- Schema \u0026 documentation, 60 against 50\n- Agent ergonomics, 68 against 61\n- Security \u0026 auth, 58 against 50\n- Maintenance \u0026 community, 71 against 41\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\n## Why the edge\n\n### Reliability: Inworld Realtime API +38\n\n- 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.\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\n### Maintenance \u0026 community: Inworld Realtime API +30\n\n- 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.\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\n### Payments \u0026 pricing: CueLight +20\n\n- 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.\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\n### Schema \u0026 documentation: Inworld Realtime API +10\n\n- 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.\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\n### Security \u0026 auth: Inworld Realtime API +8\n\n- 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.\n- 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.\n\n### Agent ergonomics: Inworld Realtime API +7\n\n- 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.\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\n## Score by category\n\n| Category | Weight | CueLight | Inworld Realtime API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 24 | 62 | Inworld Realtime API +38 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 50 | 60 | Inworld Realtime API +10 |\n| Agent ergonomics | 13% (16.2 this run) | 61 | 68 | Inworld Realtime API +7 |\n| Security \u0026 auth | 14% (17.5 this run) | 50 | 58 | Inworld Realtime API +8 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 40 | CueLight +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 41 | 71 | Inworld Realtime API +30 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 59 | 63 | Inworld Realtime API +4 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **47.8 · D** | **60.1 · C** | |\n\n## Facts side by side\n\n| Fact | CueLight | Inworld Realtime API |\n| --- | --- | --- |\n| Kind | SDK + MCP | HTTP API |\n| Vendor | sshah03 (individual developer, name not stated) | Inworld AI |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  | websocket, HTTP |\n| Auth | None | API key |\n| Pricing | Free | Pay per use |\n| x402 | no | no |\n| Licence | Apache-2.0 | none |\n| Tools exposed | none | 0 |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | 2026-10-14 | 2026-10-16 |\n| Terms last updated | no document linked | 2025-06-11 |\n| Privacy policy last updated | no document linked | 2026-01-18 |\n| Customer content may train models | not read yet | not found in the text |\n| Terms restrict automated access | not read yet | not found in the text |\n| Terms restrict benchmarking | not read yet | not found in the text |\n| Terms or service can change without notice | not read yet | not found in the text |\n| Arbitration or class-action waiver | not read yet | not found in the text |\n| Popularity | 10 stars | none |\n\n## How the scores have moved\n\n### CueLight\n\n- -1.5 on 4 November 2026: correction\n- +0.2 on 28 October 2026: new evidence\n- +0.3 on 27 October 2026: checklist\n\n### Inworld Realtime API\n\nNo score change since it was listed.\n\n## Verdicts\n\n**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.\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## Before you call either\n\n### CueLight\n\n1. Feed 320 float32 samples at 16 kHz mono per `push`. Resample first, or the call raises an AssertionError\n2. Spell the preset as `snappy` or `careful`. Any other name silently uses default thresholds\n3. Call `clear()` before a new call or session. Pass `reset_on_turn_start=False` if your pipeline already resets per turn\n4. Pin weights by downloading them to a local folder and passing that path to `from_pretrained`\n5. Don't use it to identify speakers or clone voices. The training data's conditions forbid it\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## Questions\n\n### Which is better for AI agents, CueLight or Inworld Realtime API?\n\nInworld 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 \u0026 pricing.\n\n### Can an agent call CueLight and Inworld Realtime API without installing anything?\n\nNo hosted endpoint is listed for CueLight. No hosted endpoint is listed for Inworld Realtime API.\n\n### Are CueLight and Inworld Realtime API open source?\n\nCueLight is open source (Apache-2.0). No open-source release is listed for Inworld Realtime API.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/cuelight-vs-inworld-realtime.json, and with the fewest tokens: https://www.anchorterminal.com/compare/cuelight-vs-inworld-realtime.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"cuelight\", \"b\": \"inworld-realtime\"}`. From a terminal: `anchor compare cuelight inworld-realtime`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/cuelight.json and https://www.anchorterminal.com/api/v1/tools/inworld-realtime.json\n\n## Other comparisons with CueLight or Inworld Realtime API\n\n- [Amazon Nova 2 Sonic vs Inworld Realtime API](https://www.anchorterminal.com/compare/amazon-nova-sonic-vs-inworld-realtime.md)\n- [AssemblyAI Voice Agent API vs Inworld Realtime API](https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-inworld-realtime.md)\n- [Bland AI API + MCP vs Inworld Realtime API](https://www.anchorterminal.com/compare/bland-ai-vs-inworld-realtime.md)\n- [Bolna API + MCP vs Inworld Realtime API](https://www.anchorterminal.com/compare/bolna-vs-inworld-realtime.md)\n- [Deepgram Voice Agent API vs Inworld Realtime API](https://www.anchorterminal.com/compare/deepgram-voice-agent-vs-inworld-realtime.md)\n- [ElevenLabs Agents API + MCP vs Inworld Realtime API](https://www.anchorterminal.com/compare/elevenlabs-agents-vs-inworld-realtime.md)\n- [fone.me vs Inworld Realtime API](https://www.anchorterminal.com/compare/fone-me-vs-inworld-realtime.md)\n- [Gemini Live API vs Inworld Realtime API](https://www.anchorterminal.com/compare/gemini-live-vs-inworld-realtime.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- [Hume EVI (Empathic Voice Interface) vs Inworld Realtime API](https://www.anchorterminal.com/compare/hume-evi-vs-inworld-realtime.md)\n- [Inworld Realtime API vs LiveKit Agents](https://www.anchorterminal.com/compare/inworld-realtime-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- [AssemblyAI Voice Agent API vs CueLight](https://www.anchorterminal.com/compare/assemblyai-voice-agent-vs-cuelight.md)\n- [Bland AI API + MCP vs CueLight](https://www.anchorterminal.com/compare/bland-ai-vs-cuelight.md)\n- [Bolna API + MCP vs CueLight](https://www.anchorterminal.com/compare/bolna-vs-cuelight.md)\n- [CueLight vs Deepgram Voice Agent API](https://www.anchorterminal.com/compare/cuelight-vs-deepgram-voice-agent.md)\n- [CueLight vs ElevenLabs Agents API + MCP](https://www.anchorterminal.com/compare/cuelight-vs-elevenlabs-agents.md)\n- [CueLight vs Hume EVI (Empathic Voice Interface)](https://www.anchorterminal.com/compare/cuelight-vs-hume-evi.md)\n- [CueLight vs LiveKit Agents](https://www.anchorterminal.com/compare/cuelight-vs-livekit-agents.md)\n- [CueLight vs Pipecat](https://www.anchorterminal.com/compare/cuelight-vs-pipecat.md)\n- [CueLight vs Pipecat PhoneLLM](https://www.anchorterminal.com/compare/cuelight-vs-pipecat-phonellm.md)\n- [CueLight vs Retell AI API + MCP](https://www.anchorterminal.com/compare/cuelight-vs-retell-ai.md)\n- [CueLight vs Synthflow API + MCP](https://www.anchorterminal.com/compare/cuelight-vs-synthflow.md)\n- [CueLight vs Vaani Developer Platform](https://www.anchorterminal.com/compare/cuelight-vs-vaani-voice.md)\n- [CueLight vs Vapi API + MCP](https://www.anchorterminal.com/compare/cuelight-vs-vapi.md)\n- [CueLight vs Vocily AI](https://www.anchorterminal.com/compare/cuelight-vs-vocily.md)\n- [CueLight vs Vogent API](https://www.anchorterminal.com/compare/cuelight-vs-vogent.md)\n- [Inworld Realtime API vs Pipecat PhoneLLM](https://www.anchorterminal.com/compare/inworld-realtime-vs-pipecat-phonellm.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": "CueLight vs Inworld Realtime API",
        "url": ""
      }
    ],
    "description": "Inworld Realtime scores 60.1 (C) to CueLight's 47.8 (D) for voice pipeline. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "CueLight D 47.8",
      "Inworld Realtime API C 60.1",
      "scores"
    ],
    "h1": "CueLight vs Inworld Realtime API",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/cuelight-vs-inworld-realtime",
    "published": "2026-10-01",
    "section": "tools",
    "title": "CueLight vs Inworld Realtime for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/cuelight-vs-inworld-realtime"
  },
  "tokens": {
    "markdown": 5000,
    "slim": 2680
  },
  "version": 1
}
