{
  "data": {
    "a": {
      "slug": "inworld-tts",
      "name": "Inworld Realtime TTS-2",
      "vendor": "Inworld AI",
      "vendorUrl": "https://inworld.ai",
      "kind": "model",
      "category": "text-to-speech",
      "summary": "Inworld's hosted text-to-speech models, `inworld-tts-2` and `inworld-tts-2-flash`, over REST, HTTP streaming, WebSocket, async jobs and an OpenAI-compatible endpoint. TTS-2 takes bracketed steering, and an opt-in Reasoning step writes the delivery direction itself.",
      "url": "https://www.anchorterminal.com/tools/inworld-tts",
      "markdownUrl": "https://www.anchorterminal.com/tools/inworld-tts.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/inworld-tts.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/inworld-tts.json",
      "dns": "inworld-tts.grade.anchorterminal.com",
      "license": "Proprietary service under Inworld's Terms of Service. The Node.js SDK `@inworld/tts` and the CLI `@inworld/cli` are MIT on npm",
      "transports": [
        "http",
        "websocket"
      ],
      "remoteUrl": "https://api.inworld.ai",
      "packages": [
        {
          "registry": "npm",
          "name": "@inworld/tts"
        },
        {
          "registry": "pypi",
          "name": "inworld-tts"
        },
        {
          "registry": "npm",
          "name": "@inworld/cli"
        }
      ],
      "auth": "api-key",
      "authNotes": "Every call sends `Authorization: Basic` with the Base64 `key_id:secret` credential copied from the Portal or printed by the CLI. Keys belong to a workspace, are deleted to revoke, and have write toggles only for the Voice and Router APIs, so no key is limited to TTS. Browser and mobile clients use single-use tokens minted server-side, valid 15 minutes by default.",
      "pricing": "freemium",
      "pricingNotes": "TTS-2 costs $25 per million characters on the free On-Demand plan, falling to $20, $17.50, $15 and $12.50 on the $25, $100, $300 and $1,500 monthly plans, and from $5 on Enterprise. TTS-2 Flash runs $15 down to $7. On-Demand includes up to 70 minutes of TTS with no card. Steering tags count as characters, while `synthesisContext` and `reasoningContext` aren't billed. Batch costs 20 per cent less (checked 2026-10-30).",
      "priceSummary": "$25 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in llms.txt, the TTS docs, the billing page or the pricing page (checked 2026-10-30). Usage is drawn from prepaid plan credits, card top-ups of at least $10 or auto-reload.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 3632,
        "pypiWeekly": null,
        "asOf": "2026-10-30"
      },
      "docsUrl": "https://docs.inworld.ai/tts/tts",
      "llmsTxt": "https://docs.inworld.ai/llms.txt",
      "capabilities": [
        "speech.tts",
        "speech.streaming",
        "speech.voices",
        "speech.ssml",
        "speech.languages",
        "speech.batch",
        "voice.clone",
        "voice.design"
      ],
      "tags": [
        "hosted",
        "official",
        "closed-source",
        "freemium",
        "free-tier",
        "no-card",
        "llms-txt",
        "streaming",
        "openai-compatible",
        "reasoning",
        "multilingual",
        "async-jobs",
        "batch",
        "typescript",
        "python",
        "cli",
        "mcp",
        "status-page",
        "soc2",
        "enterprise"
      ],
      "lastRelease": "2026-10-28",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 58.3,
        "grade": "C",
        "agentReady": false,
        "rank": 752,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 12,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 68,
          "maintenance": 68,
          "payments": 40,
          "reliability": 62,
          "schema": 60,
          "security": 61,
          "transparency": 63
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-04"
        },
        "negative": -2,
        "negativeNotes": [
          "30 October 2026, re-read 4 November 2026. Inworld's Realtime TTS-2 page shows Realtime TTS-2 as #1 for voice quality on the Artificial Analysis Speech Arena and says the ranks come from the live arena, not hardcoded. Artificial Analysis's provider-voice leaderboard put Realtime TTS-2 8th (Elo 1,267) on 30 October and 9th (Elo 1,266) on 4 November, behind Eleven v4 (1,334). The deduction lapses if the page is corrected or the rank returns. Sources: https://inworld.ai/blog/realtime-tts-2 and https://artificialanalysis.ai/text-to-speech/leaderboard/provider-voice (-2)"
        ],
        "verdict": "TTS-2 takes bracketed steering, and opt-in Reasoning writes a delivery direction from the text and up to 600 characters of context, returning it in the response. Per-character prices are public and the free plan needs no card. No OpenAPI file was found, keys can't be limited to TTS, and the TTS-2 page's #1 arena claim didn't hold on 4 November.",
        "bestFor": "Agents that generate replies or stories at runtime and want delivery chosen from context without writing tags, and for per-message or pre-generated audio.",
        "strengths": [
          "Reasoning returns the direction it applied as `reasoningInstruction`, so an agent can log it and reuse it as an inline tag",
          "Per-character prices are public, from $25 per million characters for TTS-2 on the free plan to $12.50 on Growth",
          "REST, HTTP streaming, WebSocket, async jobs and an OpenAI-compatible `/v1/audio/speech` endpoint",
          "llms.txt, Markdown twins of every page and a keyless docs MCP server at docs.inworld.ai/mcp",
          "Single-use client tokens, 15 minutes by default, keep the API key off browsers and phones"
        ],
        "weaknesses": [
          "No OpenAPI or other machine-readable contract was found for the TTS API",
          "API keys can't be limited to TTS. Write toggles cover only the Voice and Router APIs",
          "The 28 October model update replaced `inworld-tts-2` in place, with no dated snapshot to pin",
          "Zero data retention is Enterprise only or a Growth add-on, and the SLA is Enterprise only",
          "The TTS-2 page claims #1 on the Artificial Analysis Speech Arena, which ranked it 8th on 30 October 2026"
        ],
        "agentNotes": [
          "Send the copied Base64 credential as-is in `Authorization: Basic`. Don't encode it again.",
          "Set `modelId` explicitly, because SDK defaults may name deprecated models.",
          "Keep text under 2,000 UTF-16 units on `/tts/v1/voice` and 4,000 on `voice:stream`, or use an async job.",
          "Turn on Reasoning with `synthesisContext.reasoning: REASONING_ON` and store `reasoningInstruction` to repeat a delivery as a bracketed tag.",
          "On 429 or error code 8, back off exponentially with jitter. No Retry-After header is documented."
        ],
        "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": 58.3
          }
        ],
        "editorialScores": {
          "ergonomics": 68,
          "maintenance": 68,
          "payments": 40,
          "reliability": 62,
          "schema": 60,
          "security": 61,
          "transparency": 51
        },
        "provenanceScore": 75,
        "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",
          "oldest": "2026-11-04",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm install @inworld/tts",
        "http": "curl -X POST https://api.inworld.ai/tts/v1/voice -H \"Authorization: Basic $INWORLD_API_KEY\" -H 'Content-Type: application/json' -d '{\"text\": \"We made it. I honestly did not think we would.\", \"voiceId\": \"Dennis\", \"modelId\": \"inworld-tts-2\", \"synthesisContext\": {\"reasoning\": \"REASONING_ON\"}}'",
        "claudeCode": "claude mcp add inworld -- inworld mcp"
      },
      "letme": {
        "capability": "https://letme.dev/speech.tts",
        "tool": "https://letme.dev/inworld-tts"
      },
      "sameCompany": [
        "inworld-stt",
        "inworld-realtime",
        "inworld-voice-cloning"
      ],
      "area": "voice",
      "unitPrices": [
        {
          "item": "Realtime TTS-2, On-Demand (free plan, pay as you go)",
          "unit": "1m-chars",
          "usd": 25,
          "note": "pricing page, checked 30 October 2026"
        },
        {
          "item": "Realtime TTS-2 on Growth",
          "unit": "1m-chars",
          "usd": 12.5,
          "note": "$20 on Creator, $17.50 on Builder, $15 on Developer, from $5 on Enterprise"
        },
        {
          "item": "Realtime TTS-2 Flash, On-Demand",
          "unit": "1m-chars",
          "usd": 15,
          "note": "falls to $7 on Growth"
        },
        {
          "item": "Creator plan",
          "unit": "month",
          "usd": 25,
          "note": "$25 in credits a month"
        },
        {
          "item": "Developer plan",
          "unit": "month",
          "usd": 300,
          "note": "$300 in credits a month, priority email support"
        }
      ],
      "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/tts",
        "securityTxt": "none",
        "checked": "2026-10-30",
        "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 the TTS-2 launch entry in the TTS release notes, 5 May 2026. Inworld's TTS-2 page dates general availability to 31 August 2026, and Reasoning shipped on 28 October 2026."
        ],
        "score": 75
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/inworld-tts.json",
      "live": {
        "slug": "inworld-tts",
        "probe": {
          "target": "https://api.inworld.ai",
          "method": "get",
          "lastAt": "2026-11-07T18:20:32.616683976Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 272,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 154,
          "p95ms24h": 302,
          "samples24h": 239,
          "samples30d": 1841,
          "days": [
            {
              "date": "2026-10-31",
              "probes": 235,
              "ok": 235
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 246
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 185
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 241
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.inworld.ai",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-06T21:47:47.977353127Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@inworld/cli",
            "version": "1.5.0",
            "seenAt": "2026-11-06T23:35:08.988356091Z"
          },
          {
            "registry": "npm",
            "name": "@inworld/tts",
            "version": "1.1.1",
            "seenAt": "2026-11-06T23:35:06.810086755Z"
          },
          {
            "registry": "pypi",
            "name": "inworld-tts",
            "version": "1.2.1",
            "released": "2026-05-06",
            "seenAt": "2026-11-06T23:35:08.761411699Z"
          }
        ],
        "npmWeekly": 2451,
        "pypiWeekly": 4010,
        "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:49.789860165Z"
        },
        "domain": {
          "domain": "inworld.ai",
          "registered": "2019-02-05",
          "source": "https://rdap.identitydigital.services/rdap/domain/inworld.ai",
          "checkedAt": "2026-11-01T14:22:35.579379531Z"
        },
        "pages": [
          {
            "url": "https://docs.inworld.ai/release-notes/tts",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:06:44.495609075Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "6824191231ca"
          },
          {
            "url": "https://inworld.ai/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-06T13:33:42.753796854Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "99dc39a9de92"
          },
          {
            "url": "https://inworld.ai/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-06T13:33:45.064596175Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "777d881cbf9b"
          }
        ],
        "updatedAt": "2026-11-07T18:20:32.616683976Z"
      }
    },
    "answer": "Smallest.ai Lightning TTS scores 64.4 (B) on agent readiness against Inworld Realtime TTS-2's 58.3 (C), and leads in 3 of 7 scored categories. Inworld Realtime TTS-2 leads on security \u0026 auth.",
    "b": {
      "slug": "smallest-lightning-tts",
      "name": "Smallest.ai Lightning TTS",
      "vendor": "Smallest AI",
      "vendorUrl": "https://smallest.ai",
      "kind": "model",
      "category": "text-to-speech",
      "summary": "Smallest AI's Lightning text-to-speech API turns text into 44.1 kHz speech over HTTP, server-sent events or WebSocket, with the Lightning v3.1 and v3.1 Pro models in up to 31 languages, pronunciation dictionaries and word timestamps.",
      "url": "https://www.anchorterminal.com/tools/smallest-lightning-tts",
      "markdownUrl": "https://www.anchorterminal.com/tools/smallest-lightning-tts.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/smallest-lightning-tts.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/smallest-lightning-tts.json",
      "dns": "smallest-lightning-tts.grade.anchorterminal.com",
      "repo": "https://github.com/smallest-inc/smallest-python-sdk",
      "transports": [
        "http",
        "websocket"
      ],
      "packages": [
        {
          "registry": "pypi",
          "name": "smallestai"
        },
        {
          "registry": "npm",
          "name": "smallestai"
        },
        {
          "registry": "npm",
          "name": "@developer-smallestai/smallest-mcp-server"
        }
      ],
      "auth": "api-key",
      "authNotes": "Bearer `sk_` API key created in the dashboard after a browser signup, shared by every model and the Voice Agents API. Keys are shown once, revoked by deleting them and carry no scopes. Servers can mint `wat_` access tokens for browsers (30 to 900 seconds, inference routes only).",
      "pricing": "usage",
      "pricingNotes": "Pay as you go at $0.175 per 10,000 characters for Lightning v3.1 and $0.195 for Lightning v3.1 Pro. $10 in trial credits. Pay as you go is capped at 450M characters a month. Enterprise pricing, SLA and zero data retention by quote.",
      "priceSummary": "Pay per use",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, OpenAPI file or pricing page (checked 2026-11-06). Credits are bought with a card on file.",
        "endpoints": []
      },
      "toolCount": 0,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://docs.smallest.ai/models/text-to-speech/overview",
      "llmsTxt": "https://docs.smallest.ai/llms.txt",
      "openapi": "https://docs.smallest.ai/openapi/models-api.json",
      "capabilities": [
        "speech.tts",
        "speech.streaming",
        "speech.voices",
        "speech.languages"
      ],
      "tags": [
        "hosted",
        "usage",
        "closed-source",
        "python",
        "typescript",
        "openapi",
        "llms-txt",
        "streaming",
        "mcp",
        "enterprise",
        "self-hosted"
      ],
      "lastRelease": "2026-11-02",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 64.4,
        "grade": "B",
        "agentReady": false,
        "rank": 469,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 9,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 72,
          "maintenance": 68,
          "payments": 40,
          "reliability": 58,
          "schema": 92,
          "security": 52,
          "transparency": 70
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "Lightning streams speech over HTTP, SSE or WebSocket with OpenAPI and AsyncAPI files and public prices of $0.175 to $0.195 per 10,000 characters. The default model retires on 30 November with 28 days' notice, published concurrency limits disagree, and the shared API failed in every region on five days in September.",
        "bestFor": "Low-latency speech for voice agents, with English, Hindi code-switching and Indic voices.",
        "strengths": [
          "OpenAPI 3.1 and AsyncAPI 2.6 files cover the sync, SSE and WebSocket routes, with llms.txt and Markdown copies of every page",
          "Public prices of $0.175 per 10,000 characters for v3.1 and $0.195 for v3.1 Pro, with $10 of trial credits",
          "Pronunciation dictionaries, number and date reading controls, word timestamps and eight output formats",
          "A deprecations page with dates and migration steps, and dated preview checkpoints that run 30 days",
          "Region-pinned hosts in Mumbai and Oregon"
        ],
        "weaknesses": [
          "`lightning_v3.1`, the default model, retires on 30 November 2026 after a 2 November notice, and clones made on it stop working",
          "Concurrency is published as 1, 10 and 15 on three different pages",
          "Health checks on the shared API failed in all three regions on 9, 10, 13, 14 and 15 September 2026, the longest about 64 minutes",
          "Keys grant full account access with no scopes, and the docs pass keys or tokens as URL query parameters on WebSockets",
          "No SSML, and zero data retention only on Enterprise or a $1,000 a month add-on"
        ],
        "agentNotes": [
          "Always send `\"model\": \"lightning_v3.1_pro\"`, since requests with no model go to a model that retires on 30 November 2026",
          "Pick voices from `GET /waves/v1/lightning-v3.1-pro/get_voices`, because the v3.1 and v3.1 Pro catalogues differ",
          "Keep each request under 8,000 characters and split longer text",
          "Treat 429 as the concurrency ceiling and retry with backoff from 500 ms to 30 s, honouring Retry-After",
          "Fix names and acronyms with a pronunciation dictionary, since SSML isn't accepted"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 64.4
          }
        ],
        "editorialScores": {
          "ergonomics": 72,
          "maintenance": 68,
          "payments": 40,
          "reliability": 58,
          "schema": 92,
          "security": 52,
          "transparency": 52
        },
        "provenanceScore": 87,
        "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": "pip install smallestai",
        "http": "curl -X POST \"https://api.smallest.ai/waves/v1/tts\" \\\n  -H \"Authorization: Bearer $SMALLEST_API_KEY\" -H \"Content-Type: application/json\" -H \"Accept: audio/wav\" \\\n  -d '{\"text\": \"Hello from Smallest AI.\", \"voice_id\": \"meher\", \"model\": \"lightning_v3.1_pro\", \"sample_rate\": 24000, \"output_format\": \"wav\"}' \\\n  --output hello.wav",
        "claudeCode": "claude mcp add smallest -- npx -y @developer-smallestai/smallest-mcp-server"
      },
      "letme": {
        "capability": "https://letme.dev/speech.tts",
        "tool": "https://letme.dev/smallest-lightning-tts"
      },
      "sameCompany": [
        "smallest-pulse-stt",
        "smallest-voice-clone"
      ],
      "area": "voice",
      "unitPrices": [
        {
          "item": "Lightning v3.1",
          "unit": "1m-chars",
          "usd": 17.5,
          "note": "$0.175 per 10,000 characters, pay as you go; model retiring 30 November 2026"
        },
        {
          "item": "Lightning v3.1 Pro",
          "unit": "1m-chars",
          "usd": 19.5,
          "note": "$0.195 per 10,000 characters, pay as you go"
        }
      ],
      "provenance": {
        "legalEntity": "Smallest, Inc.",
        "domain": "smallest.ai",
        "domainRegistered": "2023-09-02",
        "endpointOnVendorDomain": true,
        "terms": "https://smallest.ai/terms-of-service",
        "privacy": "https://smallest.ai/privacy-policy",
        "statusPage": "https://status.smallest.ai/",
        "changelog": "https://docs.smallest.ai/changelog/models",
        "securityTxt": "valid",
        "checked": "2026-11-06",
        "notes": [
          "The terms of service (effective 21 October 2026) name Smallest Inc., 311 California Street, Suite 320, San Francisco, under California law. The privacy policy (effective 18 September 2026) names Smallest, Inc. with a registered office in Lewes, Delaware.",
          "The terms forbid accessing or searching the services with spiders, robots, crawlers or similar data mining tools except through means Smallest makes available. Only public pages were read, with no account.",
          "smallest.ai/robots.txt allows all crawlers including ClaudeBot, with Content-Signal ai-train=yes, search=yes, ai-input=yes. docs.smallest.ai/robots.txt allows all paths except /api/fern-docs/.",
          "/.well-known/security.txt names security@smallest.ai and expires 31 December 2026. /security.txt returns 404.",
          "RDAP gives smallest.ai a registration date of 2 September 2023.",
          "Every docs page served as Markdown opens with a block addressed to AI assistants that says which models to prefer. It was read as data, not followed.",
          "firstReleased is left empty. No dated launch of the Models API was found on a page our reader may fetch."
        ],
        "score": 87
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/smallest-lightning-tts.json",
      "live": {
        "slug": "smallest-lightning-tts",
        "vendorStatus": {
          "page": "https://status.smallest.ai",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:48:45.761951958Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "smallest-inc/smallest-python-sdk",
            "version": "v2.1.0",
            "released": "2025-03-04",
            "seenAt": "2026-11-07T00:06:35.435989203Z"
          },
          {
            "registry": "npm",
            "name": "@developer-smallestai/smallest-mcp-server",
            "version": "0.11.2",
            "seenAt": "2026-11-07T00:06:33.7720962Z"
          },
          {
            "registry": "npm",
            "name": "smallestai",
            "version": "1.0.1",
            "seenAt": "2026-11-07T00:06:32.999034745Z"
          },
          {
            "registry": "pypi",
            "name": "smallestai",
            "version": "5.14.0",
            "released": "2026-10-07",
            "seenAt": "2026-11-07T00:06:32.730014258Z"
          }
        ],
        "githubStars": 42,
        "npmWeekly": 149,
        "pypiWeekly": 850,
        "securityTxt": {
          "url": "https://smallest.ai/.well-known/security.txt",
          "state": "valid",
          "expires": "2026-12-31T23:59:59.000Z",
          "checkedAt": "2026-11-07T16:01:21.76871346Z"
        },
        "llmsTxt": {
          "url": "https://docs.smallest.ai/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:33:56.775686182Z"
        },
        "pages": [
          {
            "url": "https://docs.smallest.ai/changelog/models",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:08:02.477867618Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "5541546461b9"
          },
          {
            "url": "https://smallest.ai/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:20:10.527086718Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "2296cee567f0"
          },
          {
            "url": "https://smallest.ai/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:20:12.776174427Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "27186e5f758e"
          }
        ],
        "updatedAt": "2026-11-07T16:01:21.76871346Z"
      }
    },
    "edges": [
      {
        "by": 32,
        "category": "schema",
        "leads": "smallest-lightning-tts",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "No OpenAPI or other machine-readable file was found. llms.txt and the API reference don't link one and the usual paths redirect to pages (0). llms.txt, llms-full.txt, a Markdown twin of every page and a keyless docs MCP server (10). The models page says which model suits what, the Reasoning guide says where it runs and where it doesn't yet (WebSocket, Realtime, batch), and the reference marks fields each model ignores (17 of 20). Typed fields with enums for encoding, `deliveryMode`, `reasoning` and `timestampType`, a sample-rate range, per-endpoint text limits and a 600-character cap on `reasoningContext` (14 of 15). Examples in curl, Python, JavaScript and the CLI, with one 4XX example and the concurrency error, and no TTS error list (9 of 15). Versioned `/v1` paths and dated TTS release notes, but the notes have no entry for the 28 October Reasoning launch and model update, and models have no dated snapshots (10 of 15). Total 60.",
          "b": "OpenAPI 3.1 for the sync and SSE routes and AsyncAPI 2.6 for the WebSocket, with request and event schemas (25). llms.txt and a Markdown copy of every page (10). A transport guide, model cards and the compare page say which model and transport suit which job, but changelog entries correct the language lists and enums the docs and spec carried (15 of 20). Typed fields with enums for model, sample rate, language and output format, an 8,000-character limit and pattern rules on `session_id` and `request_id` (14 of 15). Examples in curl, Python and JavaScript, with error bodies on the reference and a shared error page (13 of 15). Versioned `/v1` paths, a dated Lightning changelog and dated preview checkpoints (15). Total 92."
        },
        "scores": {
          "a": 60,
          "b": 92
        }
      },
      {
        "by": 9,
        "category": "security",
        "leads": "inworld-tts",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Model reading of the checklist, with training and retention in place of the least-privilege and injection lines. Workspace API keys, deleted to revoke, with separate keys per environment advised, single-use client tokens valid 15 minutes, and a Realtime-only key type. No key can be limited to TTS, because write toggles cover only the Voice and Router APIs (25 of 30). The Terms (11 June 2025) say Inworld won't train generally available models on customers' non-public Materials, except feedback and content flagged for trust and safety. The Privacy Notice (18 January 2026) lists training AI models among its uses and covers voice data, while excluding data processed for enterprise customers (12 of 20). Zero data retention is Enterprise only or a Growth add-on. No retention period is published for other plans, async results are kept about 7 days, and whether the Reasoning model's step is covered isn't stated (6 of 15). Usage is attributed per key, and a Performance page (Builder and above) shows errors, latency and throttling. The Logs page sits behind the Portal login and wasn't read (8 of 15). SOC 2 Type II, HIPAA and GDPR claimed on the security page, with the trust centre unread. A vulnerability report form exists. No security.txt (404) and no bug bounty found (10 of 20). Total 61.",
          "b": "Model reading of the checklist, with training and retention in place of the least-privilege and injection lines. Plain `sk_` keys per organisation, shown once, revoked at once and deletable, with one key per environment advised. The docs say a key grants full account access, and no scope is offered. Short-lived access tokens (`wat_`, 30 to 900 seconds) cover only inference routes and can't mint tokens (22 of 30). The error reference documents the key as a `?token=` query parameter for browser WebSockets, and the token guide passes access tokens as `?api_key=` on the STT socket, so 10 off (12 of 30). The terms (21 October 2026) say Smallest won't use user content or input to train or improve its services. The privacy policy (18 September 2026) lists improving the services with machine learning as a use of usage data and doesn't address uploaded audio or text either way (15 of 20). Zero data retention and the `x-expire-content` header are Enterprise only, or a $1,000 a month HIPAA add-on on pay as you go. Other plans keep content readable in logs and the dashboard, with no retention period published (5 of 15). Usage is tracked per key, request rows sit in a dashboard log viewer, and every response carries `x-request-id`. No audit log of key actions was found (10 of 15). security.txt is valid to 31 December 2026 and the site footer claims SOC 2, GDPR and HIPAA compliance, while the pricing page lists SOC 2 compliance only on Enterprise. No bug bounty, disclosure policy or public advisories found (10 of 20). Total 52."
        },
        "scores": {
          "a": 61,
          "b": 52
        }
      },
      {
        "by": 7,
        "category": "transparency",
        "leads": "smallest-lightning-tts",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Closed service with clear terms naming Theai, Inc. dba Inworld AI, and MIT client packages on npm (15). The zero data retention page is specific about what is kept, but the Terms' no-training clause and the Privacy Notice's training use sit side by side without a reconciling sentence, and the privacy retention section gives no periods apart from up to three years for voice-derived biometric data (14 of 30). Dated discontinuation of `inworld-tts-1` with automatic rerouting and release-stage definitions, but no written notice policy, and the 28 October update replaced `inworld-tts-2` in place (12 of 20). US headquarters with isolated EU and India regions on Enterprise. No sub-processor list was found in the docs, and the trust centre wasn't read (10 of 20). Total 51.",
          "b": "Closed service with clear terms naming Smallest Inc. under California law (15). The ZDR page is specific about what each mode keeps, but the terms' no-training clause and the privacy policy's machine-learning use of usage data sit side by side, the privacy policy gives no retention periods, and the policy doesn't mention the DPA a footer link points to (15 of 30). A deprecations page gives statuses, dates and migration steps, and earlier models answer 410 with a pointer. The notice for the default `lightning_v3.1`, dated 2 November, gives 28 days before voices change and v3.1 clones stop working, and the terms let Smallest discontinue services without notice (12 of 20). Two regions named (Mumbai and Oregon) with region-pinned hosts, and only Google Analytics and Fullstory named among third parties, with no sub-processor list found (10 of 20). Total 52."
        },
        "scores": {
          "a": 63,
          "b": 70
        }
      }
    ],
    "facts": [
      {
        "a": "Model API",
        "b": "Model API",
        "name": "Kind"
      },
      {
        "a": "Inworld AI",
        "b": "Smallest AI",
        "name": "Vendor"
      },
      {
        "a": "https://api.inworld.ai",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, websocket",
        "b": "HTTP, websocket",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "$12.50 per 1M characters",
        "b": "not published",
        "name": "Price for text-to-speech"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under Inworld's Terms of Service. The Node.js SDK `@inworld/tts` and the CLI `@inworld/cli` are MIT on npm",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "0",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-28",
        "b": "2026-11-02",
        "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": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "3.6k npm/wk",
        "b": "none",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Smallest.ai Lightning TTS scores 64.4 (B) on agent readiness against Inworld Realtime TTS-2's 58.3 (C), and leads in 3 of 7 scored categories. Inworld Realtime TTS-2 leads on security \u0026 auth.",
        "question": "Which is better for AI agents, Inworld Realtime TTS-2 or Smallest.ai Lightning TTS?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do Inworld Realtime TTS-2 and Smallest.ai Lightning TTS need an API key?"
      },
      {
        "answer": "Inworld Realtime TTS-2 has a hosted endpoint at https://api.inworld.ai. No hosted endpoint is listed for Smallest.ai Lightning TTS.",
        "question": "Can an agent call Inworld Realtime TTS-2 and Smallest.ai Lightning TTS without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Security \u0026 auth, 61 against 52"
        ],
        "also": [
          "A hosted endpoint, with nothing to install",
          "Free to start without a card"
        ],
        "goodFor": "Agents that generate replies or stories at runtime and want delivery chosen from context without writing tags, and for per-message or pre-generated audio.",
        "slug": "inworld-tts",
        "watchFor": "No OpenAPI or other machine-readable contract was found for the TTS API"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 92 against 60",
          "Transparency \u0026 trust, 70 against 63"
        ],
        "also": null,
        "goodFor": "Low-latency speech for voice agents, with English, Hindi code-switching and Indic voices.",
        "slug": "smallest-lightning-tts",
        "watchFor": "`lightning_v3.1`, the default model, retires on 30 November 2026 after a 2 November notice, and clones made on it stop working"
      }
    ],
    "history": null,
    "job": {
      "capability": "speech.tts",
      "name": "Text-to-speech"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/amazon-polly-vs-inworld-tts.json",
        "title": "Amazon Polly vs Inworld Realtime TTS-2",
        "url": "https://www.anchorterminal.com/compare/amazon-polly-vs-inworld-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-polly-vs-smallest-lightning-tts.json",
        "title": "Amazon Polly vs Smallest.ai Lightning TTS",
        "url": "https://www.anchorterminal.com/compare/amazon-polly-vs-smallest-lightning-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-text-to-speech-vs-inworld-tts.json",
        "title": "Azure AI Speech text-to-speech vs Inworld Realtime TTS-2",
        "url": "https://www.anchorterminal.com/compare/azure-text-to-speech-vs-inworld-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-text-to-speech-vs-smallest-lightning-tts.json",
        "title": "Azure AI Speech text-to-speech vs Smallest.ai Lightning TTS",
        "url": "https://www.anchorterminal.com/compare/azure-text-to-speech-vs-smallest-lightning-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cartesia-tts-vs-inworld-tts.json",
        "title": "Cartesia Sonic TTS API + MCP vs Inworld Realtime TTS-2",
        "url": "https://www.anchorterminal.com/compare/cartesia-tts-vs-inworld-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cartesia-tts-vs-smallest-lightning-tts.json",
        "title": "Cartesia Sonic TTS API + MCP vs Smallest.ai Lightning TTS",
        "url": "https://www.anchorterminal.com/compare/cartesia-tts-vs-smallest-lightning-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepgram-tts-vs-inworld-tts.json",
        "title": "Deepgram Text-to-Speech (Aura-2, Flux TTS) vs Inworld Realtime TTS-2",
        "url": "https://www.anchorterminal.com/compare/deepgram-tts-vs-inworld-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepgram-tts-vs-smallest-lightning-tts.json",
        "title": "Deepgram Text-to-Speech (Aura-2, Flux TTS) vs Smallest.ai Lightning TTS",
        "url": "https://www.anchorterminal.com/compare/deepgram-tts-vs-smallest-lightning-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elevenlabs-tts-vs-inworld-tts.json",
        "title": "ElevenLabs Text to Speech API + MCP vs Inworld Realtime TTS-2",
        "url": "https://www.anchorterminal.com/compare/elevenlabs-tts-vs-inworld-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elevenlabs-tts-vs-smallest-lightning-tts.json",
        "title": "ElevenLabs Text to Speech API + MCP vs Smallest.ai Lightning TTS",
        "url": "https://www.anchorterminal.com/compare/elevenlabs-tts-vs-smallest-lightning-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fish-audio-tts-vs-inworld-tts.json",
        "title": "Fish Audio TTS API vs Inworld Realtime TTS-2",
        "url": "https://www.anchorterminal.com/compare/fish-audio-tts-vs-inworld-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fish-audio-tts-vs-smallest-lightning-tts.json",
        "title": "Fish Audio TTS API vs Smallest.ai Lightning TTS",
        "url": "https://www.anchorterminal.com/compare/fish-audio-tts-vs-smallest-lightning-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-cloud-tts-vs-inworld-tts.json",
        "title": "Google Cloud Text-to-Speech vs Inworld Realtime TTS-2",
        "url": "https://www.anchorterminal.com/compare/google-cloud-tts-vs-inworld-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-cloud-tts-vs-smallest-lightning-tts.json",
        "title": "Google Cloud Text-to-Speech vs Smallest.ai Lightning TTS",
        "url": "https://www.anchorterminal.com/compare/google-cloud-tts-vs-smallest-lightning-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/heygen-voice-vs-inworld-tts.json",
        "title": "HeyGen Voice vs Inworld Realtime TTS-2",
        "url": "https://www.anchorterminal.com/compare/heygen-voice-vs-inworld-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/heygen-voice-vs-smallest-lightning-tts.json",
        "title": "HeyGen Voice vs Smallest.ai Lightning TTS",
        "url": "https://www.anchorterminal.com/compare/heygen-voice-vs-smallest-lightning-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inworld-tts-vs-minimax-speech.json",
        "title": "Inworld Realtime TTS-2 vs MiniMax Speech (T2A)",
        "url": "https://www.anchorterminal.com/compare/inworld-tts-vs-minimax-speech"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inworld-tts-vs-murf-tts.json",
        "title": "Inworld Realtime TTS-2 vs Murf TTS API + MCP",
        "url": "https://www.anchorterminal.com/compare/inworld-tts-vs-murf-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inworld-tts-vs-playht-tts.json",
        "title": "Inworld Realtime TTS-2 vs PlayHT Text-to-Speech API",
        "url": "https://www.anchorterminal.com/compare/inworld-tts-vs-playht-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inworld-tts-vs-resemble-ai-tts.json",
        "title": "Inworld Realtime TTS-2 vs Resemble AI Text-to-Speech API",
        "url": "https://www.anchorterminal.com/compare/inworld-tts-vs-resemble-ai-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inworld-tts-vs-rime-tts.json",
        "title": "Inworld Realtime TTS-2 vs Rime TTS API + MCP",
        "url": "https://www.anchorterminal.com/compare/inworld-tts-vs-rime-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inworld-tts-vs-soniox-tts.json",
        "title": "Inworld Realtime TTS-2 vs Soniox Text-to-Speech",
        "url": "https://www.anchorterminal.com/compare/inworld-tts-vs-soniox-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/minimax-speech-vs-smallest-lightning-tts.json",
        "title": "MiniMax Speech (T2A) vs Smallest.ai Lightning TTS",
        "url": "https://www.anchorterminal.com/compare/minimax-speech-vs-smallest-lightning-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/murf-tts-vs-smallest-lightning-tts.json",
        "title": "Murf TTS API + MCP vs Smallest.ai Lightning TTS",
        "url": "https://www.anchorterminal.com/compare/murf-tts-vs-smallest-lightning-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/playht-tts-vs-smallest-lightning-tts.json",
        "title": "PlayHT Text-to-Speech API vs Smallest.ai Lightning TTS",
        "url": "https://www.anchorterminal.com/compare/playht-tts-vs-smallest-lightning-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/resemble-ai-tts-vs-smallest-lightning-tts.json",
        "title": "Resemble AI Text-to-Speech API vs Smallest.ai Lightning TTS",
        "url": "https://www.anchorterminal.com/compare/resemble-ai-tts-vs-smallest-lightning-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/rime-tts-vs-smallest-lightning-tts.json",
        "title": "Rime TTS API + MCP vs Smallest.ai Lightning TTS",
        "url": "https://www.anchorterminal.com/compare/rime-tts-vs-smallest-lightning-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/smallest-lightning-tts-vs-soniox-tts.json",
        "title": "Smallest.ai Lightning TTS vs Soniox Text-to-Speech",
        "url": "https://www.anchorterminal.com/compare/smallest-lightning-tts-vs-soniox-tts"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 4,
        "edge": "inworld-tts",
        "inworld-tts": 62,
        "key": "reliability",
        "name": "Reliability",
        "smallest-lightning-tts": 58,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 32,
        "edge": "smallest-lightning-tts",
        "inworld-tts": 60,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "smallest-lightning-tts": 92,
        "weight": 13
      },
      {
        "by": 4,
        "edge": "smallest-lightning-tts",
        "inworld-tts": 68,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "smallest-lightning-tts": 72,
        "weight": 13
      },
      {
        "by": 9,
        "edge": "inworld-tts",
        "inworld-tts": 61,
        "key": "security",
        "name": "Security \u0026 auth",
        "smallest-lightning-tts": 52,
        "weight": 14
      },
      {
        "by": 0,
        "edge": "",
        "inworld-tts": 40,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "smallest-lightning-tts": 40,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 0,
        "edge": "",
        "inworld-tts": 68,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "smallest-lightning-tts": 68,
        "weight": 7
      },
      {
        "by": 7,
        "edge": "smallest-lightning-tts",
        "inworld-tts": 63,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "smallest-lightning-tts": 70,
        "weight": 7
      }
    ],
    "summary": "Smallest.ai Lightning TTS scores 64.4 (B) on agent readiness against Inworld Realtime TTS-2's 58.3 (C), and leads in 3 of 7 scored categories. Inworld Realtime TTS-2 leads on security \u0026 auth. Both do text-to-speech.",
    "tasks": [
      {
        "a": "$0.11 to $0.22",
        "b": "$0.16 to $0.18",
        "cheaper": "inworld-tts",
        "task": "Narrate a 9,000-character script",
        "what": "about 1,500 words"
      }
    ],
    "tutorials": [],
    "verdicts": {
      "inworld-tts": "TTS-2 takes bracketed steering, and opt-in Reasoning writes a delivery direction from the text and up to 600 characters of context, returning it in the response. Per-character prices are public and the free plan needs no card. No OpenAPI file was found, keys can't be limited to TTS, and the TTS-2 page's #1 arena claim didn't hold on 4 November.",
      "smallest-lightning-tts": "Lightning streams speech over HTTP, SSE or WebSocket with OpenAPI and AsyncAPI files and public prices of $0.175 to $0.195 per 10,000 characters. The default model retires on 30 November with 28 days' notice, published concurrency limits disagree, and the shared API failed in every region on five days in September."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/inworld-tts-vs-smallest-lightning-tts",
    "json": "https://www.anchorterminal.com/compare/inworld-tts-vs-smallest-lightning-tts.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/inworld-tts-vs-smallest-lightning-tts.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/inworld-tts-vs-smallest-lightning-tts.min.md"
  },
  "markdown": "Smallest.ai Lightning TTS scores 64.4 (B) on agent readiness against Inworld Realtime TTS-2's 58.3 (C), and leads in 3 of 7 scored categories. Inworld Realtime TTS-2 leads on security \u0026 auth. Both do text-to-speech.\n\n- Inworld Realtime TTS-2: grade C, 58.3/100, rank #752 of 1486. Markdown https://www.anchorterminal.com/tools/inworld-tts.md · JSON https://www.anchorterminal.com/api/v1/tools/inworld-tts.json\n- Smallest.ai Lightning TTS: grade B, 64.4/100, rank #469 of 1486. Markdown https://www.anchorterminal.com/tools/smallest-lightning-tts.md · JSON https://www.anchorterminal.com/api/v1/tools/smallest-lightning-tts.json\n- Best text-to-speech APIs for AI agents: https://www.anchorterminal.com/best/text-to-speech/index.md\n- All 148 tts comparisons: https://www.anchorterminal.com/compare/text-to-speech/index.md\n\n## Which one, for what\n\n### Inworld Realtime TTS-2 (C)\n\nGood for: Agents that generate replies or stories at runtime and want delivery chosen from context without writing tags, and for per-message or pre-generated audio.\n\nAhead on:\n- Security \u0026 auth, 61 against 52\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n- Free to start without a card\n\nWatch for: No OpenAPI or other machine-readable contract was found for the TTS API\n\n### Smallest.ai Lightning TTS (B)\n\nGood for: Low-latency speech for voice agents, with English, Hindi code-switching and Indic voices.\n\nAhead on:\n- Schema \u0026 documentation, 92 against 60\n- Transparency \u0026 trust, 70 against 63\n\nWatch for: `lightning_v3.1`, the default model, retires on 30 November 2026 after a 2 November notice, and clones made on it stop working\n\n\n## Why the edge\n\n### Schema \u0026 documentation: Smallest.ai Lightning TTS +32\n\n- Inworld Realtime TTS-2 (60): No OpenAPI or other machine-readable file was found. llms.txt and the API reference don't link one and the usual paths redirect to pages (0). llms.txt, llms-full.txt, a Markdown twin of every page and a keyless docs MCP server (10). The models page says which model suits what, the Reasoning guide says where it runs and where it doesn't yet (WebSocket, Realtime, batch), and the reference marks fields each model ignores (17 of 20). Typed fields with enums for encoding, `deliveryMode`, `reasoning` and `timestampType`, a sample-rate range, per-endpoint text limits and a 600-character cap on `reasoningContext` (14 of 15). Examples in curl, Python, JavaScript and the CLI, with one 4XX example and the concurrency error, and no TTS error list (9 of 15). Versioned `/v1` paths and dated TTS release notes, but the notes have no entry for the 28 October Reasoning launch and model update, and models have no dated snapshots (10 of 15). Total 60.\n- Smallest.ai Lightning TTS (92): OpenAPI 3.1 for the sync and SSE routes and AsyncAPI 2.6 for the WebSocket, with request and event schemas (25). llms.txt and a Markdown copy of every page (10). A transport guide, model cards and the compare page say which model and transport suit which job, but changelog entries correct the language lists and enums the docs and spec carried (15 of 20). Typed fields with enums for model, sample rate, language and output format, an 8,000-character limit and pattern rules on `session_id` and `request_id` (14 of 15). Examples in curl, Python and JavaScript, with error bodies on the reference and a shared error page (13 of 15). Versioned `/v1` paths, a dated Lightning changelog and dated preview checkpoints (15). Total 92.\n\n### Security \u0026 auth: Inworld Realtime TTS-2 +9\n\n- Inworld Realtime TTS-2 (61): Model reading of the checklist, with training and retention in place of the least-privilege and injection lines. Workspace API keys, deleted to revoke, with separate keys per environment advised, single-use client tokens valid 15 minutes, and a Realtime-only key type. No key can be limited to TTS, because write toggles cover only the Voice and Router APIs (25 of 30). The Terms (11 June 2025) say Inworld won't train generally available models on customers' non-public Materials, except feedback and content flagged for trust and safety. The Privacy Notice (18 January 2026) lists training AI models among its uses and covers voice data, while excluding data processed for enterprise customers (12 of 20). Zero data retention is Enterprise only or a Growth add-on. No retention period is published for other plans, async results are kept about 7 days, and whether the Reasoning model's step is covered isn't stated (6 of 15). Usage is attributed per key, and a Performance page (Builder and above) shows errors, latency and throttling. The Logs page sits behind the Portal login and wasn't read (8 of 15). SOC 2 Type II, HIPAA and GDPR claimed on the security page, with the trust centre unread. A vulnerability report form exists. No security.txt (404) and no bug bounty found (10 of 20). Total 61.\n- Smallest.ai Lightning TTS (52): Model reading of the checklist, with training and retention in place of the least-privilege and injection lines. Plain `sk_` keys per organisation, shown once, revoked at once and deletable, with one key per environment advised. The docs say a key grants full account access, and no scope is offered. Short-lived access tokens (`wat_`, 30 to 900 seconds) cover only inference routes and can't mint tokens (22 of 30). The error reference documents the key as a `?token=` query parameter for browser WebSockets, and the token guide passes access tokens as `?api_key=` on the STT socket, so 10 off (12 of 30). The terms (21 October 2026) say Smallest won't use user content or input to train or improve its services. The privacy policy (18 September 2026) lists improving the services with machine learning as a use of usage data and doesn't address uploaded audio or text either way (15 of 20). Zero data retention and the `x-expire-content` header are Enterprise only, or a $1,000 a month HIPAA add-on on pay as you go. Other plans keep content readable in logs and the dashboard, with no retention period published (5 of 15). Usage is tracked per key, request rows sit in a dashboard log viewer, and every response carries `x-request-id`. No audit log of key actions was found (10 of 15). security.txt is valid to 31 December 2026 and the site footer claims SOC 2, GDPR and HIPAA compliance, while the pricing page lists SOC 2 compliance only on Enterprise. No bug bounty, disclosure policy or public advisories found (10 of 20). Total 52.\n\n### Transparency \u0026 trust: Smallest.ai Lightning TTS +7\n\n- Inworld Realtime TTS-2 (63): Closed service with clear terms naming Theai, Inc. dba Inworld AI, and MIT client packages on npm (15). The zero data retention page is specific about what is kept, but the Terms' no-training clause and the Privacy Notice's training use sit side by side without a reconciling sentence, and the privacy retention section gives no periods apart from up to three years for voice-derived biometric data (14 of 30). Dated discontinuation of `inworld-tts-1` with automatic rerouting and release-stage definitions, but no written notice policy, and the 28 October update replaced `inworld-tts-2` in place (12 of 20). US headquarters with isolated EU and India regions on Enterprise. No sub-processor list was found in the docs, and the trust centre wasn't read (10 of 20). Total 51.\n- Smallest.ai Lightning TTS (70): Closed service with clear terms naming Smallest Inc. under California law (15). The ZDR page is specific about what each mode keeps, but the terms' no-training clause and the privacy policy's machine-learning use of usage data sit side by side, the privacy policy gives no retention periods, and the policy doesn't mention the DPA a footer link points to (15 of 30). A deprecations page gives statuses, dates and migration steps, and earlier models answer 410 with a pointer. The notice for the default `lightning_v3.1`, dated 2 November, gives 28 days before voices change and v3.1 clones stop working, and the terms let Smallest discontinue services without notice (12 of 20). Two regions named (Mumbai and Oregon) with region-pinned hosts, and only Google Analytics and Fullstory named among third parties, with no sub-processor list found (10 of 20). Total 52.\n\n## Score by category\n\n| Category | Weight | Inworld Realtime TTS-2 | Smallest.ai Lightning TTS | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 62 | 58 | Inworld Realtime TTS-2 +4 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 60 | 92 | Smallest.ai Lightning TTS +32 |\n| Agent ergonomics | 13% (16.2 this run) | 68 | 72 | Smallest.ai Lightning TTS +4 |\n| Security \u0026 auth | 14% (17.5 this run) | 61 | 52 | Inworld Realtime TTS-2 +9 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 40 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 68 | 68 | even |\n| Transparency \u0026 trust | 7% (8.8 this run) | 63 | 70 | Smallest.ai Lightning TTS +7 |\n| Negative events | ≤15 | -2 | 0 | |\n| **Total** | | **58.3 · C** | **64.4 · B** | |\n\n## Facts side by side\n\n| Fact | Inworld Realtime TTS-2 | Smallest.ai Lightning TTS |\n| --- | --- | --- |\n| Kind | Model API | Model API |\n| Vendor | Inworld AI | Smallest AI |\n| Hosted endpoint | `https://api.inworld.ai` | no (local only) |\n| Transports | HTTP, websocket | HTTP, websocket |\n| Auth | API key | API key |\n| Pricing | Freemium | Pay per use |\n| Price for text-to-speech | $12.50 per 1M characters | not published |\n| x402 | no | no |\n| Licence | Proprietary service under Inworld's Terms of Service. The Node.js SDK `@inworld/tts` and the CLI `@inworld/cli` are MIT on npm | none |\n| Tools exposed | none | 0 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-28 | 2026-11-02 |\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 | not found in the text |\n| Terms or service can change without notice | not found in the text | yes |\n| Arbitration or class-action waiver | not found in the text | yes |\n| Popularity | 3.6k npm/wk | none |\n\n## What the same task costs\n\n| Task | Inworld Realtime TTS-2 | Smallest.ai Lightning TTS |\n| --- | --- | --- |\n| Narrate a 9,000-character script | $0.11 to $0.22 | $0.16 to $0.18 |\n\n## Verdicts\n\n**Inworld Realtime TTS-2.** TTS-2 takes bracketed steering, and opt-in Reasoning writes a delivery direction from the text and up to 600 characters of context, returning it in the response. Per-character prices are public and the free plan needs no card. No OpenAPI file was found, keys can't be limited to TTS, and the TTS-2 page's #1 arena claim didn't hold on 4 November.\n\n**Smallest.ai Lightning TTS.** Lightning streams speech over HTTP, SSE or WebSocket with OpenAPI and AsyncAPI files and public prices of $0.175 to $0.195 per 10,000 characters. The default model retires on 30 November with 28 days' notice, published concurrency limits disagree, and the shared API failed in every region on five days in September.\n\n## Before you call either\n\n### Inworld Realtime TTS-2\n\n1. Send the copied Base64 credential as-is in `Authorization: Basic`. Don't encode it again.\n2. Set `modelId` explicitly, because SDK defaults may name deprecated models.\n3. Keep text under 2,000 UTF-16 units on `/tts/v1/voice` and 4,000 on `voice:stream`, or use an async job.\n4. Turn on Reasoning with `synthesisContext.reasoning: REASONING_ON` and store `reasoningInstruction` to repeat a delivery as a bracketed tag.\n5. On 429 or error code 8, back off exponentially with jitter. No Retry-After header is documented.\n\n### Smallest.ai Lightning TTS\n\n1. Always send `\"model\": \"lightning_v3.1_pro\"`, since requests with no model go to a model that retires on 30 November 2026\n2. Pick voices from `GET /waves/v1/lightning-v3.1-pro/get_voices`, because the v3.1 and v3.1 Pro catalogues differ\n3. Keep each request under 8,000 characters and split longer text\n4. Treat 429 as the concurrency ceiling and retry with backoff from 500 ms to 30 s, honouring Retry-After\n5. Fix names and acronyms with a pronunciation dictionary, since SSML isn't accepted\n\n## Questions\n\n### Which is better for AI agents, Inworld Realtime TTS-2 or Smallest.ai Lightning TTS?\n\nSmallest.ai Lightning TTS scores 64.4 (B) on agent readiness against Inworld Realtime TTS-2's 58.3 (C), and leads in 3 of 7 scored categories. Inworld Realtime TTS-2 leads on security \u0026 auth.\n\n### Do Inworld Realtime TTS-2 and Smallest.ai Lightning TTS need an API key?\n\nBoth need an API key.\n\n### Can an agent call Inworld Realtime TTS-2 and Smallest.ai Lightning TTS without installing anything?\n\nInworld Realtime TTS-2 has a hosted endpoint at https://api.inworld.ai. No hosted endpoint is listed for Smallest.ai Lightning TTS.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/inworld-tts-vs-smallest-lightning-tts.json, and with the fewest tokens: https://www.anchorterminal.com/compare/inworld-tts-vs-smallest-lightning-tts.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"inworld-tts\", \"b\": \"smallest-lightning-tts\"}`. From a terminal: `anchor compare inworld-tts smallest-lightning-tts`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/inworld-tts.json and https://www.anchorterminal.com/api/v1/tools/smallest-lightning-tts.json\n\n## Other comparisons with Inworld Realtime TTS-2 or Smallest.ai Lightning TTS\n\n- [Amazon Polly vs Inworld Realtime TTS-2](https://www.anchorterminal.com/compare/amazon-polly-vs-inworld-tts.md)\n- [Amazon Polly vs Smallest.ai Lightning TTS](https://www.anchorterminal.com/compare/amazon-polly-vs-smallest-lightning-tts.md)\n- [Azure AI Speech text-to-speech vs Inworld Realtime TTS-2](https://www.anchorterminal.com/compare/azure-text-to-speech-vs-inworld-tts.md)\n- [Azure AI Speech text-to-speech vs Smallest.ai Lightning TTS](https://www.anchorterminal.com/compare/azure-text-to-speech-vs-smallest-lightning-tts.md)\n- [Cartesia Sonic TTS API + MCP vs Inworld Realtime TTS-2](https://www.anchorterminal.com/compare/cartesia-tts-vs-inworld-tts.md)\n- [Cartesia Sonic TTS API + MCP vs Smallest.ai Lightning TTS](https://www.anchorterminal.com/compare/cartesia-tts-vs-smallest-lightning-tts.md)\n- [Deepgram Text-to-Speech (Aura-2, Flux TTS) vs Inworld Realtime TTS-2](https://www.anchorterminal.com/compare/deepgram-tts-vs-inworld-tts.md)\n- [Deepgram Text-to-Speech (Aura-2, Flux TTS) vs Smallest.ai Lightning TTS](https://www.anchorterminal.com/compare/deepgram-tts-vs-smallest-lightning-tts.md)\n- [ElevenLabs Text to Speech API + MCP vs Inworld Realtime TTS-2](https://www.anchorterminal.com/compare/elevenlabs-tts-vs-inworld-tts.md)\n- [ElevenLabs Text to Speech API + MCP vs Smallest.ai Lightning TTS](https://www.anchorterminal.com/compare/elevenlabs-tts-vs-smallest-lightning-tts.md)\n- [Fish Audio TTS API vs Inworld Realtime TTS-2](https://www.anchorterminal.com/compare/fish-audio-tts-vs-inworld-tts.md)\n- [Fish Audio TTS API vs Smallest.ai Lightning TTS](https://www.anchorterminal.com/compare/fish-audio-tts-vs-smallest-lightning-tts.md)\n- [Google Cloud Text-to-Speech vs Inworld Realtime TTS-2](https://www.anchorterminal.com/compare/google-cloud-tts-vs-inworld-tts.md)\n- [Google Cloud Text-to-Speech vs Smallest.ai Lightning TTS](https://www.anchorterminal.com/compare/google-cloud-tts-vs-smallest-lightning-tts.md)\n- [HeyGen Voice vs Inworld Realtime TTS-2](https://www.anchorterminal.com/compare/heygen-voice-vs-inworld-tts.md)\n- [HeyGen Voice vs Smallest.ai Lightning TTS](https://www.anchorterminal.com/compare/heygen-voice-vs-smallest-lightning-tts.md)\n- [Inworld Realtime TTS-2 vs MiniMax Speech (T2A)](https://www.anchorterminal.com/compare/inworld-tts-vs-minimax-speech.md)\n- [Inworld Realtime TTS-2 vs Murf TTS API + MCP](https://www.anchorterminal.com/compare/inworld-tts-vs-murf-tts.md)\n- [Inworld Realtime TTS-2 vs PlayHT Text-to-Speech API](https://www.anchorterminal.com/compare/inworld-tts-vs-playht-tts.md)\n- [Inworld Realtime TTS-2 vs Resemble AI Text-to-Speech API](https://www.anchorterminal.com/compare/inworld-tts-vs-resemble-ai-tts.md)\n- [Inworld Realtime TTS-2 vs Rime TTS API + MCP](https://www.anchorterminal.com/compare/inworld-tts-vs-rime-tts.md)\n- [Inworld Realtime TTS-2 vs Soniox Text-to-Speech](https://www.anchorterminal.com/compare/inworld-tts-vs-soniox-tts.md)\n- [MiniMax Speech (T2A) vs Smallest.ai Lightning TTS](https://www.anchorterminal.com/compare/minimax-speech-vs-smallest-lightning-tts.md)\n- [Murf TTS API + MCP vs Smallest.ai Lightning TTS](https://www.anchorterminal.com/compare/murf-tts-vs-smallest-lightning-tts.md)\n- [PlayHT Text-to-Speech API vs Smallest.ai Lightning TTS](https://www.anchorterminal.com/compare/playht-tts-vs-smallest-lightning-tts.md)\n- [Resemble AI Text-to-Speech API vs Smallest.ai Lightning TTS](https://www.anchorterminal.com/compare/resemble-ai-tts-vs-smallest-lightning-tts.md)\n- [Rime TTS API + MCP vs Smallest.ai Lightning TTS](https://www.anchorterminal.com/compare/rime-tts-vs-smallest-lightning-tts.md)\n- [Smallest.ai Lightning TTS vs Soniox Text-to-Speech](https://www.anchorterminal.com/compare/smallest-lightning-tts-vs-soniox-tts.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 TTS-2 vs Smallest.ai Lightning TTS",
        "url": ""
      }
    ],
    "description": "Smallest.ai Lightning TTS scores 64.4 (B) to Inworld Realtime TTS-2's 58.3 (C) for text-to-speech. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Inworld Realtime TTS-2 C 58.3",
      "Smallest.ai Lightning TTS B 64.4",
      "scores"
    ],
    "h1": "Inworld Realtime TTS-2 vs Smallest.ai Lightning TTS",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/inworld-tts-vs-smallest-lightning-tts",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Inworld Realtime TTS-2 vs Smallest.ai Lightning TTS (2026)",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/inworld-tts-vs-smallest-lightning-tts"
  },
  "tokens": {
    "markdown": 4550,
    "slim": 2330
  },
  "version": 1
}
