{
  "data": {
    "a": {
      "slug": "heygen-voice",
      "name": "HeyGen Voice",
      "vendor": "HeyGen",
      "vendorUrl": "https://www.heygen.com",
      "kind": "model",
      "category": "text-to-speech",
      "summary": "HeyGen Voice is HeyGen's in-house text-to-speech model, `heygen-voice-1` with a Turbo variant, which speaks HeyGen's public voices or voices cloned from one recording (instant) or 20 minutes or more (professional), through HeyGen's v3 API.",
      "url": "https://www.anchorterminal.com/tools/heygen-voice",
      "markdownUrl": "https://www.anchorterminal.com/tools/heygen-voice.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/heygen-voice.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/heygen-voice.json",
      "dns": "heygen-voice.grade.anchorterminal.com",
      "license": "Closed service under HeyGen's Terms of Service (HeyGen Technology, Inc., last updated 23 July 2026).",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.heygen.com",
      "packages": [],
      "auth": "api-key",
      "authNotes": "An API key from the HeyGen API dashboard, sent in the X-Api-Key header. Keys can be restricted to read and write scopes, and the speech and voice endpoints need voices:write. The OpenAPI file also accepts an OAuth bearer token, which bills subscription credits. Stripe Projects can provision a key through the operator's Stripe account.",
      "pricing": "usage",
      "pricingNotes": "API speech is $30 per million characters on heygen-voice-1 and $15 on heygen-voice-1-turbo, per the HeyGen Voice page (checked 1 November 2026). `heygen-voice-1-turbo-free` is free until 30 November 2026 for public and instant voices, with no credit balance needed and shared capacity. Speech to speech is $0.12 per output minute. Each professional voice needs a purchased slot, from $29 a month. Instant voices are free to create during the preview.",
      "priceSummary": "Pay per use",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the developer llms.txt, the OpenAPI file or the HeyGen Voice pages, checked 1 November 2026. Keys are funded by API credit or through Stripe Projects.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-10"
      },
      "docsUrl": "https://developers.heygen.com/docs/models/heygen-voice",
      "llmsTxt": "https://developers.heygen.com/llms.txt",
      "openapi": "https://developers.heygen.com/openapi/external-api.json",
      "capabilities": [
        "speech.tts",
        "speech.streaming",
        "speech.voices",
        "speech.languages",
        "voice.clone"
      ],
      "tags": [
        "hosted",
        "official",
        "usage-priced",
        "closed-source",
        "openapi",
        "llms-txt",
        "streaming",
        "status-page",
        "soc2",
        "security-txt",
        "cli",
        "agent-skills"
      ],
      "lastRelease": "2026-10-20",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 73.6,
        "grade": "BB",
        "agentReady": true,
        "rank": 102,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 4,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 88,
          "maintenance": 65,
          "payments": 40,
          "reliability": 75,
          "schema": 97,
          "security": 69,
          "transparency": 66
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-01"
        },
        "negative": 0,
        "verdict": "HeyGen Voice has a typed OpenAPI contract, streaming with character timestamps, a choice of audio formats and published prices of $30 per million characters, $15 on Turbo. Turbo Free costs nothing until 30 November 2026. Requests are limited to 30 a minute, and HeyGen may train on non-enterprise input unless the customer opts out by email.",
        "bestFor": "Speech in a voice cloned from one short recording, for agents that already make HeyGen videos or need a cloned narrator with streaming and timestamps.",
        "strengths": [
          "OpenAPI 3.1 file with enums, ranges, `additionalProperties: false` and per-code errors for every speech and voice endpoint",
          "Streaming over Server-Sent Events or raw bytes, with optional character-level timestamps and PCM16, MP3, mu-law or A-law output",
          "Turbo Free speaks public and instant voices at no charge and with no credit balance until 30 November 2026",
          "API keys can be restricted to read and write scopes, and the speech endpoints need voices:write",
          "Instant voices are created from one recording, usually ready within seconds, in 39 base languages"
        ],
        "weaknesses": [
          "30 requests a minute per workspace member on the speech endpoints by default, and Turbo Free's shared capacity can return 429 below that",
          "Turbo Free ends on 30 November 2026 and carries no latency or availability guarantee",
          "Text is capped at 5,000 characters a request, and professional voices need a purchased slot each",
          "HeyGen's privacy policy allows training on user input, with an opt-out by email. Enterprise data is excluded by default",
          "No official SDK, no SLA in the terms, and instant voice creation is still a preview"
        ],
        "agentNotes": [
          "Start tests with `model: heygen-voice-1-turbo-free` and a public voice from GET /v3/models/audio/voices?type=public. It never falls back to a paid model",
          "Create a clone with POST /v3/models/audio/voices and `mode`, then poll GET /v3/models/audio/voices/{voice_id} until `status` is ACTIVE before calling speech",
          "Send `expressiveness_boost` only for instant voices. Professional voices reject it, and instant voices ignore `seed`, `speed`, `pitch_shift` and `pitch_variance`",
          "On a 429 without Retry-After, back off exponentially. Capacity 429s carry no header",
          "Use POST /v3/voices/speech for catalogue or designed voices. It is a different endpoint and price"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 73.6
          }
        ],
        "editorialScores": {
          "ergonomics": 88,
          "maintenance": 65,
          "payments": 40,
          "reliability": 75,
          "schema": 97,
          "security": 69,
          "transparency": 52
        },
        "provenanceScore": 79,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-01",
            "maintenance": "2026-11-01",
            "payments": "2026-11-01",
            "reliability": "2026-11-01",
            "schema": "2026-11-01",
            "security": "2026-11-01",
            "transparency": "2026-11-01"
          },
          "last": "2026-11-01",
          "lastMoved": "2026-11-01",
          "oldest": "2026-11-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl -X POST \"https://api.heygen.com/v3/models/audio/tts\" \\\n  -H \"X-Api-Key: $HEYGEN_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"model\":\"heygen-voice-1\",\"voice_id\":\"\u003cVOICE_ID\u003e\",\"text\":\"Hello.\",\"language\":\"en\",\"expressiveness_boost\":0.8}'"
      },
      "letme": {
        "capability": "https://letme.dev/speech.tts",
        "tool": "https://letme.dev/heygen-voice"
      },
      "area": "voice",
      "unitPrices": [
        {
          "item": "Speech, heygen-voice-1",
          "unit": "1m-chars",
          "usd": 30,
          "note": "Public, instant and professional voices, per the HeyGen Voice page."
        },
        {
          "item": "Speech, heygen-voice-1-turbo",
          "unit": "1m-chars",
          "usd": 15,
          "note": "Public and instant voices only, lower latency."
        },
        {
          "item": "Speech, heygen-voice-1-turbo-free",
          "unit": "1m-chars",
          "usd": 0,
          "note": "Free until 30 November 2026. Public and instant voices, shared capacity, no availability guarantee."
        },
        {
          "item": "Speech to speech",
          "unit": "audio-minute",
          "usd": 0.12,
          "note": "Per minute of output audio, billed per second. Instant voices only."
        }
      ],
      "provenance": {
        "legalEntity": "HeyGen Technology, Inc.",
        "domain": "heygen.com",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://www.heygen.com/terms",
        "privacy": "https://www.heygen.com/privacy",
        "statusPage": "https://status.heygen.com",
        "changelog": "https://developers.heygen.com/changelog",
        "securityTxt": "valid",
        "checked": "2026-11-01",
        "notes": [
          "security.txt at www.heygen.com/.well-known/security.txt names security@heygen.com and expires on 31 December 2026.",
          "The privacy policy names HeyGen Technology Inc. in section 1 and HeyGen, Inc. as processor in section 15.",
          "The status page has components per domain (www, app, api) and none for voice.",
          "Domain registration date was not checked."
        ],
        "score": 79
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/heygen-voice.json",
      "live": {
        "slug": "heygen-voice",
        "probe": {
          "target": "https://api.heygen.com",
          "method": "get",
          "lastAt": "2026-11-07T18:20:30.192245425Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 347,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 99.99,
          "p50ms24h": 313,
          "p95ms24h": 416,
          "samples24h": 239,
          "samples30d": 6874,
          "days": [
            {
              "date": "2026-10-10",
              "probes": 1,
              "ok": 1
            },
            {
              "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": 251,
              "ok": 251
            },
            {
              "date": "2026-10-29",
              "probes": 248,
              "ok": 248
            },
            {
              "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": 240
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.heygen.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-07T18:21:15.70743087Z"
        },
        "securityTxt": {
          "url": "https://heygen.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2026-12-31T08:00:00Z",
          "checkedAt": "2026-11-07T16:00:15.774625059Z"
        },
        "llmsTxt": {
          "url": "https://developers.heygen.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:42.083130335Z"
        },
        "domain": {
          "domain": "heygen.com",
          "registered": "2015-10-19",
          "source": "https://rdap.verisign.com/com/v1/domain/heygen.com",
          "checkedAt": "2026-11-01T14:11:45.602901172Z"
        },
        "pages": [
          {
            "url": "https://developers.heygen.com/changelog",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-11-07T14:04:02.83561623Z",
            "changedAt": "2026-11-07T14:04:02.83561623Z",
            "fingerprint": "1b58e3df0897"
          },
          {
            "url": "https://www.heygen.com/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:29:45.494246628Z",
            "changedAt": "2026-11-04T08:40:59.471841774Z",
            "fingerprint": "376d487f17dd"
          },
          {
            "url": "https://www.heygen.com/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:29:47.885215955Z",
            "changedAt": "2026-11-04T08:41:02.102076318Z",
            "fingerprint": "299d87563af3"
          }
        ],
        "updatedAt": "2026-11-07T18:21:15.70743087Z"
      }
    },
    "answer": "HeyGen Voice scores 73.6 (BB) on agent readiness against MiniMax Speech (T2A)'s 55.1 (C), and leads in 6 of 7 scored categories.",
    "b": {
      "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": 879,
        "ranked": true,
        "rankOf": 1486,
        "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-07T18:21:22.955290584Z"
        },
        "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-07T18:21:22.955290584Z"
      }
    },
    "edges": [
      {
        "by": 33,
        "category": "security",
        "leads": "heygen-voice",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Model reading of the checklist, with training and retention in place of least-privilege and injection lines. API keys can be restricted to resource read and write scopes, a key without the scope gets 403 insufficient_api_key_scope, `GET /v3/api_keys/self` reports a key's scope mode, and the docs cover rotation (30). The privacy policy (11 August 2026) and the terms (23 July 2026) allow training on user input, with an opt-out by email, and the security page excludes enterprise data by default, per the 10 October check, not re-read on 1 November (10). No retention period for voices or speech was found, deleted data stays in backups for 60 days, and voices can be deleted through the API (5). Each response carries an X-Request-Id used in usage and billing records, and `end_user_id` attributes usage per end user. Audit logs of user and admin actions are for enterprise customers (10 of 15). A valid security.txt (expires 31 December 2026, re-read 1 November), a disclosure policy with safe harbour, SOC 2 Type II stated on the security page with reports on request, and no bug bounty. The report was not read, so the certification counts as a vendor claim (14 of 20). Total 69.",
          "b": "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."
        },
        "scores": {
          "a": 69,
          "b": 36
        }
      },
      {
        "by": 32,
        "category": "ergonomics",
        "leads": "heygen-voice",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "API reading of the checklist. The completed response is a URL and a duration, streaming returns WAV parts as they are made, and timestamps come only when asked. Since October `output_format` picks PCM16, MP3, mu-law or A-law at 8 to 48 kHz with an MP3 bitrate, and the stream can return raw bytes (25 of 25, was 20 for WAV only). Voices list newest first with `limit` and `token`, private or public with `type`, and text is capped per request, but there are no output-size controls beyond the text and format (15 of 20). Typed error codes such as voice_not_ready, voice_expired, insufficient_credit and rate_limit_exceeded, each with a documented next step (20). Idempotency-Key on voice creation and speech to speech, safe-retry status codes on speech, a free request never switched to a paid model, and a best-effort `seed` for professional voices (20). Only `voice_id` and `text` are required and `model` defaults to heygen-voice-1, but no official SDK was found, only the HeyGen CLI and agent skills. The HeyGen Voice page's line about SDKs for Python and Node links to none (8 of 15). Total 88.",
          "b": "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."
        },
        "scores": {
          "a": 88,
          "b": 56
        }
      },
      {
        "by": 27,
        "category": "maintenance",
        "leads": "heygen-voice",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Read as a model. The changelog's newest voice entry, speech to speech, is in the RSS feed on 20 October 2026 (30). Seven voice entries between 9 and 20 October alone, instant voices, Turbo, public voices with timestamps, previews, voices from an image, professional voices without a language and speech to speech, and dated sunsets elsewhere in the API, v1 and v2 on 31 October 2026, announced in April (20). Public changelog with RSS and a developer Discord. Answers were not sampled (10 of 15). No official SDK. HeyGen ships a CLI and agent skills (5 of 15). No package health record was read (0). Total 65.",
          "b": "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."
        },
        "scores": {
          "a": 65,
          "b": 38
        }
      },
      {
        "by": 20,
        "category": "payments",
        "leads": "heygen-voice",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 in the llms.txt, the OpenAPI file or the voice pages (0). The HeyGen Voice page publishes API speech at $30 per million characters on heygen-voice-1, $15 on Turbo and speech to speech at $0.12 a minute, without a login (20). `heygen-voice-1-turbo-free` is free until 30 November 2026 with a free API key and no credit balance, for public and instant voices, under shared capacity. Neither the docs nor the HeyGen Voice page say whether the free key needs a card at sign-up, and \"no credit balance\" isn't the same statement. HeyGen's pricing FAQ says the web Free plan needs no card, but doesn't say that covers API keys, and the API dashboard's host couldn't be read. So half, the reading listings with unstated card terms get (anthropic-api, zep, and fish-audio-voice-cloning for its free model to the same date), until it ends (10). Stripe Projects lists heygen/api, which lets an agent create the account and receive a key through the operator's Stripe login and saved payment method. A person still has to log in to Stripe once (10). 0+20+10+10 = 40.",
          "b": "No x402, MPP or L402 (0). Per-character prices for every speech model published without a login (20). No free allowance for synthesis is published (0). A person signs up in a browser and funds a balance (0). Total 20."
        },
        "scores": {
          "a": 40,
          "b": 20
        }
      },
      {
        "by": 16,
        "category": "schema",
        "leads": "heygen-voice",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "OpenAPI 3.1 file at developers.heygen.com/openapi/external-api.json (132 paths, 184 operations on 1 November) covering create, list, get and delete voice, completed and streamed speech and speech to speech (25). llms.txt with a Markdown twin of every page (10). Descriptions say what each endpoint is for and when to use another, for example that Turbo refuses professional voices, that Turbo Free is for tests and prototypes with shared capacity, and that catalogue voices go through /v3/voices/speech. Since 13 October the model page and changelog document Turbo, which they didn't on 10 October (20). Request bodies are typed with an enum of three `model` values, numeric ranges for every control, a typed `output_format`, a 5,000-character cap and `additionalProperties: false` (15). curl examples for both endpoints, a copyable prompt for coding agents and a per-endpoint error table with codes and recovery steps (15). Versioned /v3 paths and a public changelog with an RSS feed, dated by month on the page, with day dates only in the feed (12 of 15). Total 97.",
          "b": "OpenAPI 3.1 for the sync and async routes and AsyncAPI files for the WebSocket and bidirectional sockets (25). llms.txt and a Markdown copy of every page (10). The text field says when to stream and how to mark pauses, and guides separate sync, WebSocket and async use (15 of 20). Enums for model and audio settings, with `model` and `text` required (13 of 15). Examples throughout and the shared table of error codes, but the OpenAPI file documents only a 200 response (10 of 15). Versioned `/v1` paths. The API release notes stop at 28 October 2025, and the last T2A entry is 23 September 2025 (8 of 15). Total 81."
        },
        "scores": {
          "a": 97,
          "b": 81
        }
      }
    ],
    "facts": [
      {
        "a": "Model API",
        "b": "Model API",
        "name": "Kind"
      },
      {
        "a": "HeyGen",
        "b": "MiniMax",
        "name": "Vendor"
      },
      {
        "a": "https://api.heygen.com",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP, websocket",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Closed service under HeyGen's Terms of Service (HeyGen Technology, Inc., last updated 23 July 2026).",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "0",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-20",
        "b": "2026-01-23",
        "name": "Last release"
      },
      {
        "a": "2026-07-23",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "2026-08-11",
        "b": "couldn't be read",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "3.5/5 (4)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "HeyGen Voice scores 73.6 (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, HeyGen Voice or MiniMax Speech (T2A)?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do HeyGen Voice and MiniMax Speech (T2A) need an API key?"
      },
      {
        "answer": "HeyGen Voice has a hosted endpoint at https://api.heygen.com. No hosted endpoint is listed for MiniMax Speech (T2A).",
        "question": "Can an agent call HeyGen Voice and MiniMax Speech (T2A) without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 97 against 81",
          "Agent ergonomics, 88 against 56",
          "Security \u0026 auth, 69 against 36",
          "Payments \u0026 pricing, 40 against 20",
          "Maintenance \u0026 community, 65 against 38"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "A hosted endpoint, with nothing to install"
        ],
        "goodFor": "Speech in a voice cloned from one short recording, for agents that already make HeyGen videos or need a cloned narrator with streaming and timestamps.",
        "slug": "heygen-voice",
        "watchFor": "30 requests a minute per workspace member on the speech endpoints by default, and Turbo Free's shared capacity can return 429 below that"
      },
      {
        "aheadOn": null,
        "also": null,
        "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"
      }
    ],
    "history": {
      "heygen-voice": [
        {
          "causes": [
            "pricing",
            "product"
          ],
          "date": "2026-11-01",
          "delta": 2.5,
          "from": 71.1,
          "fromGrade": "BB",
          "to": 73.6,
          "toGrade": "BB"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.2,
          "from": 70.9,
          "fromGrade": "BB",
          "to": 71.1,
          "toGrade": "BB"
        },
        {
          "causes": [
            "evidence"
          ],
          "date": "2026-10-12",
          "delta": -0.4,
          "from": 71.3,
          "fromGrade": "BB",
          "to": 70.9,
          "toGrade": "BB"
        }
      ],
      "minimax-speech": null
    },
    "job": {
      "capability": "speech.tts",
      "name": "Text-to-speech"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/amazon-polly-vs-heygen-voice.json",
        "title": "Amazon Polly vs HeyGen Voice",
        "url": "https://www.anchorterminal.com/compare/amazon-polly-vs-heygen-voice"
      },
      {
        "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/azure-text-to-speech-vs-heygen-voice.json",
        "title": "Azure AI Speech text-to-speech vs HeyGen Voice",
        "url": "https://www.anchorterminal.com/compare/azure-text-to-speech-vs-heygen-voice"
      },
      {
        "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/cartesia-tts-vs-heygen-voice.json",
        "title": "Cartesia Sonic TTS API + MCP vs HeyGen Voice",
        "url": "https://www.anchorterminal.com/compare/cartesia-tts-vs-heygen-voice"
      },
      {
        "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/deepgram-tts-vs-heygen-voice.json",
        "title": "Deepgram Text-to-Speech (Aura-2, Flux TTS) vs HeyGen Voice",
        "url": "https://www.anchorterminal.com/compare/deepgram-tts-vs-heygen-voice"
      },
      {
        "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/elevenlabs-tts-vs-heygen-voice.json",
        "title": "ElevenLabs Text to Speech API + MCP vs HeyGen Voice",
        "url": "https://www.anchorterminal.com/compare/elevenlabs-tts-vs-heygen-voice"
      },
      {
        "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/fish-audio-tts-vs-heygen-voice.json",
        "title": "Fish Audio TTS API vs HeyGen Voice",
        "url": "https://www.anchorterminal.com/compare/fish-audio-tts-vs-heygen-voice"
      },
      {
        "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/google-cloud-tts-vs-heygen-voice.json",
        "title": "Google Cloud Text-to-Speech vs HeyGen Voice",
        "url": "https://www.anchorterminal.com/compare/google-cloud-tts-vs-heygen-voice"
      },
      {
        "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/heygen-voice-vs-inworld-tts.json",
        "title": "HeyGen Voice vs Inworld Realtime TTS-2",
        "url": "https://www.anchorterminal.com/compare/heygen-voice-vs-inworld-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/heygen-voice-vs-murf-tts.json",
        "title": "HeyGen Voice vs Murf TTS API + MCP",
        "url": "https://www.anchorterminal.com/compare/heygen-voice-vs-murf-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/heygen-voice-vs-playht-tts.json",
        "title": "HeyGen Voice vs PlayHT Text-to-Speech API",
        "url": "https://www.anchorterminal.com/compare/heygen-voice-vs-playht-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/heygen-voice-vs-resemble-ai-tts.json",
        "title": "HeyGen Voice vs Resemble AI Text-to-Speech API",
        "url": "https://www.anchorterminal.com/compare/heygen-voice-vs-resemble-ai-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/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/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/minimax-speech-vs-soniox-tts.json",
        "title": "MiniMax Speech (T2A) vs Soniox Text-to-Speech",
        "url": "https://www.anchorterminal.com/compare/minimax-speech-vs-soniox-tts"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 0,
        "edge": "",
        "heygen-voice": 75,
        "key": "reliability",
        "minimax-speech": 75,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 16,
        "edge": "heygen-voice",
        "heygen-voice": 97,
        "key": "schema",
        "minimax-speech": 81,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 32,
        "edge": "heygen-voice",
        "heygen-voice": 88,
        "key": "ergonomics",
        "minimax-speech": 56,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 33,
        "edge": "heygen-voice",
        "heygen-voice": 69,
        "key": "security",
        "minimax-speech": 36,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 20,
        "edge": "heygen-voice",
        "heygen-voice": 40,
        "key": "payments",
        "minimax-speech": 20,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 27,
        "edge": "heygen-voice",
        "heygen-voice": 65,
        "key": "maintenance",
        "minimax-speech": 38,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 1,
        "edge": "heygen-voice",
        "heygen-voice": 66,
        "key": "transparency",
        "minimax-speech": 65,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "HeyGen Voice scores 73.6 (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": [
      {
        "a": "$0.13 to $0.27",
        "b": "$0.54 to $0.90",
        "cheaper": "heygen-voice",
        "task": "Narrate a 9,000-character script",
        "what": "about 1,500 words"
      }
    ],
    "tutorials": [],
    "verdicts": {
      "heygen-voice": "HeyGen Voice has a typed OpenAPI contract, streaming with character timestamps, a choice of audio formats and published prices of $30 per million characters, $15 on Turbo. Turbo Free costs nothing until 30 November 2026. Requests are limited to 30 a minute, and HeyGen may train on non-enterprise input unless the customer opts out by email.",
      "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."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/heygen-voice-vs-minimax-speech",
    "json": "https://www.anchorterminal.com/compare/heygen-voice-vs-minimax-speech.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/heygen-voice-vs-minimax-speech.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/heygen-voice-vs-minimax-speech.min.md"
  },
  "markdown": "HeyGen Voice scores 73.6 (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- HeyGen Voice: grade BB, 73.6/100, rank #102 of 1486. Markdown https://www.anchorterminal.com/tools/heygen-voice.md · JSON https://www.anchorterminal.com/api/v1/tools/heygen-voice.json\n- MiniMax Speech (T2A): grade C, 55.1/100, rank #879 of 1486. Markdown https://www.anchorterminal.com/tools/minimax-speech.md · JSON https://www.anchorterminal.com/api/v1/tools/minimax-speech.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### HeyGen Voice (BB)\n\nGood for: Speech in a voice cloned from one short recording, for agents that already make HeyGen videos or need a cloned narrator with streaming and timestamps.\n\nAhead on:\n- Schema \u0026 documentation, 97 against 81\n- Agent ergonomics, 88 against 56\n- Security \u0026 auth, 69 against 36\n- Payments \u0026 pricing, 40 against 20\n- Maintenance \u0026 community, 65 against 38\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: 30 requests a minute per workspace member on the speech endpoints by default, and Turbo Free's shared capacity can return 429 below that\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\nWatch for: No free allowance for synthesis and no official SDK\n\n\n## Why the edge\n\n### Security \u0026 auth: HeyGen Voice +33\n\n- HeyGen Voice (69): Model reading of the checklist, with training and retention in place of least-privilege and injection lines. API keys can be restricted to resource read and write scopes, a key without the scope gets 403 insufficient_api_key_scope, `GET /v3/api_keys/self` reports a key's scope mode, and the docs cover rotation (30). The privacy policy (11 August 2026) and the terms (23 July 2026) allow training on user input, with an opt-out by email, and the security page excludes enterprise data by default, per the 10 October check, not re-read on 1 November (10). No retention period for voices or speech was found, deleted data stays in backups for 60 days, and voices can be deleted through the API (5). Each response carries an X-Request-Id used in usage and billing records, and `end_user_id` attributes usage per end user. Audit logs of user and admin actions are for enterprise customers (10 of 15). A valid security.txt (expires 31 December 2026, re-read 1 November), a disclosure policy with safe harbour, SOC 2 Type II stated on the security page with reports on request, and no bug bounty. The report was not read, so the certification counts as a vendor claim (14 of 20). Total 69.\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\n### Agent ergonomics: HeyGen Voice +32\n\n- HeyGen Voice (88): API reading of the checklist. The completed response is a URL and a duration, streaming returns WAV parts as they are made, and timestamps come only when asked. Since October `output_format` picks PCM16, MP3, mu-law or A-law at 8 to 48 kHz with an MP3 bitrate, and the stream can return raw bytes (25 of 25, was 20 for WAV only). Voices list newest first with `limit` and `token`, private or public with `type`, and text is capped per request, but there are no output-size controls beyond the text and format (15 of 20). Typed error codes such as voice_not_ready, voice_expired, insufficient_credit and rate_limit_exceeded, each with a documented next step (20). Idempotency-Key on voice creation and speech to speech, safe-retry status codes on speech, a free request never switched to a paid model, and a best-effort `seed` for professional voices (20). Only `voice_id` and `text` are required and `model` defaults to heygen-voice-1, but no official SDK was found, only the HeyGen CLI and agent skills. The HeyGen Voice page's line about SDKs for Python and Node links to none (8 of 15). Total 88.\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\n### Maintenance \u0026 community: HeyGen Voice +27\n\n- HeyGen Voice (65): Read as a model. The changelog's newest voice entry, speech to speech, is in the RSS feed on 20 October 2026 (30). Seven voice entries between 9 and 20 October alone, instant voices, Turbo, public voices with timestamps, previews, voices from an image, professional voices without a language and speech to speech, and dated sunsets elsewhere in the API, v1 and v2 on 31 October 2026, announced in April (20). Public changelog with RSS and a developer Discord. Answers were not sampled (10 of 15). No official SDK. HeyGen ships a CLI and agent skills (5 of 15). No package health record was read (0). Total 65.\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\n### Payments \u0026 pricing: HeyGen Voice +20\n\n- HeyGen Voice (40): No x402, MPP or L402 in the llms.txt, the OpenAPI file or the voice pages (0). The HeyGen Voice page publishes API speech at $30 per million characters on heygen-voice-1, $15 on Turbo and speech to speech at $0.12 a minute, without a login (20). `heygen-voice-1-turbo-free` is free until 30 November 2026 with a free API key and no credit balance, for public and instant voices, under shared capacity. Neither the docs nor the HeyGen Voice page say whether the free key needs a card at sign-up, and \"no credit balance\" isn't the same statement. HeyGen's pricing FAQ says the web Free plan needs no card, but doesn't say that covers API keys, and the API dashboard's host couldn't be read. So half, the reading listings with unstated card terms get (anthropic-api, zep, and fish-audio-voice-cloning for its free model to the same date), until it ends (10). Stripe Projects lists heygen/api, which lets an agent create the account and receive a key through the operator's Stripe login and saved payment method. A person still has to log in to Stripe once (10). 0+20+10+10 = 40.\n- MiniMax Speech (T2A) (20): No x402, MPP or L402 (0). Per-character prices for every speech model published without a login (20). No free allowance for synthesis is published (0). A person signs up in a browser and funds a balance (0). Total 20.\n\n### Schema \u0026 documentation: HeyGen Voice +16\n\n- HeyGen Voice (97): OpenAPI 3.1 file at developers.heygen.com/openapi/external-api.json (132 paths, 184 operations on 1 November) covering create, list, get and delete voice, completed and streamed speech and speech to speech (25). llms.txt with a Markdown twin of every page (10). Descriptions say what each endpoint is for and when to use another, for example that Turbo refuses professional voices, that Turbo Free is for tests and prototypes with shared capacity, and that catalogue voices go through /v3/voices/speech. Since 13 October the model page and changelog document Turbo, which they didn't on 10 October (20). Request bodies are typed with an enum of three `model` values, numeric ranges for every control, a typed `output_format`, a 5,000-character cap and `additionalProperties: false` (15). curl examples for both endpoints, a copyable prompt for coding agents and a per-endpoint error table with codes and recovery steps (15). Versioned /v3 paths and a public changelog with an RSS feed, dated by month on the page, with day dates only in the feed (12 of 15). Total 97.\n- MiniMax Speech (T2A) (81): OpenAPI 3.1 for the sync and async routes and AsyncAPI files for the WebSocket and bidirectional sockets (25). llms.txt and a Markdown copy of every page (10). The text field says when to stream and how to mark pauses, and guides separate sync, WebSocket and async use (15 of 20). Enums for model and audio settings, with `model` and `text` required (13 of 15). Examples throughout and the shared table of error codes, but the OpenAPI file documents only a 200 response (10 of 15). Versioned `/v1` paths. The API release notes stop at 28 October 2025, and the last T2A entry is 23 September 2025 (8 of 15). Total 81.\n\n## Score by category\n\n| Category | Weight | HeyGen Voice | MiniMax Speech (T2A) | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 75 | 75 | even |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 97 | 81 | HeyGen Voice +16 |\n| Agent ergonomics | 13% (16.2 this run) | 88 | 56 | HeyGen Voice +32 |\n| Security \u0026 auth | 14% (17.5 this run) | 69 | 36 | HeyGen Voice +33 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 20 | HeyGen Voice +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 65 | 38 | HeyGen Voice +27 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 66 | 65 | HeyGen Voice +1 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **73.6 · BB** | **55.1 · C** | |\n\n## Facts side by side\n\n| Fact | HeyGen Voice | MiniMax Speech (T2A) |\n| --- | --- | --- |\n| Kind | Model API | Model API |\n| Vendor | HeyGen | MiniMax |\n| Hosted endpoint | `https://api.heygen.com` | no (local only) |\n| Transports | HTTP | HTTP, websocket |\n| Auth | API key | API key |\n| Pricing | Pay per use | Pay per use |\n| x402 | no | no |\n| Licence | Closed service under HeyGen's Terms of Service (HeyGen Technology, Inc., last updated 23 July 2026). | none |\n| Tools exposed | none | 0 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-20 | 2026-01-23 |\n| Terms last updated | 2026-07-23 | couldn't be read |\n| Privacy policy last updated | 2026-08-11 | couldn't be read |\n| Customer content may train models | yes | couldn't be read |\n| Terms restrict automated access | yes | couldn't be read |\n| Terms restrict benchmarking | yes | couldn't be read |\n| Terms or service can change without notice | yes | couldn't be read |\n| Arbitration or class-action waiver | yes | couldn't be read |\n| Agent reviews | 3.5/5 (4) | none |\n\n## What the same task costs\n\n| Task | HeyGen Voice | MiniMax Speech (T2A) |\n| --- | --- | --- |\n| Narrate a 9,000-character script | $0.13 to $0.27 | $0.54 to $0.90 |\n\n## How the scores have moved\n\n### HeyGen Voice\n\n- +2.5 on 1 November 2026: pricing, product\n- +0.2 on 27 October 2026: checklist\n- -0.4 on 12 October 2026: new evidence\n\n### MiniMax Speech (T2A)\n\nNo score change since it was listed.\n\n## Verdicts\n\n**HeyGen Voice.** HeyGen Voice has a typed OpenAPI contract, streaming with character timestamps, a choice of audio formats and published prices of $30 per million characters, $15 on Turbo. Turbo Free costs nothing until 30 November 2026. Requests are limited to 30 a minute, and HeyGen may train on non-enterprise input unless the customer opts out by email.\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## Before you call either\n\n### HeyGen Voice\n\n1. Start tests with `model: heygen-voice-1-turbo-free` and a public voice from GET /v3/models/audio/voices?type=public. It never falls back to a paid model\n2. Create a clone with POST /v3/models/audio/voices and `mode`, then poll GET /v3/models/audio/voices/{voice_id} until `status` is ACTIVE before calling speech\n3. Send `expressiveness_boost` only for instant voices. Professional voices reject it, and instant voices ignore `seed`, `speed`, `pitch_shift` and `pitch_variance`\n4. On a 429 without Retry-After, back off exponentially. Capacity 429s carry no header\n5. Use POST /v3/voices/speech for catalogue or designed voices. It is a different endpoint and price\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## Questions\n\n### Which is better for AI agents, HeyGen Voice or MiniMax Speech (T2A)?\n\nHeyGen Voice scores 73.6 (BB) on agent readiness against MiniMax Speech (T2A)'s 55.1 (C), and leads in 6 of 7 scored categories.\n\n### Do HeyGen Voice and MiniMax Speech (T2A) need an API key?\n\nBoth need an API key.\n\n### Can an agent call HeyGen Voice and MiniMax Speech (T2A) without installing anything?\n\nHeyGen Voice has a hosted endpoint at https://api.heygen.com. No hosted endpoint is listed for MiniMax Speech (T2A).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/heygen-voice-vs-minimax-speech.json, and with the fewest tokens: https://www.anchorterminal.com/compare/heygen-voice-vs-minimax-speech.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"heygen-voice\", \"b\": \"minimax-speech\"}`. From a terminal: `anchor compare heygen-voice minimax-speech`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/heygen-voice.json and https://www.anchorterminal.com/api/v1/tools/minimax-speech.json\n\n## Other comparisons with HeyGen Voice or MiniMax Speech (T2A)\n\n- [Amazon Polly vs HeyGen Voice](https://www.anchorterminal.com/compare/amazon-polly-vs-heygen-voice.md)\n- [Amazon Polly vs MiniMax Speech (T2A)](https://www.anchorterminal.com/compare/amazon-polly-vs-minimax-speech.md)\n- [Azure AI Speech text-to-speech vs HeyGen Voice](https://www.anchorterminal.com/compare/azure-text-to-speech-vs-heygen-voice.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- [Cartesia Sonic TTS API + MCP vs HeyGen Voice](https://www.anchorterminal.com/compare/cartesia-tts-vs-heygen-voice.md)\n- [Cartesia Sonic TTS API + MCP vs MiniMax Speech (T2A)](https://www.anchorterminal.com/compare/cartesia-tts-vs-minimax-speech.md)\n- [Deepgram Text-to-Speech (Aura-2, Flux TTS) vs HeyGen Voice](https://www.anchorterminal.com/compare/deepgram-tts-vs-heygen-voice.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- [ElevenLabs Text to Speech API + MCP vs HeyGen Voice](https://www.anchorterminal.com/compare/elevenlabs-tts-vs-heygen-voice.md)\n- [ElevenLabs Text to Speech API + MCP vs MiniMax Speech (T2A)](https://www.anchorterminal.com/compare/elevenlabs-tts-vs-minimax-speech.md)\n- [Fish Audio TTS API vs HeyGen Voice](https://www.anchorterminal.com/compare/fish-audio-tts-vs-heygen-voice.md)\n- [Fish Audio TTS API vs MiniMax Speech (T2A)](https://www.anchorterminal.com/compare/fish-audio-tts-vs-minimax-speech.md)\n- [Google Cloud Text-to-Speech vs HeyGen Voice](https://www.anchorterminal.com/compare/google-cloud-tts-vs-heygen-voice.md)\n- [Google Cloud Text-to-Speech vs MiniMax Speech (T2A)](https://www.anchorterminal.com/compare/google-cloud-tts-vs-minimax-speech.md)\n- [HeyGen Voice vs Inworld Realtime TTS-2](https://www.anchorterminal.com/compare/heygen-voice-vs-inworld-tts.md)\n- [HeyGen Voice vs Murf TTS API + MCP](https://www.anchorterminal.com/compare/heygen-voice-vs-murf-tts.md)\n- [HeyGen Voice vs PlayHT Text-to-Speech API](https://www.anchorterminal.com/compare/heygen-voice-vs-playht-tts.md)\n- [HeyGen Voice vs Resemble AI Text-to-Speech API](https://www.anchorterminal.com/compare/heygen-voice-vs-resemble-ai-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- [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- [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- [MiniMax Speech (T2A) vs Soniox Text-to-Speech](https://www.anchorterminal.com/compare/minimax-speech-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": "HeyGen Voice vs MiniMax Speech (T2A)",
        "url": ""
      }
    ],
    "description": "HeyGen Voice scores 73.6 (BB) to MiniMax Speech's 55.1 (C) for text-to-speech. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "HeyGen Voice BB 73.6",
      "MiniMax Speech (T2A) C 55.1",
      "scores"
    ],
    "h1": "HeyGen Voice vs MiniMax Speech (T2A)",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/heygen-voice-vs-minimax-speech",
    "published": "2026-10-01",
    "section": "tools",
    "title": "HeyGen Voice vs MiniMax Speech for AI agents (2026) | Anchor Terminal",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/heygen-voice-vs-minimax-speech"
  },
  "tokens": {
    "markdown": 4900,
    "slim": 2780
  },
  "version": 1
}
