{
  "data": {
    "a": {
      "slug": "minimax-speech",
      "name": "MiniMax Speech (T2A)",
      "vendor": "MiniMax",
      "vendorUrl": "https://www.minimax.io",
      "kind": "model",
      "category": "text-to-speech",
      "summary": "MiniMax's text-to-speech API synthesises speech with its speech-2.8 HD and Turbo models over HTTP with optional streaming, WebSocket (including bidirectional text streaming) and an asynchronous long-text API, with 300+ system voices, pronunciation dictionaries and subtitles.",
      "url": "https://www.anchorterminal.com/tools/minimax-speech",
      "markdownUrl": "https://www.anchorterminal.com/tools/minimax-speech.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/minimax-speech.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/minimax-speech.json",
      "dns": "minimax-speech.grade.anchorterminal.com",
      "transports": [
        "http",
        "websocket"
      ],
      "packages": [
        {
          "registry": "pypi",
          "name": "minimax-mcp"
        },
        {
          "registry": "npm",
          "name": "minimax-mcp-js"
        }
      ],
      "auth": "api-key",
      "authNotes": "Bearer API key created in the platform console under Account, API Keys. No scopes were found in the docs. Mainland China accounts use `https://api.minimaxi.com`.",
      "pricing": "usage",
      "pricingNotes": "Pay as you go from a prepaid balance. speech-2.8-hd costs $100 and speech-2.8-turbo $60 per million characters, on the sync and async APIs alike. Audio subscriptions from $5 a month add voice slots and higher request rates. No free allowance is published for speech synthesis.",
      "priceSummary": "Pay per use",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, OpenAPI and AsyncAPI files or pricing page (checked 2026-11-06).",
        "endpoints": []
      },
      "toolCount": 0,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://platform.minimax.io/docs/api-reference/speech-t2a-http",
      "llmsTxt": "https://platform.minimax.io/docs/llms.txt",
      "openapi": "https://platform.minimax.io/docs/api-reference/speech/t2a/api/openapi.json",
      "capabilities": [
        "speech.tts",
        "speech.streaming",
        "speech.voices",
        "speech.languages"
      ],
      "tags": [
        "official",
        "hosted",
        "usage-priced",
        "prepaid",
        "openapi",
        "llms-txt",
        "mcp",
        "python",
        "typescript",
        "status-page"
      ],
      "lastRelease": "2026-01-23",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 55.1,
        "grade": "C",
        "agentReady": false,
        "rank": 884,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 13,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 56,
          "maintenance": 38,
          "payments": 20,
          "reliability": 75,
          "schema": 81,
          "security": 36,
          "transparency": 65
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "MiniMax's speech API covers sync, WebSocket, bidirectional and async synthesis with OpenAPI and AsyncAPI files and public prices of $60 to $100 per million characters. Text-to-Speech had only short incidents in 90 days. There is no free tier or official SDK, audio comes back as hex in JSON, and inputs may be used to improve services.",
        "bestFor": "Multilingual speech for narration and agents at mid-range prices, with strong Chinese voices by the vendor's account.",
        "strengths": [
          "OpenAPI files for sync and async synthesis and AsyncAPI files for both sockets",
          "Statuspage with a Text-to-Speech component; three incidents in 90 days, the longest 22 minutes",
          "Public prices of $60 (Turbo) and $100 (HD) per million characters on sync and async alike",
          "Pronunciation dictionaries, pause markers, timbre mixing and subtitles",
          "Official MCP servers in Python and JavaScript with a speech tool"
        ],
        "weaknesses": [
          "No free allowance for synthesis and no official SDK",
          "Sync responses carry audio as hex inside JSON, and the OpenAPI file documents only a 200 response",
          "API release notes stop at 28 October 2025, and the newest speech model dates from January 2026",
          "Terms let MiniMax use inputs to improve its services with no opt-out, and no retention period is published",
          "No security.txt, disclosure policy or certification found"
        ],
        "agentNotes": [
          "Keep sync requests under 10,000 characters and use the async API for longer text",
          "Decode the hex `audio` field before saving, or stream for text over 3,000 characters",
          "Check `base_resp.status_code` on every response, since errors arrive inside a 200",
          "Stay under 60 requests a minute and back off on code 1002",
          "Use speech-2.8-turbo for agents and HD only where quality matters, since HD costs two thirds more"
        ],
        "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": 55.1
          }
        ],
        "editorialScores": {
          "ergonomics": 56,
          "maintenance": 38,
          "payments": 20,
          "reliability": 75,
          "schema": 81,
          "security": 36,
          "transparency": 48
        },
        "provenanceScore": 82,
        "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": {
        "http": "curl -X POST https://api.minimax.io/v1/t2a_v2 \\\n  -H \"Authorization: Bearer $MINIMAX_API_KEY\" -H \"Content-Type: application/json\" \\\n  -d '{\"model\": \"speech-2.8-turbo\", \"text\": \"Hello from MiniMax.\", \"voice_setting\": {\"voice_id\": \"English_expressive_narrator\"}}'"
      },
      "letme": {
        "capability": "https://letme.dev/speech.tts",
        "tool": "https://letme.dev/minimax-speech"
      },
      "sameCompany": [
        "minimax-api",
        "minimax-video",
        "minimax-stt",
        "minimax-voice-cloning",
        "minimax-code",
        "minimax-m2-5",
        "minimax-m2-7",
        "minimax-m3-1-flash"
      ],
      "area": "voice",
      "unitPrices": [
        {
          "item": "speech-2.8-hd",
          "unit": "1m-chars",
          "usd": 100,
          "note": "sync and async"
        },
        {
          "item": "speech-2.8-turbo",
          "unit": "1m-chars",
          "usd": 60,
          "note": "sync and async"
        }
      ],
      "provenance": {
        "legalEntity": "Nanonoble Pte. Ltd.",
        "domain": "minimax.io",
        "domainRegistered": "2021-03-27",
        "endpointOnVendorDomain": true,
        "terms": "https://platform.minimax.io/protocol/terms-of-service",
        "privacy": "https://platform.minimax.io/protocol/privacy-policy",
        "statusPage": "https://status.minimax.io",
        "changelog": "https://platform.minimax.io/docs/release-notes/apis",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "Nanonoble Pte. Ltd., 152 Beach Road, #14-02 Gateway East, Singapore, is named in the terms (effective 30 March 2026) and the privacy policy (updated 30 March 2026), read on 4 November 2026 from the document text the pages carry for the browser, as on the minimax-api listing. The 8 October reader recorded both pages as unreadable.",
          "RDAP for minimax.io gives a registration date of 2021-03-27 and a transfer on 2025-01-31, as recorded on 8 October.",
          "platform.minimax.io/.well-known/security.txt returns 404 (per the 8 October check), and www.minimax.io/.well-known/security.txt redirects to the home page.",
          "The API release notes page has no entry after 28 October 2025 on 4 November. Model releases are dated on a separate page, whose newest speech model is Speech 2.8 (23 January 2026).",
          "status.minimax.io/robots.txt disallows /api/, so incidents were read from the /history pages only.",
          "firstReleased is left empty. lastRelease is Speech 2.8, dated 23 January 2026 on the model release page."
        ],
        "score": 82
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/minimax-speech.json",
      "live": {
        "slug": "minimax-speech",
        "vendorStatus": {
          "page": "https://status.minimax.io",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-07T19:22:28.011553023Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "minimax-mcp-js",
            "version": "0.0.18",
            "seenAt": "2026-11-06T23:46:02.528010346Z"
          },
          {
            "registry": "pypi",
            "name": "minimax-mcp",
            "version": "0.0.19",
            "released": "2026-08-21",
            "seenAt": "2026-11-06T23:46:02.341494165Z"
          }
        ],
        "npmWeekly": 493,
        "pypiWeekly": 2443,
        "securityTxt": {
          "url": "https://minimax.io/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:00:57.120551174Z"
        },
        "llmsTxt": {
          "url": "https://platform.minimax.io/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:33:04.532998601Z"
        },
        "pages": [
          {
            "url": "https://platform.minimax.io/docs/release-notes/apis",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:16:49.741417545Z",
            "changedAt": "2026-11-05T12:39:36.530148547Z",
            "fingerprint": "dc39bde39ad3"
          }
        ],
        "updatedAt": "2026-11-07T19:22:28.011553023Z"
      }
    },
    "answer": "Soniox Text-to-Speech scores 70.5 (BB) on agent readiness against MiniMax Speech (T2A)'s 55.1 (C), and leads in 6 of 7 scored categories.",
    "b": {
      "slug": "soniox-tts",
      "name": "Soniox Text-to-Speech",
      "vendor": "Soniox",
      "vendorUrl": "https://soniox.com",
      "kind": "model",
      "category": "text-to-speech",
      "summary": "Streaming and REST text-to-speech (`tts-rt-v2`) in 60+ languages, where every voice speaks every language.",
      "url": "https://www.anchorterminal.com/tools/soniox-tts",
      "markdownUrl": "https://www.anchorterminal.com/tools/soniox-tts.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/soniox-tts.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/soniox-tts.json",
      "dns": "soniox-tts.grade.anchorterminal.com",
      "repo": "https://github.com/soniox/soniox-python",
      "license": "Apache-2.0 (Python SDK)",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://tts-rt.soniox.com",
      "packages": [
        {
          "registry": "npm",
          "name": "@soniox/node"
        },
        {
          "registry": "pypi",
          "name": "soniox"
        }
      ],
      "auth": "api-key",
      "authNotes": "Bearer API key per project, with permissions per resource (TTS real-time, cloned voices, usage, models, temporary keys), or a temporary API key for browser clients. REST at `POST https://tts-rt.soniox.com/tts`, WebSocket at `wss://tts-rt.soniox.com/tts-websocket`, where the key goes in the Authorization header or the protocols list; `api_key` in the config message works until 15 January 2027. Regional hosts for the EU, Japan and India. An organisation API key can create and delete project keys.",
      "pricing": "usage",
      "pricingNotes": "Token-based pay-as-you-go. Input text $4.00 per 1M tokens and output audio $21.50 per 1M tokens, which Soniox puts at about $0.70 an hour of generated speech (1 character is about 0.3 input tokens, 1 hour of audio about 30,000 output tokens). No free credits for new sign-ups (https://soniox.com/pricing).",
      "priceSummary": "Pay per use",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402 or machine payment in the docs or pricing. Billed to a funded account (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 12,
        "npmWeekly": 22200,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.soniox.com/tts/get-started",
      "llmsTxt": "https://docs.soniox.com/llms.txt",
      "openapi": "https://docs.soniox.com/openapi.yaml",
      "capabilities": [
        "speech.tts",
        "speech.streaming",
        "speech.voices",
        "speech.languages"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "python",
        "typescript",
        "llms-txt",
        "streaming",
        "openapi"
      ],
      "lastRelease": "2026-10-02",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 70.5,
        "grade": "BB",
        "agentReady": true,
        "rank": 199,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 6,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 78,
          "maintenance": 63,
          "payments": 20,
          "reliability": 87,
          "schema": 85,
          "security": 87,
          "transparency": 73
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-02"
        },
        "negative": -3,
        "negativeNotes": [
          "2026-10-02. Python SDK `soniox` 2.10.0, a minor release, lists under Removed `build_payload()` and `api_key` on `RealtimeSTTConfig` and `RealtimeTTSConfig` (reading `config.api_key` now raises `AttributeError`), and makes the API key a required argument of the realtime session classes. No earlier deprecation was found in the changelog. A breaking change in a minor release without notice takes 3 (https://github.com/soniox/soniox-python/blob/main/CHANGELOG.md)."
        ],
        "verdict": "Content is not stored by default or used for training, keys carry per-resource permissions, an OpenAPI file covers the REST endpoint, and no TTS incident was posted in the 90 days to 2 November. Audio stops at two minutes per request, and Python SDK 2.10.0 removed public interfaces in a minor release without notice.",
        "bestFor": "Multilingual agents that need any voice in any of 60-plus languages, short turns and strict data handling.",
        "strengths": [
          "Nothing is stored unless you ask and nothing trains on your content, per the security page",
          "API keys carry per-resource permissions, and an organisation API creates and deletes them",
          "OpenAPI 3.1.0 file with per-status error messages, plus one `error_type` format across surfaces",
          "Separate TTS REST and TTS Real-time status components in four regions, no TTS incident since 4 August",
          "SOC 2 Type 2, ISO/IEC 27001:2022 and HIPAA"
        ],
        "weaknesses": [
          "Audio stops at 2 minutes per request or stream and the cap can't be raised",
          "3 concurrent requests and 100 requests a minute by default",
          "`tts-rt-v1` was removed 20 days after its deprecation notice",
          "Python SDK 2.10.0 removed public interfaces in a minor release with no earlier deprecation",
          "No free credits for new accounts, and no Retry-After on 429"
        ],
        "agentNotes": [
          "Split text so each request stays under 2 minutes of audio, or it truncates.",
          "Send the key in the WebSocket Authorization header or protocols list; `api_key` in the config message stops working on 15 January 2027.",
          "Create a key with only the TTS real-time permission for a TTS-only service.",
          "Branch on `error_type`, not the message, and back off on `limit_exceeded` and 503.",
          "Pick the regional host (EU, Japan, India) that matches your data residency."
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 70.5
          }
        ],
        "editorialScores": {
          "ergonomics": 78,
          "maintenance": 63,
          "payments": 20,
          "reliability": 87,
          "schema": 85,
          "security": 87,
          "transparency": 64
        },
        "provenanceScore": 81,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-02",
            "maintenance": "2026-11-02",
            "payments": "2026-11-02",
            "reliability": "2026-11-02",
            "schema": "2026-11-02",
            "security": "2026-11-02",
            "transparency": "2026-11-02"
          },
          "last": "2026-11-02",
          "lastMoved": "2026-11-02",
          "oldest": "2026-11-02",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl https://tts-rt.soniox.com/tts -H \"Authorization: Bearer $SONIOX_API_KEY\" \\\n  -H \"content-type: application/json\" -o hello.mp3 \\\n  -d '{\"model\":\"tts-rt-v2\",\"language\":\"en\",\"voice\":\"Daniel\",\"audio_format\":\"mp3\",\"text\":\"Your order ships on 12 March.\"}'"
      },
      "letme": {
        "capability": "https://letme.dev/speech.tts",
        "tool": "https://letme.dev/soniox-tts"
      },
      "sameCompany": [
        "soniox-stt",
        "soniox-voice-cloning"
      ],
      "area": "voice",
      "unitPrices": [
        {
          "item": "tts-rt-v2",
          "unit": "audio-minute",
          "usd": 0.0117,
          "note": "per minute of generated speech, Soniox's estimate of $0.70 an hour, token-billed"
        }
      ],
      "provenance": {
        "legalEntity": "Soniox Inc.",
        "domain": "soniox.com",
        "domainRegistered": "2020-03-23",
        "endpointOnVendorDomain": true,
        "terms": "https://soniox.com/policies/terms-of-service",
        "privacy": "https://soniox.com/policies/privacy-policy",
        "statusPage": "https://status.soniox.com",
        "changelog": "https://docs.soniox.com/tts/models",
        "securityTxt": "none",
        "checked": "2026-11-02",
        "notes": [
          "Terms and privacy policy last updated 2026-06-29. The company address is Foster City, California",
          "The docs moved to docs.soniox.com (soniox.com/docs answers 308 to it). soniox.com/.well-known/security.txt answers 404, re-read on 2 November 2026."
        ],
        "score": 81
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/soniox-tts.json",
      "live": {
        "slug": "soniox-tts",
        "probe": {
          "target": "https://tts-rt.soniox.com",
          "method": "get",
          "lastAt": "2026-11-07T19:22:34.791690699Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 179,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 270,
          "p95ms24h": 410,
          "samples24h": 238,
          "samples30d": 7920,
          "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": 197,
              "ok": 197
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.soniox.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-06T23:08:59.743605756Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@soniox/node",
            "version": "2.5.0",
            "seenAt": "2026-11-07T00:07:15.417491279Z"
          },
          {
            "registry": "pypi",
            "name": "soniox",
            "version": "2.11.0",
            "released": "2026-11-03",
            "seenAt": "2026-11-07T00:07:15.892497401Z"
          }
        ],
        "githubStars": 13,
        "npmWeekly": 39562,
        "pypiWeekly": 214784,
        "securityTxt": {
          "url": "https://soniox.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:01:56.119851929Z"
        },
        "llmsTxt": {
          "url": "https://docs.soniox.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:34:00.570653144Z"
        },
        "domain": {
          "domain": "soniox.com",
          "registered": "2020-03-23",
          "source": "https://rdap.verisign.com/com/v1/domain/soniox.com",
          "checkedAt": "2026-11-01T14:17:24.699916178Z"
        },
        "pages": [
          {
            "url": "https://docs.soniox.com/tts/models",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-11-07T14:08:11.186731463Z",
            "changedAt": "2026-11-04T08:22:35.509459829Z",
            "fingerprint": "46e0b251436a"
          },
          {
            "url": "https://docs.soniox.com/guides/migrate-websocket-authentication",
            "kind": "deprecations",
            "status": 304,
            "checkedAt": "2026-11-07T14:08:07.180271884Z",
            "changedAt": "2026-11-04T08:22:33.010622101Z",
            "fingerprint": "c9942af1673f"
          },
          {
            "url": "https://soniox.com/docs/tts/models",
            "kind": "deprecations",
            "status": 304,
            "checkedAt": "2026-11-07T14:20:19.913199501Z",
            "changedAt": "2026-11-04T08:33:13.362017698Z",
            "fingerprint": "46e0b251436a"
          }
        ],
        "github": {
          "repo": "soniox/soniox-python",
          "checkedAt": "2026-11-02T09:26:52.131649771Z",
          "stars": 13,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-02T13:42:01Z",
          "openIssues": 0,
          "openPRs": 1,
          "issuesOpened90d": 0,
          "issuesClosed90d": 0,
          "prsMerged90d": 0,
          "replies": {
            "sampled": 1,
            "unanswered": 0,
            "medianDays": 10
          }
        },
        "updatedAt": "2026-11-07T19:22:34.791690699Z"
      }
    },
    "edges": [
      {
        "by": 51,
        "category": "security",
        "leads": "soniox-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. Plain API keys with no scopes found, and leaked keys may be disabled (20 of 30). The terms (effective 30 March 2026), as read for minimax-voice-cloning on 4 November, let MiniMax use input and generated content to operate, maintain, develop and improve its services, with no opt-out found, and the privacy policy rules out only training to profile or target consumers (5 of 20). The speech docs call every interface stateless, and no retention period for submitted text or generated audio was found (5 of 15). Responses carry `usage_characters` and a trace ID, with no audit log (6 of 15). No security.txt, disclosure policy, bug bounty or certification found (0 of 20). Total 36.",
          "b": "Model reading of the checklist, with training and retention in place of least-privilege and injection lines. Project API keys now carry permissions per resource (TTS real-time, cloned voices, usage, model listing, temporary keys, with read and write levels), a missing permission returns 403 `permission_denied`, and an organisation API key can list, create and delete project keys. Temporary keys for browsers expire and are scoped to a `usage_type` (30; was 25). Soniox says audio and text are never used to improve its models (20). Nothing is stored unless you ask, and logs carry no content (15). Per-request usage logs record model, duration, tokens and the client reference id, readable through `GET /v1/usage-logs`, as soniox-stt reads them (10 of 15; was 5). SOC 2 Type 2, ISO/IEC 27001:2022 and HIPAA listed on the security page. The Python SDK's SECURITY.md (since May 2026) gives a disclosure route by email, GitHub, a maintainer or Discord. soniox.com/.well-known/security.txt answers 404 and no bug bounty was found (12 of 20; was 10). 30 + 20 + 15 + 10 + 12 = 87."
        },
        "scores": {
          "a": 36,
          "b": 87
        }
      },
      {
        "by": 25,
        "category": "maintenance",
        "leads": "soniox-tts",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Read as a model, as minimax-voice-cloning is. The newest dated change touching speech is the MCP servers' August update, `minimax-mcp-js` 0.0.18 on 21 August 2026, 77 days before 6 November, and Speech 2.8 dates from 23 January 2026 (20 of 30). No dated API entries in the last 90 days (0). Support by email and Discord, not tested (6 of 15). No official SDK for speech; the MCP servers expose `text_to_audio` and `list_voices` (8 of 15). The Python MCP server has tests and moved to version 2 of the MCP SDK in August, with no CI workflow (4 of 10). Total 38.",
          "b": "Read as a model, on the lines deepgram-tts and cartesia-tts use for hosted speech models (recency 30, dated releases 10, deprecation notice 10, support 15, issues 10, SDKs 15, health 10). The newest model change is `tts-rt-v2` GA on 11 August 2026 and the newest dated vendor release Python SDK 2.10.0 on 2 October, 31 days before 2 November (20). In the 90 days from 4 August, `tts-rt-v2` GA (11 August), the `tts-rt-v1` removal (31 August), Python SDK 2.9.0 (11 August) and 2.10.0 (2 October), and the JavaScript SDK tag v2026.08.11 (10 August, counted half) (10; was 0). `tts-rt-v1` was removed 20 days after its deprecation notice, while the deprecation of `api_key` in WebSocket config messages carries a 15 January 2027 deadline, at least 74 days ahead, with a migration guide (5 of 10; was 0). The models page and a support channel, untested (5 of 15). SDK issues couldn't be read because GitHub's pages answered 403 (3 of 10). SDKs for Python, Node, the web and React (15). The Python SDK has a test suite and lock file, but its CI file sits in `.github/` rather than `.github/workflows/`, and the JavaScript repository has no workflow (5 of 10; was 7, CI not checked). 20 + 10 + 5 + 5 + 3 + 15 + 5 = 63."
        },
        "scores": {
          "a": 38,
          "b": 63
        }
      },
      {
        "by": 22,
        "category": "ergonomics",
        "leads": "soniox-tts",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "API reading of the checklist. Audio comes back hex-encoded inside JSON by default, with subtitles opt-in and format, bitrate and sample rate settable (15 of 25). Voices are listed by type through `POST /v1/get_voice`, which has no pagination and returns 300+ system voices for `all` (10 of 20). Errors come as numeric codes in `base_resp` with a short remedy for each, inside responses documented only as 200 (13 of 20). No idempotency key, and the MCP tools carry no read-only or destructive annotations (10 of 20). Two required fields. No official SDK for speech, with MCP servers in Python and JavaScript (8 of 15). Total 56.",
          "b": "API reading of the checklist. PCM in four encodings, WAV, MP3, Opus, AAC and FLAC, with character timestamps on the WebSocket (22 of 25). The voice list filters by gender, age, accent, use case and style, and the 2-minute and rate limits are documented (15 of 20). Machine-readable `error_type` values an agent can branch on (20). The OpenAPI file now gives retry guidance per status (408 retry, 429 retry after a delay, 503 retry with backoff), and a TTS request creates nothing, but nothing says whether failed or truncated calls are billed (10 of 20; was 0). Model, language, voice, format and text are all set per request. SDKs for Python, Node, the web and React (11 of 15). 22 + 15 + 20 + 10 + 11 = 78."
        },
        "scores": {
          "a": 56,
          "b": 78
        }
      },
      {
        "by": 12,
        "category": "reliability",
        "leads": "soniox-tts",
        "name": "Reliability",
        "reasons": {
          "a": "Atlassian Statuspage at status.minimax.io with a Text-to-Speech component (20). Its history, re-read on 6 November, shows three incidents in the 90 days from 8 August, all titled elevated errors and labelled major, 22 minutes on 28 September, 3 minutes on 16 October and 2 minutes on 19 October, and none in November. Elevated errors with no fuller scope are read as partial, as on minimax-api and minimax-voice-cloning, so minor only (20). T2A is limited to 60 requests a minute, with higher limits on audio subscriptions (15). Error codes 1002 and 2045 say to retry later and avoid sudden increases, with no Retry-After or backoff figures (10 of 15). No SLA (0). No beta or preview label on T2A (10). 20 + 20 + 15 + 10 + 0 + 10 = 75.",
          "b": "Instatus page at status.soniox.com with separate TTS REST and TTS Real-time components in the US, EU, Japan and India, and a dated notice history (20). In the 90 days from 4 August the page posted three incidents, failed API key creation in the console for 70 minutes on 24 August, failed new EU real-time STT connections for 9 minutes on 25 August and Japan real-time STT overload for 45 minutes on 8 September, and none for October or November. None touches TTS, so the record is clean for this listing (30). Limits published, 100 requests a minute and 3 concurrent requests or streams, raisable in the console (15). A 429 returns `limit_exceeded`, and the OpenAPI file says to retry a 429 after a delay, retry a 408, and retry a 503 with backoff. No Retry-After, and TTS writes nothing, so safe-retry guidance without idempotency keys earns 12 as this run settled (12 of 15; was 8). No SLA found (0). `tts-rt-v2` is GA in all four regions (10). 20 + 30 + 15 + 12 + 0 + 10 = 87."
        },
        "scores": {
          "a": 75,
          "b": 87
        }
      },
      {
        "by": 8,
        "category": "transparency",
        "leads": "soniox-tts",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Closed API with clear terms under Singapore law naming Nanonoble Pte. Ltd., and MIT MCP servers (15 of 30). Terms and privacy policy agree that inputs may be used to improve services and that data sits in a United States data centre, with no retention period, as on minimax-voice-cloning (8 of 30). The API release notes carry a dated legacy notice of 20 June 2025 for the old text-to-voice API with service continuing, and older speech models stay accepted, with no written policy or notice period (15 of 20). Data location stated as the United States and an EU representative named, third parties only by category (10 of 20). Total 48.",
          "b": "Closed service under terms updated 2026-06-29, Python SDK under Apache-2.0 (15). The security page, the terms and the TTS docs agree on no storage and no training, with async data deleted after 30 days (25 of 30). Model removals are dated on the models page with 20 days' notice for v1, and the WebSocket authentication change is dated to 15 January 2027 with a migration guide, but there is no written policy (12 of 20; was 10). Regional hosts in the US, EU, Japan and India and a data residency page, no sub-processor list found (12 of 20). 15 + 25 + 12 + 12 = 64."
        },
        "scores": {
          "a": 65,
          "b": 73
        }
      }
    ],
    "facts": [
      {
        "a": "Model API",
        "b": "Model API",
        "name": "Kind"
      },
      {
        "a": "MiniMax",
        "b": "Soniox",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "https://tts-rt.soniox.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, websocket",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "not published",
        "b": "$0.0117 per minute of audio",
        "name": "Price for text-to-speech"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "none",
        "b": "Apache-2.0 (Python SDK)",
        "name": "Licence"
      },
      {
        "a": "0",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-01-23",
        "b": "2026-10-02",
        "name": "Last release"
      },
      {
        "a": "couldn't be read",
        "b": "2026-06-29",
        "name": "Terms last updated"
      },
      {
        "a": "couldn't be read",
        "b": "2026-06-29",
        "name": "Privacy policy last updated"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "12 stars, 22k npm/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Soniox Text-to-Speech scores 70.5 (BB) on agent readiness against MiniMax Speech (T2A)'s 55.1 (C), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, MiniMax Speech (T2A) or Soniox Text-to-Speech?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do MiniMax Speech (T2A) and Soniox Text-to-Speech need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for MiniMax Speech (T2A). Soniox Text-to-Speech has a hosted endpoint at https://tts-rt.soniox.com.",
        "question": "Can an agent call MiniMax Speech (T2A) and Soniox Text-to-Speech without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": [
          "No incidents deducted, where Soniox Text-to-Speech loses 3 points for them"
        ],
        "goodFor": "Multilingual speech for narration and agents at mid-range prices, with strong Chinese voices by the vendor's account.",
        "slug": "minimax-speech",
        "watchFor": "No free allowance for synthesis and no official SDK"
      },
      {
        "aheadOn": [
          "Reliability, 87 against 75",
          "Agent ergonomics, 78 against 56",
          "Security \u0026 auth, 87 against 36",
          "Maintenance \u0026 community, 63 against 38",
          "Transparency \u0026 trust, 73 against 65"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "A hosted endpoint, with nothing to install"
        ],
        "goodFor": "Multilingual agents that need any voice in any of 60-plus languages, short turns and strict data handling.",
        "slug": "soniox-tts",
        "watchFor": "Audio stops at 2 minutes per request or stream and the cap can't be raised"
      }
    ],
    "history": {
      "minimax-speech": null,
      "soniox-tts": [
        {
          "causes": [
            "product",
            "evidence",
            "event"
          ],
          "date": "2026-11-02",
          "delta": 6.8,
          "from": 63.7,
          "fromGrade": "B",
          "to": 70.5,
          "toGrade": "BB"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-08",
          "delta": -0.2,
          "from": 63.9,
          "fromGrade": "B",
          "to": 63.7,
          "toGrade": "B"
        }
      ]
    },
    "job": {
      "capability": "speech.tts",
      "name": "Text-to-speech"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/amazon-polly-vs-minimax-speech.json",
        "title": "Amazon Polly vs MiniMax Speech (T2A)",
        "url": "https://www.anchorterminal.com/compare/amazon-polly-vs-minimax-speech"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-polly-vs-soniox-tts.json",
        "title": "Amazon Polly vs Soniox Text-to-Speech",
        "url": "https://www.anchorterminal.com/compare/amazon-polly-vs-soniox-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-text-to-speech-vs-minimax-speech.json",
        "title": "Azure AI Speech text-to-speech vs MiniMax Speech (T2A)",
        "url": "https://www.anchorterminal.com/compare/azure-text-to-speech-vs-minimax-speech"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-text-to-speech-vs-soniox-tts.json",
        "title": "Azure AI Speech text-to-speech vs Soniox Text-to-Speech",
        "url": "https://www.anchorterminal.com/compare/azure-text-to-speech-vs-soniox-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cartesia-tts-vs-minimax-speech.json",
        "title": "Cartesia Sonic TTS API + MCP vs MiniMax Speech (T2A)",
        "url": "https://www.anchorterminal.com/compare/cartesia-tts-vs-minimax-speech"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cartesia-tts-vs-soniox-tts.json",
        "title": "Cartesia Sonic TTS API + MCP vs Soniox Text-to-Speech",
        "url": "https://www.anchorterminal.com/compare/cartesia-tts-vs-soniox-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepgram-tts-vs-minimax-speech.json",
        "title": "Deepgram Text-to-Speech (Aura-2, Flux TTS) vs MiniMax Speech (T2A)",
        "url": "https://www.anchorterminal.com/compare/deepgram-tts-vs-minimax-speech"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepgram-tts-vs-soniox-tts.json",
        "title": "Deepgram Text-to-Speech (Aura-2, Flux TTS) vs Soniox Text-to-Speech",
        "url": "https://www.anchorterminal.com/compare/deepgram-tts-vs-soniox-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elevenlabs-tts-vs-minimax-speech.json",
        "title": "ElevenLabs Text to Speech API + MCP vs MiniMax Speech (T2A)",
        "url": "https://www.anchorterminal.com/compare/elevenlabs-tts-vs-minimax-speech"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elevenlabs-tts-vs-soniox-tts.json",
        "title": "ElevenLabs Text to Speech API + MCP vs Soniox Text-to-Speech",
        "url": "https://www.anchorterminal.com/compare/elevenlabs-tts-vs-soniox-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fish-audio-tts-vs-minimax-speech.json",
        "title": "Fish Audio TTS API vs MiniMax Speech (T2A)",
        "url": "https://www.anchorterminal.com/compare/fish-audio-tts-vs-minimax-speech"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fish-audio-tts-vs-soniox-tts.json",
        "title": "Fish Audio TTS API vs Soniox Text-to-Speech",
        "url": "https://www.anchorterminal.com/compare/fish-audio-tts-vs-soniox-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-cloud-tts-vs-minimax-speech.json",
        "title": "Google Cloud Text-to-Speech vs MiniMax Speech (T2A)",
        "url": "https://www.anchorterminal.com/compare/google-cloud-tts-vs-minimax-speech"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-cloud-tts-vs-soniox-tts.json",
        "title": "Google Cloud Text-to-Speech vs Soniox Text-to-Speech",
        "url": "https://www.anchorterminal.com/compare/google-cloud-tts-vs-soniox-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/heygen-voice-vs-minimax-speech.json",
        "title": "HeyGen Voice vs MiniMax Speech (T2A)",
        "url": "https://www.anchorterminal.com/compare/heygen-voice-vs-minimax-speech"
      },
      {
        "json": "https://www.anchorterminal.com/compare/heygen-voice-vs-soniox-tts.json",
        "title": "HeyGen Voice vs Soniox Text-to-Speech",
        "url": "https://www.anchorterminal.com/compare/heygen-voice-vs-soniox-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-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-murf-tts.json",
        "title": "MiniMax Speech (T2A) vs Murf TTS API + MCP",
        "url": "https://www.anchorterminal.com/compare/minimax-speech-vs-murf-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/minimax-speech-vs-playht-tts.json",
        "title": "MiniMax Speech (T2A) vs PlayHT Text-to-Speech API",
        "url": "https://www.anchorterminal.com/compare/minimax-speech-vs-playht-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/minimax-speech-vs-resemble-ai-tts.json",
        "title": "MiniMax Speech (T2A) vs Resemble AI Text-to-Speech API",
        "url": "https://www.anchorterminal.com/compare/minimax-speech-vs-resemble-ai-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-soniox-tts.json",
        "title": "Murf TTS API + MCP vs Soniox Text-to-Speech",
        "url": "https://www.anchorterminal.com/compare/murf-tts-vs-soniox-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/playht-tts-vs-soniox-tts.json",
        "title": "PlayHT Text-to-Speech API vs Soniox Text-to-Speech",
        "url": "https://www.anchorterminal.com/compare/playht-tts-vs-soniox-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/resemble-ai-tts-vs-soniox-tts.json",
        "title": "Resemble AI Text-to-Speech API vs Soniox Text-to-Speech",
        "url": "https://www.anchorterminal.com/compare/resemble-ai-tts-vs-soniox-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": 12,
        "edge": "soniox-tts",
        "key": "reliability",
        "minimax-speech": 75,
        "name": "Reliability",
        "soniox-tts": 87,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 4,
        "edge": "soniox-tts",
        "key": "schema",
        "minimax-speech": 81,
        "name": "Schema \u0026 documentation",
        "soniox-tts": 85,
        "weight": 13
      },
      {
        "by": 22,
        "edge": "soniox-tts",
        "key": "ergonomics",
        "minimax-speech": 56,
        "name": "Agent ergonomics",
        "soniox-tts": 78,
        "weight": 13
      },
      {
        "by": 51,
        "edge": "soniox-tts",
        "key": "security",
        "minimax-speech": 36,
        "name": "Security \u0026 auth",
        "soniox-tts": 87,
        "weight": 14
      },
      {
        "by": 0,
        "edge": "",
        "key": "payments",
        "minimax-speech": 20,
        "name": "Payments \u0026 pricing",
        "soniox-tts": 20,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 25,
        "edge": "soniox-tts",
        "key": "maintenance",
        "minimax-speech": 38,
        "name": "Maintenance \u0026 community",
        "soniox-tts": 63,
        "weight": 7
      },
      {
        "by": 8,
        "edge": "soniox-tts",
        "key": "transparency",
        "minimax-speech": 65,
        "name": "Transparency \u0026 trust",
        "soniox-tts": 73,
        "weight": 7
      }
    ],
    "summary": "Soniox Text-to-Speech scores 70.5 (BB) on agent readiness against MiniMax Speech (T2A)'s 55.1 (C), and leads in 6 of 7 scored categories. Both do text-to-speech.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "minimax-speech": "MiniMax's speech API covers sync, WebSocket, bidirectional and async synthesis with OpenAPI and AsyncAPI files and public prices of $60 to $100 per million characters. Text-to-Speech had only short incidents in 90 days. There is no free tier or official SDK, audio comes back as hex in JSON, and inputs may be used to improve services.",
      "soniox-tts": "Content is not stored by default or used for training, keys carry per-resource permissions, an OpenAPI file covers the REST endpoint, and no TTS incident was posted in the 90 days to 2 November. Audio stops at two minutes per request, and Python SDK 2.10.0 removed public interfaces in a minor release without notice."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/minimax-speech-vs-soniox-tts",
    "json": "https://www.anchorterminal.com/compare/minimax-speech-vs-soniox-tts.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/minimax-speech-vs-soniox-tts.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/minimax-speech-vs-soniox-tts.min.md"
  },
  "markdown": "Soniox Text-to-Speech scores 70.5 (BB) on agent readiness against MiniMax Speech (T2A)'s 55.1 (C), and leads in 6 of 7 scored categories. Both do text-to-speech.\n\n- MiniMax Speech (T2A): grade C, 55.1/100, rank #884 of 1510. Markdown https://www.anchorterminal.com/tools/minimax-speech.md · JSON https://www.anchorterminal.com/api/v1/tools/minimax-speech.json\n- Soniox Text-to-Speech: grade BB, 70.5/100, rank #199 of 1510. Markdown https://www.anchorterminal.com/tools/soniox-tts.md · JSON https://www.anchorterminal.com/api/v1/tools/soniox-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### MiniMax Speech (T2A) (C)\n\nGood for: Multilingual speech for narration and agents at mid-range prices, with strong Chinese voices by the vendor's account.\n\nAlso in its favour:\n- No incidents deducted, where Soniox Text-to-Speech loses 3 points for them\n\nWatch for: No free allowance for synthesis and no official SDK\n\n### Soniox Text-to-Speech (BB)\n\nGood for: Multilingual agents that need any voice in any of 60-plus languages, short turns and strict data handling.\n\nAhead on:\n- Reliability, 87 against 75\n- Agent ergonomics, 78 against 56\n- Security \u0026 auth, 87 against 36\n- Maintenance \u0026 community, 63 against 38\n- Transparency \u0026 trust, 73 against 65\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- A hosted endpoint, with nothing to install\n\nWatch for: Audio stops at 2 minutes per request or stream and the cap can't be raised\n\n\n## Why the edge\n\n### Security \u0026 auth: Soniox Text-to-Speech +51\n\n- MiniMax Speech (T2A) (36): Model reading of the checklist, with training and retention in place of the least-privilege and injection lines. Plain API keys with no scopes found, and leaked keys may be disabled (20 of 30). The terms (effective 30 March 2026), as read for minimax-voice-cloning on 4 November, let MiniMax use input and generated content to operate, maintain, develop and improve its services, with no opt-out found, and the privacy policy rules out only training to profile or target consumers (5 of 20). The speech docs call every interface stateless, and no retention period for submitted text or generated audio was found (5 of 15). Responses carry `usage_characters` and a trace ID, with no audit log (6 of 15). No security.txt, disclosure policy, bug bounty or certification found (0 of 20). Total 36.\n- Soniox Text-to-Speech (87): Model reading of the checklist, with training and retention in place of least-privilege and injection lines. Project API keys now carry permissions per resource (TTS real-time, cloned voices, usage, model listing, temporary keys, with read and write levels), a missing permission returns 403 `permission_denied`, and an organisation API key can list, create and delete project keys. Temporary keys for browsers expire and are scoped to a `usage_type` (30; was 25). Soniox says audio and text are never used to improve its models (20). Nothing is stored unless you ask, and logs carry no content (15). Per-request usage logs record model, duration, tokens and the client reference id, readable through `GET /v1/usage-logs`, as soniox-stt reads them (10 of 15; was 5). SOC 2 Type 2, ISO/IEC 27001:2022 and HIPAA listed on the security page. The Python SDK's SECURITY.md (since May 2026) gives a disclosure route by email, GitHub, a maintainer or Discord. soniox.com/.well-known/security.txt answers 404 and no bug bounty was found (12 of 20; was 10). 30 + 20 + 15 + 10 + 12 = 87.\n\n### Maintenance \u0026 community: Soniox Text-to-Speech +25\n\n- MiniMax Speech (T2A) (38): Read as a model, as minimax-voice-cloning is. The newest dated change touching speech is the MCP servers' August update, `minimax-mcp-js` 0.0.18 on 21 August 2026, 77 days before 6 November, and Speech 2.8 dates from 23 January 2026 (20 of 30). No dated API entries in the last 90 days (0). Support by email and Discord, not tested (6 of 15). No official SDK for speech; the MCP servers expose `text_to_audio` and `list_voices` (8 of 15). The Python MCP server has tests and moved to version 2 of the MCP SDK in August, with no CI workflow (4 of 10). Total 38.\n- Soniox Text-to-Speech (63): Read as a model, on the lines deepgram-tts and cartesia-tts use for hosted speech models (recency 30, dated releases 10, deprecation notice 10, support 15, issues 10, SDKs 15, health 10). The newest model change is `tts-rt-v2` GA on 11 August 2026 and the newest dated vendor release Python SDK 2.10.0 on 2 October, 31 days before 2 November (20). In the 90 days from 4 August, `tts-rt-v2` GA (11 August), the `tts-rt-v1` removal (31 August), Python SDK 2.9.0 (11 August) and 2.10.0 (2 October), and the JavaScript SDK tag v2026.08.11 (10 August, counted half) (10; was 0). `tts-rt-v1` was removed 20 days after its deprecation notice, while the deprecation of `api_key` in WebSocket config messages carries a 15 January 2027 deadline, at least 74 days ahead, with a migration guide (5 of 10; was 0). The models page and a support channel, untested (5 of 15). SDK issues couldn't be read because GitHub's pages answered 403 (3 of 10). SDKs for Python, Node, the web and React (15). The Python SDK has a test suite and lock file, but its CI file sits in `.github/` rather than `.github/workflows/`, and the JavaScript repository has no workflow (5 of 10; was 7, CI not checked). 20 + 10 + 5 + 5 + 3 + 15 + 5 = 63.\n\n### Agent ergonomics: Soniox Text-to-Speech +22\n\n- MiniMax Speech (T2A) (56): API reading of the checklist. Audio comes back hex-encoded inside JSON by default, with subtitles opt-in and format, bitrate and sample rate settable (15 of 25). Voices are listed by type through `POST /v1/get_voice`, which has no pagination and returns 300+ system voices for `all` (10 of 20). Errors come as numeric codes in `base_resp` with a short remedy for each, inside responses documented only as 200 (13 of 20). No idempotency key, and the MCP tools carry no read-only or destructive annotations (10 of 20). Two required fields. No official SDK for speech, with MCP servers in Python and JavaScript (8 of 15). Total 56.\n- Soniox Text-to-Speech (78): API reading of the checklist. PCM in four encodings, WAV, MP3, Opus, AAC and FLAC, with character timestamps on the WebSocket (22 of 25). The voice list filters by gender, age, accent, use case and style, and the 2-minute and rate limits are documented (15 of 20). Machine-readable `error_type` values an agent can branch on (20). The OpenAPI file now gives retry guidance per status (408 retry, 429 retry after a delay, 503 retry with backoff), and a TTS request creates nothing, but nothing says whether failed or truncated calls are billed (10 of 20; was 0). Model, language, voice, format and text are all set per request. SDKs for Python, Node, the web and React (11 of 15). 22 + 15 + 20 + 10 + 11 = 78.\n\n### Reliability: Soniox Text-to-Speech +12\n\n- MiniMax Speech (T2A) (75): Atlassian Statuspage at status.minimax.io with a Text-to-Speech component (20). Its history, re-read on 6 November, shows three incidents in the 90 days from 8 August, all titled elevated errors and labelled major, 22 minutes on 28 September, 3 minutes on 16 October and 2 minutes on 19 October, and none in November. Elevated errors with no fuller scope are read as partial, as on minimax-api and minimax-voice-cloning, so minor only (20). T2A is limited to 60 requests a minute, with higher limits on audio subscriptions (15). Error codes 1002 and 2045 say to retry later and avoid sudden increases, with no Retry-After or backoff figures (10 of 15). No SLA (0). No beta or preview label on T2A (10). 20 + 20 + 15 + 10 + 0 + 10 = 75.\n- Soniox Text-to-Speech (87): Instatus page at status.soniox.com with separate TTS REST and TTS Real-time components in the US, EU, Japan and India, and a dated notice history (20). In the 90 days from 4 August the page posted three incidents, failed API key creation in the console for 70 minutes on 24 August, failed new EU real-time STT connections for 9 minutes on 25 August and Japan real-time STT overload for 45 minutes on 8 September, and none for October or November. None touches TTS, so the record is clean for this listing (30). Limits published, 100 requests a minute and 3 concurrent requests or streams, raisable in the console (15). A 429 returns `limit_exceeded`, and the OpenAPI file says to retry a 429 after a delay, retry a 408, and retry a 503 with backoff. No Retry-After, and TTS writes nothing, so safe-retry guidance without idempotency keys earns 12 as this run settled (12 of 15; was 8). No SLA found (0). `tts-rt-v2` is GA in all four regions (10). 20 + 30 + 15 + 12 + 0 + 10 = 87.\n\n### Transparency \u0026 trust: Soniox Text-to-Speech +8\n\n- MiniMax Speech (T2A) (65): Closed API with clear terms under Singapore law naming Nanonoble Pte. Ltd., and MIT MCP servers (15 of 30). Terms and privacy policy agree that inputs may be used to improve services and that data sits in a United States data centre, with no retention period, as on minimax-voice-cloning (8 of 30). The API release notes carry a dated legacy notice of 20 June 2025 for the old text-to-voice API with service continuing, and older speech models stay accepted, with no written policy or notice period (15 of 20). Data location stated as the United States and an EU representative named, third parties only by category (10 of 20). Total 48.\n- Soniox Text-to-Speech (73): Closed service under terms updated 2026-06-29, Python SDK under Apache-2.0 (15). The security page, the terms and the TTS docs agree on no storage and no training, with async data deleted after 30 days (25 of 30). Model removals are dated on the models page with 20 days' notice for v1, and the WebSocket authentication change is dated to 15 January 2027 with a migration guide, but there is no written policy (12 of 20; was 10). Regional hosts in the US, EU, Japan and India and a data residency page, no sub-processor list found (12 of 20). 15 + 25 + 12 + 12 = 64.\n\n## Score by category\n\n| Category | Weight | MiniMax Speech (T2A) | Soniox Text-to-Speech | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 75 | 87 | Soniox Text-to-Speech +12 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 81 | 85 | Soniox Text-to-Speech +4 |\n| Agent ergonomics | 13% (16.2 this run) | 56 | 78 | Soniox Text-to-Speech +22 |\n| Security \u0026 auth | 14% (17.5 this run) | 36 | 87 | Soniox Text-to-Speech +51 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 20 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 38 | 63 | Soniox Text-to-Speech +25 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 65 | 73 | Soniox Text-to-Speech +8 |\n| Negative events | ≤15 | 0 | -3 | |\n| **Total** | | **55.1 · C** | **70.5 · BB** | |\n\n## Facts side by side\n\n| Fact | MiniMax Speech (T2A) | Soniox Text-to-Speech |\n| --- | --- | --- |\n| Kind | Model API | Model API |\n| Vendor | MiniMax | Soniox |\n| Hosted endpoint | no (local only) | `https://tts-rt.soniox.com` |\n| Transports | HTTP, websocket | HTTP |\n| Auth | API key | API key |\n| Pricing | Pay per use | Pay per use |\n| Price for text-to-speech | not published | $0.0117 per minute of audio |\n| x402 | no | no |\n| Licence | none | Apache-2.0 (Python SDK) |\n| Tools exposed | 0 | none |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-01-23 | 2026-10-02 |\n| Terms last updated | couldn't be read | 2026-06-29 |\n| Privacy policy last updated | couldn't be read | 2026-06-29 |\n| Customer content may train models | couldn't be read | not found in the text |\n| Terms restrict automated access | couldn't be read | not found in the text |\n| Terms restrict benchmarking | couldn't be read | yes |\n| Terms or service can change without notice | couldn't be read | yes |\n| Arbitration or class-action waiver | couldn't be read | not found in the text |\n| Popularity | none | 12 stars, 22k npm/wk |\n| Agent reviews | none | 3/5 (2) |\n\n## How the scores have moved\n\n### MiniMax Speech (T2A)\n\nNo score change since it was listed.\n\n### Soniox Text-to-Speech\n\n- +6.8 on 2 November 2026 (B to BB): product, new evidence, negative event\n- -0.2 on 8 October 2026: checklist\n\n## Verdicts\n\n**MiniMax Speech (T2A).** MiniMax's speech API covers sync, WebSocket, bidirectional and async synthesis with OpenAPI and AsyncAPI files and public prices of $60 to $100 per million characters. Text-to-Speech had only short incidents in 90 days. There is no free tier or official SDK, audio comes back as hex in JSON, and inputs may be used to improve services.\n\n**Soniox Text-to-Speech.** Content is not stored by default or used for training, keys carry per-resource permissions, an OpenAPI file covers the REST endpoint, and no TTS incident was posted in the 90 days to 2 November. Audio stops at two minutes per request, and Python SDK 2.10.0 removed public interfaces in a minor release without notice.\n\n## Before you call either\n\n### MiniMax Speech (T2A)\n\n1. Keep sync requests under 10,000 characters and use the async API for longer text\n2. Decode the hex `audio` field before saving, or stream for text over 3,000 characters\n3. Check `base_resp.status_code` on every response, since errors arrive inside a 200\n4. Stay under 60 requests a minute and back off on code 1002\n5. Use speech-2.8-turbo for agents and HD only where quality matters, since HD costs two thirds more\n\n### Soniox Text-to-Speech\n\n1. Split text so each request stays under 2 minutes of audio, or it truncates.\n2. Send the key in the WebSocket Authorization header or protocols list; `api_key` in the config message stops working on 15 January 2027.\n3. Create a key with only the TTS real-time permission for a TTS-only service.\n4. Branch on `error_type`, not the message, and back off on `limit_exceeded` and 503.\n5. Pick the regional host (EU, Japan, India) that matches your data residency.\n\n## Questions\n\n### Which is better for AI agents, MiniMax Speech (T2A) or Soniox Text-to-Speech?\n\nSoniox Text-to-Speech scores 70.5 (BB) on agent readiness against MiniMax Speech (T2A)'s 55.1 (C), and leads in 6 of 7 scored categories.\n\n### Do MiniMax Speech (T2A) and Soniox Text-to-Speech need an API key?\n\nBoth need an API key.\n\n### Can an agent call MiniMax Speech (T2A) and Soniox Text-to-Speech without installing anything?\n\nNo hosted endpoint is listed for MiniMax Speech (T2A). Soniox Text-to-Speech has a hosted endpoint at https://tts-rt.soniox.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/minimax-speech-vs-soniox-tts.json, and with the fewest tokens: https://www.anchorterminal.com/compare/minimax-speech-vs-soniox-tts.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"minimax-speech\", \"b\": \"soniox-tts\"}`. From a terminal: `anchor compare minimax-speech soniox-tts`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/minimax-speech.json and https://www.anchorterminal.com/api/v1/tools/soniox-tts.json\n\n## Other comparisons with MiniMax Speech (T2A) or Soniox Text-to-Speech\n\n- [Amazon Polly vs MiniMax Speech (T2A)](https://www.anchorterminal.com/compare/amazon-polly-vs-minimax-speech.md)\n- [Amazon Polly vs Soniox Text-to-Speech](https://www.anchorterminal.com/compare/amazon-polly-vs-soniox-tts.md)\n- [Azure AI Speech text-to-speech vs MiniMax Speech (T2A)](https://www.anchorterminal.com/compare/azure-text-to-speech-vs-minimax-speech.md)\n- [Azure AI Speech text-to-speech vs Soniox Text-to-Speech](https://www.anchorterminal.com/compare/azure-text-to-speech-vs-soniox-tts.md)\n- [Cartesia Sonic TTS API + MCP vs MiniMax Speech (T2A)](https://www.anchorterminal.com/compare/cartesia-tts-vs-minimax-speech.md)\n- [Cartesia Sonic TTS API + MCP vs Soniox Text-to-Speech](https://www.anchorterminal.com/compare/cartesia-tts-vs-soniox-tts.md)\n- [Deepgram Text-to-Speech (Aura-2, Flux TTS) vs MiniMax Speech (T2A)](https://www.anchorterminal.com/compare/deepgram-tts-vs-minimax-speech.md)\n- [Deepgram Text-to-Speech (Aura-2, Flux TTS) vs Soniox Text-to-Speech](https://www.anchorterminal.com/compare/deepgram-tts-vs-soniox-tts.md)\n- [ElevenLabs Text to Speech API + MCP vs MiniMax Speech (T2A)](https://www.anchorterminal.com/compare/elevenlabs-tts-vs-minimax-speech.md)\n- [ElevenLabs Text to Speech API + MCP vs Soniox Text-to-Speech](https://www.anchorterminal.com/compare/elevenlabs-tts-vs-soniox-tts.md)\n- [Fish Audio TTS API vs MiniMax Speech (T2A)](https://www.anchorterminal.com/compare/fish-audio-tts-vs-minimax-speech.md)\n- [Fish Audio TTS API vs Soniox Text-to-Speech](https://www.anchorterminal.com/compare/fish-audio-tts-vs-soniox-tts.md)\n- [Google Cloud Text-to-Speech vs MiniMax Speech (T2A)](https://www.anchorterminal.com/compare/google-cloud-tts-vs-minimax-speech.md)\n- [Google Cloud Text-to-Speech vs Soniox Text-to-Speech](https://www.anchorterminal.com/compare/google-cloud-tts-vs-soniox-tts.md)\n- [HeyGen Voice vs MiniMax Speech (T2A)](https://www.anchorterminal.com/compare/heygen-voice-vs-minimax-speech.md)\n- [HeyGen Voice vs Soniox Text-to-Speech](https://www.anchorterminal.com/compare/heygen-voice-vs-soniox-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 Soniox Text-to-Speech](https://www.anchorterminal.com/compare/inworld-tts-vs-soniox-tts.md)\n- [MiniMax Speech (T2A) vs Murf TTS API + MCP](https://www.anchorterminal.com/compare/minimax-speech-vs-murf-tts.md)\n- [MiniMax Speech (T2A) vs PlayHT Text-to-Speech API](https://www.anchorterminal.com/compare/minimax-speech-vs-playht-tts.md)\n- [MiniMax Speech (T2A) vs Resemble AI Text-to-Speech API](https://www.anchorterminal.com/compare/minimax-speech-vs-resemble-ai-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 Soniox Text-to-Speech](https://www.anchorterminal.com/compare/murf-tts-vs-soniox-tts.md)\n- [PlayHT Text-to-Speech API vs Soniox Text-to-Speech](https://www.anchorterminal.com/compare/playht-tts-vs-soniox-tts.md)\n- [Resemble AI Text-to-Speech API vs Soniox Text-to-Speech](https://www.anchorterminal.com/compare/resemble-ai-tts-vs-soniox-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": "MiniMax Speech (T2A) vs Soniox Text-to-Speech",
        "url": ""
      }
    ],
    "description": "Soniox Text-to-Speech scores 70.5 (BB) to MiniMax Speech's 55.1 (C) for text-to-speech. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "MiniMax Speech (T2A) C 55.1",
      "Soniox Text-to-Speech BB 70.5",
      "scores"
    ],
    "h1": "MiniMax Speech (T2A) vs Soniox Text-to-Speech",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/minimax-speech-vs-soniox-tts",
    "published": "2026-10-01",
    "section": "tools",
    "title": "MiniMax Speech vs Soniox Text-to-Speech for AI agents (2026)",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/minimax-speech-vs-soniox-tts"
  },
  "tokens": {
    "markdown": 4900,
    "slim": 2830
  },
  "version": 1
}
