{
  "data": {
    "a": {
      "slug": "rime-tts",
      "name": "Rime TTS API + MCP",
      "vendor": "Rime Labs",
      "vendorUrl": "https://www.rime.ai",
      "kind": "model",
      "category": "text-to-speech",
      "summary": "Rime's streaming text-to-speech for voice agents.",
      "url": "https://www.anchorterminal.com/tools/rime-tts",
      "markdownUrl": "https://www.anchorterminal.com/tools/rime-tts.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/rime-tts.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/rime-tts.json",
      "dns": "rime-tts.grade.anchorterminal.com",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://users.rime.ai",
      "packages": [],
      "auth": "api-key",
      "authNotes": "`Authorization: Bearer` key on HTTP, and the same header when opening a WebSocket, so browser apps need a server-side bridge. The hosted MCP at `https://mcp.rime.ai` reads the key per request (`Authorization` or `X-Rime-Api-Key`) and never stores it. Its catalogue and code-generation tools work without a key.",
      "pricing": "freemium",
      "pricingNotes": "Free plan with $50 of usage a month across Rime's models and no card. Flex is pay as you go, Mist v3 $0.030 and Coda v2 $0.050 a minute of audio, metered by characters at about 1,000 a minute. Scale takes 20 per cent off ($0.024 and $0.040) for $100 a month of credit that rolls over up to $200. Enterprise is custom, with cloud, VPC or on-prem deployment, SLAs and a BAA (https://www.rime.ai/pricing, checked 2026-11-04).",
      "priceSummary": "Freemium",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402 or machine payment in the docs or pricing (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": 6,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.rime.ai/docs/introduction",
      "llmsTxt": "https://docs.rime.ai/llms.txt",
      "capabilities": [
        "speech.tts",
        "speech.streaming",
        "speech.voices",
        "speech.languages"
      ],
      "tags": [
        "hosted",
        "freemium",
        "no-card",
        "free-tier",
        "closed-source",
        "llms-txt",
        "mcp",
        "streaming",
        "self-hosted",
        "enterprise"
      ],
      "lastRelease": "2026-11-04",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 54.8,
        "grade": "C",
        "agentReady": false,
        "rank": 891,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 14,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 60,
          "maintenance": 70,
          "payments": 40,
          "reliability": 47,
          "schema": 59,
          "security": 59,
          "transparency": 76
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-04"
        },
        "negative": -2,
        "negativeNotes": [
          "-2, misleading claim (29 October 2026). Rime's terms effective that day license Rime to train its models on Free Plan customer data, while its security page still said \"We never use customer text or audio to train our models\" on 4 November 2026. https://www.rime.ai/security"
        ],
        "verdict": "Per-minute prices are public, $50 of free usage a month needs no card, and official SDKs now cover four languages, all alpha. Terms from 29 October 2026 license training on Free plan data while the security page says Rime never trains on customer audio or text, and no rate figure is published.",
        "bestFor": "English and a handful of other languages in live voice agents where the operator cares most about data terms and price.",
        "strengths": [
          "Only character counts are kept by default, and optional request retention is off by default",
          "Mist v3 at $0.030 and Coda v2 at $0.050 a minute on Flex, with $50 of free usage a month and no card",
          "Status page with a Text-to-speech API component and history since 30 August 2026",
          "SOC 2 Type II since May 2025, HIPAA BAA on request and a vulnerability disclosure programme",
          "The errors page says which statuses to retry and that retries bill as new synthesis"
        ],
        "weaknesses": [
          "No OpenAPI file read, and the official SDKs are all 0.1.0 alpha",
          "The terms license training on Free plan data, against the security page's statement that Rime never trains on customer audio or text",
          "No concurrency or rate figure published for any plan",
          "Errors are plain-text messages without machine-readable codes",
          "On-prem image 20261104 began rejecting non-English Mist v3 requests that set `phonemizeBetweenBrackets`, announced the day it shipped"
        ],
        "agentNotes": [
          "Always send `modelId`, since a missing or unknown one routes to Mist v3 and Coda speakers then fail.",
          "Keep HTTP requests under 1,000 characters or use the WebSocket.",
          "Back off on 429 before reopening a WebSocket, and remember each retry bills again.",
          "Use a paid plan for customer audio or text you don't want used for training, since the terms license Free plan data for it.",
          "Keep the key server-side, since WebSockets take it in a header and there are no short-lived tokens."
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 54.8
          }
        ],
        "editorialScores": {
          "ergonomics": 60,
          "maintenance": 70,
          "payments": 40,
          "reliability": 47,
          "schema": 59,
          "security": 59,
          "transparency": 70
        },
        "provenanceScore": 81,
        "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": {
        "http": "curl -X POST https://users.rime.ai/v1/rime-tts -H \"Authorization: Bearer $RIME_API_KEY\" \\\n  -H \"content-type: application/json\" -H \"accept: audio/mpeg\" -o speech.mp3 \\\n  -d '{\"text\":\"Your table is booked for seven.\",\"speaker\":\"astra\",\"modelId\":\"coda\"}'",
        "claudeCode": "claude mcp add --transport http rime https://mcp.rime.ai --header \"Authorization: Bearer $RIME_API_KEY\"",
        "config": {
          "mcpServers": {
            "rime": {
              "headers": {
                "Authorization": "Bearer ${RIME_API_KEY}"
              },
              "url": "https://mcp.rime.ai"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/speech.tts",
        "tool": "https://letme.dev/rime-tts"
      },
      "sameCompany": [
        "rime-prism"
      ],
      "area": "voice",
      "unitPrices": [
        {
          "item": "Coda v2, Flex",
          "unit": "audio-minute",
          "usd": 0.05,
          "note": "Metered by characters, about 1,000 a minute. Pricing page, checked 4 November 2026"
        },
        {
          "item": "Mist v3, Flex",
          "unit": "audio-minute",
          "usd": 0.03,
          "note": "Metered by characters, about 1,000 a minute. Pricing page, checked 4 November 2026"
        },
        {
          "item": "Coda v2, Scale",
          "unit": "audio-minute",
          "usd": 0.04,
          "note": "20 per cent off Flex for $100 a month of credit, which rolls over up to $200"
        },
        {
          "item": "Mist v3, Scale",
          "unit": "audio-minute",
          "usd": 0.024,
          "note": "20 per cent off Flex for $100 a month of credit, which rolls over up to $200"
        }
      ],
      "provenance": {
        "legalEntity": "Rime Labs, Inc.",
        "domain": "rime.ai",
        "domainRegistered": "2020-03-12",
        "endpointOnVendorDomain": true,
        "terms": "https://www.rime.ai/terms",
        "privacy": "https://www.rime.ai/privacy",
        "statusPage": "https://www.rimestat.us",
        "changelog": "https://docs.rime.ai/docs/changelog",
        "securityTxt": "none",
        "checked": "2026-11-04",
        "notes": [
          "The terms name Rime Labs, Inc. and are effective as of 29 October 2026.",
          "status.rime.ai redirects to www.rimestat.us, an incident.io page with Text-to-speech API and Platform API components and history since 30 August 2026.",
          "www.rime.ai/.well-known/security.txt answered 404 on 28 October 2026 per the rime-prism check. The security page links a vulnerability disclosure policy."
        ],
        "score": 81
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/rime-tts.json",
      "live": {
        "slug": "rime-tts",
        "probe": {
          "target": "https://users.rime.ai",
          "method": "get",
          "lastAt": "2026-11-07T18:20:51.218682605Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 503,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 464,
          "p95ms24h": 581,
          "samples24h": 239,
          "samples30d": 7910,
          "days": [
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-29",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "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://www.rimestat.us",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-07T18:21:58.900903489Z"
        },
        "securityTxt": {
          "url": "https://rime.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:01:23.635370448Z"
        },
        "llmsTxt": {
          "url": "https://docs.rime.ai/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:33:51.399495477Z"
        },
        "domain": {
          "domain": "rime.ai",
          "registered": "2020-03-12",
          "source": "https://rdap.identitydigital.services/rdap/domain/rime.ai",
          "checkedAt": "2026-11-01T14:12:28.680529767Z"
        },
        "pages": [
          {
            "url": "https://docs.rime.ai/docs/changelog",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-10-29T05:05:34.557204024Z",
            "changedAt": "2026-10-29T05:05:34.557204024Z",
            "fingerprint": "851bbb997538"
          },
          {
            "url": "https://www.rime.ai/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-29T05:27:04.682060786Z",
            "changedAt": "2026-10-29T05:27:04.682060786Z",
            "fingerprint": "93703f2e1be5"
          },
          {
            "url": "https://www.rime.ai/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-29T05:27:06.82446392Z",
            "changedAt": "2026-10-29T05:27:06.82446392Z",
            "fingerprint": "13f4cc4ec5e7"
          },
          {
            "url": "https://www.rime.ai/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-29T05:27:08.83772151Z",
            "changedAt": "2026-10-29T05:27:08.83772151Z",
            "fingerprint": "38e03bd0039b"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.rime.ai",
          "checkedAt": "2026-11-07T01:47:22.767530444Z",
          "status": "ok",
          "protocol": "2025-11-25",
          "tools": [
            {
              "name": "list_voices",
              "title": "List Rime voices",
              "description": "List Rime's voice catalog as JSON keyed by model and language: { modelId: { langCode: [speaker, ...] } }. No API key required. Optionally filter by `model` (e.g. 'coda', 'mistv3', 'arcana') and/or `language` (the ISO 639-2 catalog key, e.g. 'eng'), and cap output with `limit` (max speakers per model+language list). Use get_voice_details for demographics and the exact `lang` value to pass to synthesize_speech.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "additionalProperties": false,
                "properties": {
                  "language": {
                    "description": "Filter to an ISO 639-2 language key, e.g. 'eng'.",
                    "type": "string"
                  },
                  "limit": {
                    "description": "Max speakers per model+language list. Truncated results say how many were omitted.",
                    "exclusiveMinimum": 0,
                    "type": "integer"
                  },
                  "model": {
                    "description": "Filter to a single model id, e.g. 'coda'.",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "annotations": {
                "openWorldHint": true,
                "readOnlyHint": true
              }
            },
            {
              "name": "get_voice_details",
              "title": "Get Rime voice details",
              "description": "Return detailed metadata for Rime voices (gender, age, accent/dialect, country, genre, model, and language). This is where the `lang` value for synthesize_speech comes from, and it carries the demographic metadata you use to choose a voice. No API key required. All filters are optional and applied client-side: `speaker`, `model`, `gender`, `language` (matches either the `language` or `lang` field).",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "additionalProperties": false,
                "properties": {
                  "gender": {
                    "description": "Filter by gender, e.g. 'female'.",
                    "type": "string"
                  },
                  "language": {
                    "description": "Filter by language; matches the `language` or `lang` field, e.g. 'eng'.",
                    "type": "string"
                  },
                  "model": {
                    "description": "Filter to a model id, e.g. 'coda'.",
                    "type": "string"
                  },
                  "speaker": {
                    "description": "Filter to a speaker name, e.g. 'astra'.",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "annotations": {
                "openWorldHint": true,
                "readOnlyHint": true
              }
            },
            {
              "name": "check_dictionary",
              "title": "Check Rime dictionary coverage",
              "description": "Check which words are NOT in Rime's pronunciation dictionary. Returns the list of out-of-dictionary words; an empty list means all words are covered. Out-of-dictionary words still synthesize, but you may want to add custom pronunciations for them. Requires RIME_API_KEY.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "additionalProperties": false,
                "properties": {
                  "text": {
                    "description": "Words to check; separate by spaces, commas, or newlines.",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "text"
                ],
                "type": "object"
              },
              "annotations": {
                "openWorldHint": true,
                "readOnlyHint": true
              }
            },
            {
              "name": "normalize_text",
              "title": "Preview Rime text normalization",
              "description": "Preview how Rime normalizes text before synthesis — exactly what the TTS model will speak. Useful for debugging numbers, dates, phone numbers, currency, and abbreviations. Returns the normalized string. Requires RIME_API_KEY.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "additionalProperties": false,
                "properties": {
                  "text": {
                    "description": "The text to normalize.",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "text"
                ],
                "type": "object"
              },
              "annotations": {
                "openWorldHint": true,
                "readOnlyHint": true
              }
            },
            {
              "name": "synthesize_speech",
              "title": "Synthesize speech with Rime",
              "description": "Generate an MP3 speech sample from text using Rime TTS, rendered in an inline audio player. All arguments are optional: with none, it plays a default sample in the canonical demo voice (`lyra` on the `coda` flagship model) — the fastest way to hear Rime. Choose `speaker` and `modelId` from list_voices / get_voice_details to try others. The `language` argument is optional: by default it is omitted and Rime infers the language from the speaker (works for English); when provided it is sent as `lang` (e.g. 'eng', the value from get_voice_details). This calls Rime's API and consumes credits, so keep sample text short. Requires RIME_API_KEY.\n\nPLAYBACK: UI hosts render an inline audio player. In a terminal/agent host that can't render the widget, download the returned play URL (also in structuredContent.audioUrl) and play it with a system player — e.g. `curl -s \u003curl\u003e -o /tmp/rime.mp3 \u0026\u0026 (afplay /tmp/rime.mp3 || ffplay -nodisp -autoexit /tmp/rime.mp3 || mpv /tmp/rime.mp3 || aplay /tmp/rime.mp3)`. Set include_audio=true to also receive a standard MCP audio block for hosts that play audio natively.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "additionalProperties": false,
                "properties": {
                  "include_audio": {
                    "default": false,
                    "description": "Also return the audio as a standard MCP audio content block (base64). Enable for hosts that play audio natively; adds the audio to the model's context.",
                    "type": "boolean"
                  },
                  "language": {
                    "description": "Optional language; sent as `lang` only if provided (e.g. 'eng'). Omit to let Rime infer from the speaker.",
                    "type": "string"
                  },
                  "modelId": {
                    "default": "coda",
                    "description": "Model id: 'coda' (flagship), 'mistv3', 'arcana', ...",
                    "type": "string"
                  },
                  "speaker": {
                    "default": "lyra",
                    "description": "Voice name from list_voices / get_voice_details (default: 'lyra').",
                    "type": "string"
                  },
                  "text": {
                    "default": "Hi, I'm a Rime voice. This is what I sound like.",
                    "description": "Text to synthesize (max 2000 chars). Omit to play a default sample.",
                    "maxLength": 2000,
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "outputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "additionalProperties": false,
                "properties": {
                  "audioUrl": {
                    "type": "string"
                  },
                  "format": {
                    "type": "string"
                  },
                  "modelId": {
                    "type": "string"
                  },
                  "sizeKb": {
                    "type": "number"
                  },
                  "speaker": {
                    "type": "string"
                  },
                  "text": {
                    "type": "string"
                  }
                },
                "required": [
                  "speaker",
                  "modelId",
                  "format",
                  "sizeKb",
                  "text",
                  "audioUrl"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "openWorldHint": true,
                "readOnlyHint": false
              }
            },
            {
              "name": "generate_integration",
              "title": "Generate a Rime integration snippet",
              "description": "Generate a ready-to-run code snippet for wiring Rime TTS into a voice agent framework (Pipecat or LiveKit). Returns install commands, code, and .env notes. No network call. Pipecat is Python-only. For LiveKit, `mode` selects 'plugin' (use your own Rime key) or 'inference' (run on LiveKit Cloud, no Rime key).",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "additionalProperties": false,
                "properties": {
                  "framework": {
                    "description": "Target framework.",
                    "enum": [
                      "pipecat",
                      "livekit"
                    ],
                    "type": "string"
                  },
                  "language": {
                    "default": "python",
                    "description": "Only affects LiveKit; Pipecat is Python-only.",
                    "enum": [
                      "python",
                      "node"
                    ],
                    "type": "string"
                  },
                  "mode": {
                    "default": "plugin",
                    "description": "LiveKit only: 'plugin' = your own Rime key; 'inference' = LiveKit Cloud.",
                    "enum": [
                      "plugin",
                      "inference"
                    ],
                    "type": "string"
                  },
                  "model": {
                    "default": "coda",
                    "description": "Rime model id, e.g. 'coda' (flagship).",
                    "type": "string"
                  },
                  "speaker": {
                    "default": "lyra",
                    "description": "Rime speaker name, e.g. 'lyra'.",
                    "type": "string"
                  }
                },
                "required": [
                  "framework"
                ],
                "type": "object"
              },
              "annotations": {
                "openWorldHint": false,
                "readOnlyHint": true
              }
            }
          ],
          "schemaTokens": 1849,
          "changedAt": "2026-11-07T01:47:22.767530444Z",
          "check": {
            "checker": "anchor-check/1.0",
            "totalTokens": 1849,
            "counts": {
              "error": 0,
              "note": 1,
              "warn": 0
            },
            "findings": [
              {
                "rule": "TC24",
                "severity": "note",
                "message": "5 of 6 tools have no outputSchema",
                "fix": "Declare outputSchema for tools that return structured data, and return structuredContent that matches it."
              }
            ]
          }
        },
        "updatedAt": "2026-11-07T18:21:58.900903489Z"
      }
    },
    "answer": "Smallest.ai Lightning TTS scores 64.4 (B) on agent readiness against Rime TTS API + MCP's 54.8 (C), and leads in 3 of 7 scored categories. Rime TTS API + MCP leads on security \u0026 auth and transparency \u0026 trust.",
    "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": 33,
        "category": "schema",
        "leads": "smallest-lightning-tts",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "No OpenAPI file (0). The Coda Protobuf quickstart says the `rime-api` package on PyPI carries `text_to_speech.proto` and `text_to_speech.asyncapi.yaml`, but pypi.org didn't resolve on 4 November, so the files weren't read and the line stays at 0 as never read. llms.txt with Markdown pages (10). The models page says which model suits what, and that a request without `modelId` goes to Mist v3 (15 of 20). Parameters are typed in reference tables (10 of 15). Examples on each endpoint and an errors page listing the messages for each status, as plain text (12 of 15). Dated changelog and versioned WebSocket paths (`/ws3`, `/ws2`), no API version header (12 of 15). 0+10+15+10+12+12 = 59.",
          "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": 59,
          "b": 92
        }
      },
      {
        "by": 12,
        "category": "ergonomics",
        "leads": "smallest-lightning-tts",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "API reading of the checklist. MP3, WAV, Opus, PCM and mu-law from 8 to 96 kHz, chosen by `Accept`, with word timestamps on `/ws3` (22 of 25). HTTP requests stop at 1,000 characters and the WebSocket buffers by sentence, but no voice-list paging or filters found in the API (12 of 20). Errors are plain-text messages, 11 for validation and 5 for auth, with no machine-readable codes, and WebSocket failures arrive as close code 1011 with the reason in a string (12 of 20). Clear retry guidance, and the docs say retries are billed (10 of 20). Two required fields, but the default model breaks Coda speakers. The Rime SDK now has TTS clients in Python, Node.js, Go and Rust that require the model, all 0.1.0 alpha releases. Partly met, so the earlier 4 is kept and flagged (4 of 15).",
          "b": "API reading of the checklist. Eight output formats, a choice of sample rate and word timestamps only when asked (22 of 25). Voices are listed per model and the docs say they filter by language and accent. Paging wasn't confirmed (14 of 20). Errors carry `error` and `message` fields with a shared status-code guide, without TTS-specific codes (14 of 20). Synthesis is stateless and `request_id` is echoed for correlation, but there is no idempotency key and billing of a retried request isn't stated (10 of 20). Two required fields, `text` and `voice_id`, but the default model retires on 30 November. Official Python and Node SDKs, with the Node SDK last published in May 2025 (12 of 15). Total 72."
        },
        "scores": {
          "a": 60,
          "b": 72
        }
      },
      {
        "by": 11,
        "category": "reliability",
        "leads": "smallest-lightning-tts",
        "name": "Reliability",
        "reasons": {
          "a": "status.rime.ai now redirects to www.rimestat.us, an incident.io page with a Text-to-speech API component and history since 30 August 2026 (20, was 10). Its feed lists two incidents in the 90 days from 6 August, \"Text-to-speech APIs are partially degraded\" on 3 and 5 September, both partial. The window before 30 August can't be read, and this run gives no credit for an unread part of the window, so the line keeps its recorded award (5). The errors page says synthesis concurrency depends on the plan and points to the pricing page, which on 4 November lists the Free, Flex, Scale and Enterprise plans with no concurrency or rate figure, and the WebSocket connection limit isn't published. The Starter figure of 20 concurrent generations is gone (0, was 10). The errors page says to back off on 429 and retry the upgrade after a delay, marks 500 and 502 as retryable and warns that retries bill as new synthesis. Synthesis writes nothing, so safe-retry guidance without idempotency keys earns 12 in this run, as soniox-tts, fish-audio-tts and rime-prism (12, was 15). SLAs are an Enterprise item, none published (0). Coda and Mist v3 are GA (10). 20+5+0+12+0+10 = 47.",
          "b": "BetterStack status page at status.smallest.ai with components for the Global, India and USA APIs (one health check covers the Agents and Models APIs), docs, the app and Electron, and per-component history (20). In the 90 days from 8 August the health checks on the shared API failed in all three regions on 9, 10, 13, 14 and 15 September (about 8, 21, 33, 17 and 64 minutes of flapping), in the Global and India regions on 11 and 17 September (12 minutes each), and in the USA region alone on 1, 3, 5, 12, 21 and 30 September (6 to 62 minutes) and 6 October (12 minutes). Outages in every region at once are read as wide errors, so several majors (0). Limits are published with numbers but disagree. The limits page says one TTS request at a time per account with up to five sockets, the Lightning v3.1 Pro card says 10 concurrent and the pricing page says 15 streams and 100 requests a minute on pay as you go (8 of 15). 429 is documented with exponential backoff from 500 ms to 30 s and Retry-After when present, and the limits page tells clients to expect 429s at the concurrency ceiling (15). An infrastructure SLA of 99.99 per cent is named for Enterprise only, with no terms, and the terms disclaim any availability commitment (5 of 10). `lightning_v3.1_pro` is stable and only the dated checkpoint is preview (10). 20 + 0 + 8 + 15 + 5 + 10 = 58."
        },
        "scores": {
          "a": 47,
          "b": 58
        }
      },
      {
        "by": 7,
        "category": "security",
        "leads": "rime-tts",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Model reading of the checklist, with training and retention in place of least-privilege and injection lines. One Bearer key per request, sent as a header on WebSockets too, with no scopes or short-lived tokens, so browser apps need a server bridge (20 of 30). The terms effective 29 October 2026 (section 6.3(b)) grant Rime a perpetual licence to train its models on Free Plan customer data, excluding voice recordings and audio with a natural person's voice, with no opt-out found. Paid plans aren't covered by that licence, and the privacy policy says customer data isn't used for training unless agreed (10, was 20). Only character counts are kept by default, and request retention for support is an off-by-default dashboard switch since 2026-08-25 (15). No per-call log found (0 of 15). SOC 2 Type II since May 2025, HIPAA since February 2024 with an audit in March 2026, and a formal vulnerability disclosure programme linked from the security page. No security.txt or bug bounty, the same reading as rime-prism (14 of 20, was 10). 20+10+15+0+14 = 59.",
          "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": 59,
          "b": 52
        }
      },
      {
        "by": 6,
        "category": "transparency",
        "leads": "rime-tts",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Closed service with clear terms, effective 29 October 2026, and the SDK under MIT (15). The privacy page and the changelog agree on character counts only and optional retention off by default. The new terms' Free Plan training licence contradicts the security page's \"We never use customer text or audio to train our models\", which is charged once as the misleading-claim deduction, so the line holds (22 of 30). The terms promise at least 30 days' notice before a paid plan's Model Version is retired, and Arcana's retirement in August came with 17 days' notice before that policy, the reading rime-prism takes (15, was 10). A sub-processor list names 12 companies with their services, all in the United States, and the cloud runs in US West and US East plus VPC and on-prem (18, was 8). 15+22+15+18 = 70.",
          "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": 76,
          "b": 70
        }
      }
    ],
    "facts": [
      {
        "a": "Model API",
        "b": "Model API",
        "name": "Kind"
      },
      {
        "a": "Rime Labs",
        "b": "Smallest AI",
        "name": "Vendor"
      },
      {
        "a": "https://users.rime.ai",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP, websocket",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "6",
        "b": "0",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-11-04",
        "b": "2026-11-02",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "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": "yes",
        "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": "yes",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "3/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Smallest.ai Lightning TTS scores 64.4 (B) on agent readiness against Rime TTS API + MCP's 54.8 (C), and leads in 3 of 7 scored categories. Rime TTS API + MCP leads on security \u0026 auth and transparency \u0026 trust.",
        "question": "Which is better for AI agents, Rime TTS API + MCP or Smallest.ai Lightning TTS?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do Rime TTS API + MCP and Smallest.ai Lightning TTS need an API key?"
      },
      {
        "answer": "Rime TTS API + MCP has a hosted endpoint at https://users.rime.ai. No hosted endpoint is listed for Smallest.ai Lightning TTS.",
        "question": "Can an agent call Rime TTS API + MCP and Smallest.ai Lightning TTS without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Security \u0026 auth, 59 against 52",
          "Transparency \u0026 trust, 76 against 70"
        ],
        "also": [
          "A hosted endpoint, with nothing to install",
          "Free to start without a card"
        ],
        "goodFor": "English and a handful of other languages in live voice agents where the operator cares most about data terms and price.",
        "slug": "rime-tts",
        "watchFor": "No OpenAPI file read, and the official SDKs are all 0.1.0 alpha"
      },
      {
        "aheadOn": [
          "Reliability, 58 against 47",
          "Schema \u0026 documentation, 92 against 59",
          "Agent ergonomics, 72 against 60"
        ],
        "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": {
      "rime-tts": [
        {
          "causes": [
            "terms",
            "product",
            "evidence",
            "correction",
            "event"
          ],
          "date": "2026-11-04",
          "delta": -1.1,
          "from": 55.9,
          "fromGrade": "C",
          "to": 54.8,
          "toGrade": "C"
        },
        {
          "causes": [
            "evidence"
          ],
          "date": "2026-10-27",
          "delta": 0.1,
          "from": 55.8,
          "fromGrade": "C",
          "to": 55.9,
          "toGrade": "C"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-08",
          "delta": -0.3,
          "from": 56.1,
          "fromGrade": "C",
          "to": 55.8,
          "toGrade": "C"
        }
      ],
      "smallest-lightning-tts": null
    },
    "job": {
      "capability": "speech.tts",
      "name": "Text-to-speech"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/amazon-polly-vs-rime-tts.json",
        "title": "Amazon Polly vs Rime TTS API + MCP",
        "url": "https://www.anchorterminal.com/compare/amazon-polly-vs-rime-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-rime-tts.json",
        "title": "Azure AI Speech text-to-speech vs Rime TTS API + MCP",
        "url": "https://www.anchorterminal.com/compare/azure-text-to-speech-vs-rime-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-rime-tts.json",
        "title": "Cartesia Sonic TTS API + MCP vs Rime TTS API + MCP",
        "url": "https://www.anchorterminal.com/compare/cartesia-tts-vs-rime-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-rime-tts.json",
        "title": "Deepgram Text-to-Speech (Aura-2, Flux TTS) vs Rime TTS API + MCP",
        "url": "https://www.anchorterminal.com/compare/deepgram-tts-vs-rime-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-rime-tts.json",
        "title": "ElevenLabs Text to Speech API + MCP vs Rime TTS API + MCP",
        "url": "https://www.anchorterminal.com/compare/elevenlabs-tts-vs-rime-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-rime-tts.json",
        "title": "Fish Audio TTS API vs Rime TTS API + MCP",
        "url": "https://www.anchorterminal.com/compare/fish-audio-tts-vs-rime-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-rime-tts.json",
        "title": "Google Cloud Text-to-Speech vs Rime TTS API + MCP",
        "url": "https://www.anchorterminal.com/compare/google-cloud-tts-vs-rime-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-rime-tts.json",
        "title": "HeyGen Voice vs Rime TTS API + MCP",
        "url": "https://www.anchorterminal.com/compare/heygen-voice-vs-rime-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-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-smallest-lightning-tts.json",
        "title": "Inworld Realtime TTS-2 vs Smallest.ai Lightning TTS",
        "url": "https://www.anchorterminal.com/compare/inworld-tts-vs-smallest-lightning-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/minimax-speech-vs-rime-tts.json",
        "title": "MiniMax Speech (T2A) vs Rime TTS API + MCP",
        "url": "https://www.anchorterminal.com/compare/minimax-speech-vs-rime-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-rime-tts.json",
        "title": "Murf TTS API + MCP vs Rime TTS API + MCP",
        "url": "https://www.anchorterminal.com/compare/murf-tts-vs-rime-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-rime-tts.json",
        "title": "PlayHT Text-to-Speech API vs Rime TTS API + MCP",
        "url": "https://www.anchorterminal.com/compare/playht-tts-vs-rime-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-rime-tts.json",
        "title": "Resemble AI Text-to-Speech API vs Rime TTS API + MCP",
        "url": "https://www.anchorterminal.com/compare/resemble-ai-tts-vs-rime-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-soniox-tts.json",
        "title": "Rime TTS API + MCP vs Soniox Text-to-Speech",
        "url": "https://www.anchorterminal.com/compare/rime-tts-vs-soniox-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": 11,
        "edge": "smallest-lightning-tts",
        "key": "reliability",
        "name": "Reliability",
        "rime-tts": 47,
        "smallest-lightning-tts": 58,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 33,
        "edge": "smallest-lightning-tts",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "rime-tts": 59,
        "smallest-lightning-tts": 92,
        "weight": 13
      },
      {
        "by": 12,
        "edge": "smallest-lightning-tts",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "rime-tts": 60,
        "smallest-lightning-tts": 72,
        "weight": 13
      },
      {
        "by": 7,
        "edge": "rime-tts",
        "key": "security",
        "name": "Security \u0026 auth",
        "rime-tts": 59,
        "smallest-lightning-tts": 52,
        "weight": 14
      },
      {
        "by": 0,
        "edge": "",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "rime-tts": 40,
        "smallest-lightning-tts": 40,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 2,
        "edge": "rime-tts",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "rime-tts": 70,
        "smallest-lightning-tts": 68,
        "weight": 7
      },
      {
        "by": 6,
        "edge": "rime-tts",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "rime-tts": 76,
        "smallest-lightning-tts": 70,
        "weight": 7
      }
    ],
    "summary": "Smallest.ai Lightning TTS scores 64.4 (B) on agent readiness against Rime TTS API + MCP's 54.8 (C), and leads in 3 of 7 scored categories. Rime TTS API + MCP leads on security \u0026 auth and transparency \u0026 trust. Both do text-to-speech.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "rime-tts": "Per-minute prices are public, $50 of free usage a month needs no card, and official SDKs now cover four languages, all alpha. Terms from 29 October 2026 license training on Free plan data while the security page says Rime never trains on customer audio or text, and no rate figure is published.",
      "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/rime-tts-vs-smallest-lightning-tts",
    "json": "https://www.anchorterminal.com/compare/rime-tts-vs-smallest-lightning-tts.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/rime-tts-vs-smallest-lightning-tts.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/rime-tts-vs-smallest-lightning-tts.min.md"
  },
  "markdown": "Smallest.ai Lightning TTS scores 64.4 (B) on agent readiness against Rime TTS API + MCP's 54.8 (C), and leads in 3 of 7 scored categories. Rime TTS API + MCP leads on security \u0026 auth and transparency \u0026 trust. Both do text-to-speech.\n\n- Rime TTS API + MCP: grade C, 54.8/100, rank #891 of 1486. Markdown https://www.anchorterminal.com/tools/rime-tts.md · JSON https://www.anchorterminal.com/api/v1/tools/rime-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### Rime TTS API + MCP (C)\n\nGood for: English and a handful of other languages in live voice agents where the operator cares most about data terms and price.\n\nAhead on:\n- Security \u0026 auth, 59 against 52\n- Transparency \u0026 trust, 76 against 70\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 file read, and the official SDKs are all 0.1.0 alpha\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- Reliability, 58 against 47\n- Schema \u0026 documentation, 92 against 59\n- Agent ergonomics, 72 against 60\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 +33\n\n- Rime TTS API + MCP (59): No OpenAPI file (0). The Coda Protobuf quickstart says the `rime-api` package on PyPI carries `text_to_speech.proto` and `text_to_speech.asyncapi.yaml`, but pypi.org didn't resolve on 4 November, so the files weren't read and the line stays at 0 as never read. llms.txt with Markdown pages (10). The models page says which model suits what, and that a request without `modelId` goes to Mist v3 (15 of 20). Parameters are typed in reference tables (10 of 15). Examples on each endpoint and an errors page listing the messages for each status, as plain text (12 of 15). Dated changelog and versioned WebSocket paths (`/ws3`, `/ws2`), no API version header (12 of 15). 0+10+15+10+12+12 = 59.\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### Agent ergonomics: Smallest.ai Lightning TTS +12\n\n- Rime TTS API + MCP (60): API reading of the checklist. MP3, WAV, Opus, PCM and mu-law from 8 to 96 kHz, chosen by `Accept`, with word timestamps on `/ws3` (22 of 25). HTTP requests stop at 1,000 characters and the WebSocket buffers by sentence, but no voice-list paging or filters found in the API (12 of 20). Errors are plain-text messages, 11 for validation and 5 for auth, with no machine-readable codes, and WebSocket failures arrive as close code 1011 with the reason in a string (12 of 20). Clear retry guidance, and the docs say retries are billed (10 of 20). Two required fields, but the default model breaks Coda speakers. The Rime SDK now has TTS clients in Python, Node.js, Go and Rust that require the model, all 0.1.0 alpha releases. Partly met, so the earlier 4 is kept and flagged (4 of 15).\n- Smallest.ai Lightning TTS (72): API reading of the checklist. Eight output formats, a choice of sample rate and word timestamps only when asked (22 of 25). Voices are listed per model and the docs say they filter by language and accent. Paging wasn't confirmed (14 of 20). Errors carry `error` and `message` fields with a shared status-code guide, without TTS-specific codes (14 of 20). Synthesis is stateless and `request_id` is echoed for correlation, but there is no idempotency key and billing of a retried request isn't stated (10 of 20). Two required fields, `text` and `voice_id`, but the default model retires on 30 November. Official Python and Node SDKs, with the Node SDK last published in May 2025 (12 of 15). Total 72.\n\n### Reliability: Smallest.ai Lightning TTS +11\n\n- Rime TTS API + MCP (47): status.rime.ai now redirects to www.rimestat.us, an incident.io page with a Text-to-speech API component and history since 30 August 2026 (20, was 10). Its feed lists two incidents in the 90 days from 6 August, \"Text-to-speech APIs are partially degraded\" on 3 and 5 September, both partial. The window before 30 August can't be read, and this run gives no credit for an unread part of the window, so the line keeps its recorded award (5). The errors page says synthesis concurrency depends on the plan and points to the pricing page, which on 4 November lists the Free, Flex, Scale and Enterprise plans with no concurrency or rate figure, and the WebSocket connection limit isn't published. The Starter figure of 20 concurrent generations is gone (0, was 10). The errors page says to back off on 429 and retry the upgrade after a delay, marks 500 and 502 as retryable and warns that retries bill as new synthesis. Synthesis writes nothing, so safe-retry guidance without idempotency keys earns 12 in this run, as soniox-tts, fish-audio-tts and rime-prism (12, was 15). SLAs are an Enterprise item, none published (0). Coda and Mist v3 are GA (10). 20+5+0+12+0+10 = 47.\n- Smallest.ai Lightning TTS (58): BetterStack status page at status.smallest.ai with components for the Global, India and USA APIs (one health check covers the Agents and Models APIs), docs, the app and Electron, and per-component history (20). In the 90 days from 8 August the health checks on the shared API failed in all three regions on 9, 10, 13, 14 and 15 September (about 8, 21, 33, 17 and 64 minutes of flapping), in the Global and India regions on 11 and 17 September (12 minutes each), and in the USA region alone on 1, 3, 5, 12, 21 and 30 September (6 to 62 minutes) and 6 October (12 minutes). Outages in every region at once are read as wide errors, so several majors (0). Limits are published with numbers but disagree. The limits page says one TTS request at a time per account with up to five sockets, the Lightning v3.1 Pro card says 10 concurrent and the pricing page says 15 streams and 100 requests a minute on pay as you go (8 of 15). 429 is documented with exponential backoff from 500 ms to 30 s and Retry-After when present, and the limits page tells clients to expect 429s at the concurrency ceiling (15). An infrastructure SLA of 99.99 per cent is named for Enterprise only, with no terms, and the terms disclaim any availability commitment (5 of 10). `lightning_v3.1_pro` is stable and only the dated checkpoint is preview (10). 20 + 0 + 8 + 15 + 5 + 10 = 58.\n\n### Security \u0026 auth: Rime TTS API + MCP +7\n\n- Rime TTS API + MCP (59): Model reading of the checklist, with training and retention in place of least-privilege and injection lines. One Bearer key per request, sent as a header on WebSockets too, with no scopes or short-lived tokens, so browser apps need a server bridge (20 of 30). The terms effective 29 October 2026 (section 6.3(b)) grant Rime a perpetual licence to train its models on Free Plan customer data, excluding voice recordings and audio with a natural person's voice, with no opt-out found. Paid plans aren't covered by that licence, and the privacy policy says customer data isn't used for training unless agreed (10, was 20). Only character counts are kept by default, and request retention for support is an off-by-default dashboard switch since 2026-08-25 (15). No per-call log found (0 of 15). SOC 2 Type II since May 2025, HIPAA since February 2024 with an audit in March 2026, and a formal vulnerability disclosure programme linked from the security page. No security.txt or bug bounty, the same reading as rime-prism (14 of 20, was 10). 20+10+15+0+14 = 59.\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: Rime TTS API + MCP +6\n\n- Rime TTS API + MCP (76): Closed service with clear terms, effective 29 October 2026, and the SDK under MIT (15). The privacy page and the changelog agree on character counts only and optional retention off by default. The new terms' Free Plan training licence contradicts the security page's \"We never use customer text or audio to train our models\", which is charged once as the misleading-claim deduction, so the line holds (22 of 30). The terms promise at least 30 days' notice before a paid plan's Model Version is retired, and Arcana's retirement in August came with 17 days' notice before that policy, the reading rime-prism takes (15, was 10). A sub-processor list names 12 companies with their services, all in the United States, and the cloud runs in US West and US East plus VPC and on-prem (18, was 8). 15+22+15+18 = 70.\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 | Rime TTS API + MCP | Smallest.ai Lightning TTS | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 47 | 58 | Smallest.ai Lightning TTS +11 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 59 | 92 | Smallest.ai Lightning TTS +33 |\n| Agent ergonomics | 13% (16.2 this run) | 60 | 72 | Smallest.ai Lightning TTS +12 |\n| Security \u0026 auth | 14% (17.5 this run) | 59 | 52 | Rime TTS API + MCP +7 |\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) | 70 | 68 | Rime TTS API + MCP +2 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 76 | 70 | Rime TTS API + MCP +6 |\n| Negative events | ≤15 | -2 | 0 | |\n| **Total** | | **54.8 · C** | **64.4 · B** | |\n\n## Facts side by side\n\n| Fact | Rime TTS API + MCP | Smallest.ai Lightning TTS |\n| --- | --- | --- |\n| Kind | Model API | Model API |\n| Vendor | Rime Labs | Smallest AI |\n| Hosted endpoint | `https://users.rime.ai` | no (local only) |\n| Transports | HTTP, Streamable HTTP | HTTP, websocket |\n| Auth | API key | API key |\n| Pricing | Freemium | Pay per use |\n| x402 | no | no |\n| Tools exposed | 6 | 0 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-11-04 | 2026-11-02 |\n| Terms last updated | no date given | no date given |\n| Privacy policy last updated | no date given | 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 | yes | 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 | yes | yes |\n| Agent reviews | 3/5 (2) | none |\n\n## How the scores have moved\n\n### Rime TTS API + MCP\n\n- -1.1 on 4 November 2026: terms, product, new evidence, correction, negative event\n- +0.1 on 27 October 2026: new evidence\n- -0.3 on 8 October 2026: checklist\n\n### Smallest.ai Lightning TTS\n\nNo score change since it was listed.\n\n## Verdicts\n\n**Rime TTS API + MCP.** Per-minute prices are public, $50 of free usage a month needs no card, and official SDKs now cover four languages, all alpha. Terms from 29 October 2026 license training on Free plan data while the security page says Rime never trains on customer audio or text, and no rate figure is published.\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### Rime TTS API + MCP\n\n1. Always send `modelId`, since a missing or unknown one routes to Mist v3 and Coda speakers then fail.\n2. Keep HTTP requests under 1,000 characters or use the WebSocket.\n3. Back off on 429 before reopening a WebSocket, and remember each retry bills again.\n4. Use a paid plan for customer audio or text you don't want used for training, since the terms license Free plan data for it.\n5. Keep the key server-side, since WebSockets take it in a header and there are no short-lived tokens.\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, Rime TTS API + MCP or Smallest.ai Lightning TTS?\n\nSmallest.ai Lightning TTS scores 64.4 (B) on agent readiness against Rime TTS API + MCP's 54.8 (C), and leads in 3 of 7 scored categories. Rime TTS API + MCP leads on security \u0026 auth and transparency \u0026 trust.\n\n### Do Rime TTS API + MCP and Smallest.ai Lightning TTS need an API key?\n\nBoth need an API key.\n\n### Can an agent call Rime TTS API + MCP and Smallest.ai Lightning TTS without installing anything?\n\nRime TTS API + MCP has a hosted endpoint at https://users.rime.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/rime-tts-vs-smallest-lightning-tts.json, and with the fewest tokens: https://www.anchorterminal.com/compare/rime-tts-vs-smallest-lightning-tts.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"rime-tts\", \"b\": \"smallest-lightning-tts\"}`. From a terminal: `anchor compare rime-tts smallest-lightning-tts`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/rime-tts.json and https://www.anchorterminal.com/api/v1/tools/smallest-lightning-tts.json\n\n## Other comparisons with Rime TTS API + MCP or Smallest.ai Lightning TTS\n\n- [Amazon Polly vs Rime TTS API + MCP](https://www.anchorterminal.com/compare/amazon-polly-vs-rime-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 Rime TTS API + MCP](https://www.anchorterminal.com/compare/azure-text-to-speech-vs-rime-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 Rime TTS API + MCP](https://www.anchorterminal.com/compare/cartesia-tts-vs-rime-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 Rime TTS API + MCP](https://www.anchorterminal.com/compare/deepgram-tts-vs-rime-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 Rime TTS API + MCP](https://www.anchorterminal.com/compare/elevenlabs-tts-vs-rime-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 Rime TTS API + MCP](https://www.anchorterminal.com/compare/fish-audio-tts-vs-rime-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 Rime TTS API + MCP](https://www.anchorterminal.com/compare/google-cloud-tts-vs-rime-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 Rime TTS API + MCP](https://www.anchorterminal.com/compare/heygen-voice-vs-rime-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 Rime TTS API + MCP](https://www.anchorterminal.com/compare/inworld-tts-vs-rime-tts.md)\n- [Inworld Realtime TTS-2 vs Smallest.ai Lightning TTS](https://www.anchorterminal.com/compare/inworld-tts-vs-smallest-lightning-tts.md)\n- [MiniMax Speech (T2A) vs Rime TTS API + MCP](https://www.anchorterminal.com/compare/minimax-speech-vs-rime-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 Rime TTS API + MCP](https://www.anchorterminal.com/compare/murf-tts-vs-rime-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 Rime TTS API + MCP](https://www.anchorterminal.com/compare/playht-tts-vs-rime-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 Rime TTS API + MCP](https://www.anchorterminal.com/compare/resemble-ai-tts-vs-rime-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 Soniox Text-to-Speech](https://www.anchorterminal.com/compare/rime-tts-vs-soniox-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": "Rime TTS API + MCP vs Smallest.ai Lightning TTS",
        "url": ""
      }
    ],
    "description": "Smallest.ai Lightning TTS scores 64.4 (B) to Rime TTS's 54.8 (C) for text-to-speech. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Rime TTS API + MCP C 54.8",
      "Smallest.ai Lightning TTS B 64.4",
      "scores"
    ],
    "h1": "Rime TTS API + MCP vs Smallest.ai Lightning TTS",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/rime-tts-vs-smallest-lightning-tts",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Rime TTS vs Smallest.ai Lightning TTS for AI agents (2026)",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/rime-tts-vs-smallest-lightning-tts"
  },
  "tokens": {
    "markdown": 5400,
    "slim": 3180
  },
  "version": 1
}
