{
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-11",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "tool": {
    "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`, which speaks text in a voice cloned from one recording (instant) or from 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",
    "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": "Instant-voice speech is $15 per million submitted characters, charged only on successful requests (OpenAPI description, checked 10 October 2026). Professional speech is 0.6 API credits per generated minute, and each professional voice needs a purchased slot. Instant voices are free to create during the preview. No free API allowance was found.",
    "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 10 October 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.languages",
      "voice.clone"
    ],
    "tags": [
      "hosted",
      "official",
      "usage-priced",
      "closed-source",
      "openapi",
      "llms-txt",
      "streaming",
      "status-page",
      "soc2",
      "security-txt",
      "cli",
      "agent-skills"
    ],
    "graded": true,
    "anchor": {
      "graded": true,
      "score": 71.3,
      "grade": "BB",
      "agentReady": true,
      "rank": 131,
      "ranked": true,
      "rankOf": 961,
      "categoryRank": 5,
      "methodology": "0.4",
      "run": "2026-10-01",
      "scores": {
        "ergonomics": 83,
        "maintenance": 65,
        "payments": 30,
        "reliability": 75,
        "schema": 94,
        "security": 69,
        "transparency": 69
      },
      "pending": [
        "performance",
        "tasks"
      ],
      "breakdown": [
        {
          "key": "reliability",
          "name": "Reliability",
          "weight": 16,
          "effectiveWeight": 20,
          "score": 75,
          "points": 15,
          "reason": "Status page at status.heygen.com with components for www, app and api.heygen.com and dated incident history (20). It has no voice component. In the 90 days to 10 October, majors hit Video Agent (9 September, about 3.5 hours of 404s on new sessions) and Seedance (16 September, 2 minutes), and minors hit video workflows. None names speech or voices, so minor only for this surface (20). The speech endpoints publish 30 requests a minute per workspace member (15). A 429 carries Retry-After and X-RateLimit headers, the error reference asks for exponential backoff, the OpenAPI file marks 502, 503 and 504 safe to retry, and voice creation takes an Idempotency-Key (15). The terms disclaim uninterrupted service and no SLA was found (0). Instant voice creation is in a preview and the professional mode carries no label, so half (5). Total 75."
        },
        {
          "key": "performance",
          "name": "Performance",
          "weight": 10,
          "effectiveWeight": 0,
          "pending": true,
          "points": 0,
          "reason": "Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes."
        },
        {
          "key": "schema",
          "name": "Schema \u0026 documentation",
          "weight": 13,
          "effectiveWeight": 16.25,
          "score": 94,
          "points": 15.28,
          "reason": "OpenAPI 3.1 file at developers.heygen.com/openapi/external-api.json covering create, list, get and delete voice, completed speech and streamed 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 and that catalogue voices go through /v3/voices/speech. The model page and changelog do not mention Turbo (17 of 20). Request bodies are typed with an enum for `model`, numeric ranges for every control, a 5,000-character cap and `additionalProperties: false` (15). curl examples for both endpoints 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 only (12 of 15). Total 94."
        },
        {
          "key": "ergonomics",
          "name": "Agent ergonomics",
          "weight": 13,
          "effectiveWeight": 16.25,
          "score": 83,
          "points": 13.49,
          "reason": "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. Output is WAV only, with no format or sample-rate choice (20 of 25). Voices list newest first with `limit` and `token`, and text is capped per request, but there are no output-size controls beyond the text (15 of 20). Typed error codes such as voice_not_ready, voice_expired and insufficient_credit, each with a documented next step (20). Idempotency-Key on voice creation, safe-retry status codes on speech, failed or disconnected requests not charged, 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 (8 of 15). Total 83."
        },
        {
          "key": "security",
          "name": "Security \u0026 auth",
          "weight": 14,
          "effectiveWeight": 17.5,
          "score": 69,
          "points": 12.08,
          "reason": "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, 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. The security page excludes enterprise data by default (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 the usage page has an Activity tab. Audit logs of user and admin actions are for enterprise customers (10 of 15). A valid security.txt (expires 31 December 2026), a disclosure policy with safe harbour, SOC 2 Type II stated on the security page with reports on request from security.heygen.com, and no bug bounty. The report was not read, so the certification counts as a vendor claim (14 of 20). Total 69."
        },
        {
          "key": "payments",
          "name": "Payments \u0026 pricing",
          "weight": 10,
          "effectiveWeight": 12.5,
          "score": 30,
          "points": 3.75,
          "reason": "No x402, MPP or L402 in the llms.txt, the OpenAPI file or the voice pages (0). Instant-voice speech is $15 per million characters in the public OpenAPI descriptions, and professional speech is 0.6 credits a minute. Self-serve API pricing in the dashboard needs a login, so this rests on the OpenAPI text (20). No free API allowance was found. The web Free plan and OAuth bill subscription credits, which were not checked for HeyGen Voice (0). 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). Total 30."
        },
        {
          "key": "tasks",
          "name": "Task success",
          "weight": 10,
          "effectiveWeight": 0,
          "pending": true,
          "points": 0,
          "reason": "Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored."
        },
        {
          "key": "maintenance",
          "name": "Maintenance \u0026 community",
          "weight": 7,
          "effectiveWeight": 8.75,
          "score": 65,
          "points": 5.69,
          "reason": "Read as a model. The changelog's newest voice entry, instant voices and text-to-speech, is dated October 2026 (30). Four voice entries in the last 90 days, professional voice clone, pause tags and ElevenLabs model selection in September and instant voices in October, and dated sunset notices 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."
        },
        {
          "key": "transparency",
          "name": "Transparency \u0026 trust",
          "weight": 7,
          "effectiveWeight": 8.75,
          "score": 69,
          "points": 6.04,
          "note": "editorial 52, provenance 85",
          "reason": "Closed service with terms dated 23 July 2026. Paid plans own their output, and free-plan output is limited to non-commercial use (15). Privacy policy, terms and security page agree that non-enterprise input can train models with an opt-out by email, and differ on the entity name (HeyGen Technology Inc. and HeyGen, Inc.). No retention period for voice or speech data (12 of 30). Dated deprecation notices in the changelog, such as the v1 and v2 sunset on 31 October 2026, and no notice yet for this model (15 of 20). Subprocessors are listed on the security portal, which was not read, and the privacy policy says data may be processed in the United States (10 of 20). Total 52."
        }
      ],
      "assessment": {
        "date": "2026-10-10",
        "basis": "public evidence",
        "confidence": "medium",
        "notes": {
          "ergonomics": "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. Output is WAV only, with no format or sample-rate choice (20 of 25). Voices list newest first with `limit` and `token`, and text is capped per request, but there are no output-size controls beyond the text (15 of 20). Typed error codes such as voice_not_ready, voice_expired and insufficient_credit, each with a documented next step (20). Idempotency-Key on voice creation, safe-retry status codes on speech, failed or disconnected requests not charged, 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 (8 of 15). Total 83.",
          "maintenance": "Read as a model. The changelog's newest voice entry, instant voices and text-to-speech, is dated October 2026 (30). Four voice entries in the last 90 days, professional voice clone, pause tags and ElevenLabs model selection in September and instant voices in October, and dated sunset notices 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.",
          "payments": "No x402, MPP or L402 in the llms.txt, the OpenAPI file or the voice pages (0). Instant-voice speech is $15 per million characters in the public OpenAPI descriptions, and professional speech is 0.6 credits a minute. Self-serve API pricing in the dashboard needs a login, so this rests on the OpenAPI text (20). No free API allowance was found. The web Free plan and OAuth bill subscription credits, which were not checked for HeyGen Voice (0). 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). Total 30.",
          "reliability": "Status page at status.heygen.com with components for www, app and api.heygen.com and dated incident history (20). It has no voice component. In the 90 days to 10 October, majors hit Video Agent (9 September, about 3.5 hours of 404s on new sessions) and Seedance (16 September, 2 minutes), and minors hit video workflows. None names speech or voices, so minor only for this surface (20). The speech endpoints publish 30 requests a minute per workspace member (15). A 429 carries Retry-After and X-RateLimit headers, the error reference asks for exponential backoff, the OpenAPI file marks 502, 503 and 504 safe to retry, and voice creation takes an Idempotency-Key (15). The terms disclaim uninterrupted service and no SLA was found (0). Instant voice creation is in a preview and the professional mode carries no label, so half (5). Total 75.",
          "schema": "OpenAPI 3.1 file at developers.heygen.com/openapi/external-api.json covering create, list, get and delete voice, completed speech and streamed 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 and that catalogue voices go through /v3/voices/speech. The model page and changelog do not mention Turbo (17 of 20). Request bodies are typed with an enum for `model`, numeric ranges for every control, a 5,000-character cap and `additionalProperties: false` (15). curl examples for both endpoints 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 only (12 of 15). Total 94.",
          "security": "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, 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. The security page excludes enterprise data by default (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 the usage page has an Activity tab. Audit logs of user and admin actions are for enterprise customers (10 of 15). A valid security.txt (expires 31 December 2026), a disclosure policy with safe harbour, SOC 2 Type II stated on the security page with reports on request from security.heygen.com, and no bug bounty. The report was not read, so the certification counts as a vendor claim (14 of 20). Total 69.",
          "transparency": "Closed service with terms dated 23 July 2026. Paid plans own their output, and free-plan output is limited to non-commercial use (15). Privacy policy, terms and security page agree that non-enterprise input can train models with an opt-out by email, and differ on the entity name (HeyGen Technology Inc. and HeyGen, Inc.). No retention period for voice or speech data (12 of 30). Dated deprecation notices in the changelog, such as the v1 and v2 sunset on 31 October 2026, and no notice yet for this model (15 of 20). Subprocessors are listed on the security portal, which was not read, and the privacy policy says data may be processed in the United States (10 of 20). Total 52."
        },
        "sources": [
          {
            "what": "HeyGen Voice model page, modes, endpoints and pricing",
            "url": "https://developers.heygen.com/docs/models/heygen-voice",
            "seen": "2026-10-10"
          },
          {
            "what": "Text to Speech page, parameters, streaming format, limits and errors",
            "url": "https://developers.heygen.com/docs/voices/heygen-voice-speech",
            "seen": "2026-10-10"
          },
          {
            "what": "Instant Voice Clone page, recording rules and languages",
            "url": "https://developers.heygen.com/docs/voices/heygen-voice-instant-clone",
            "seen": "2026-10-10"
          },
          {
            "what": "OpenAPI file, schemas, per-character price, scopes and retry notes",
            "url": "https://developers.heygen.com/openapi/external-api.json",
            "seen": "2026-10-10"
          },
          {
            "what": "Developer llms.txt",
            "url": "https://developers.heygen.com/llms.txt",
            "seen": "2026-10-10"
          },
          {
            "what": "API changelog",
            "url": "https://developers.heygen.com/changelog",
            "seen": "2026-10-10"
          },
          {
            "what": "Usage limits, rate limits and 429 headers",
            "url": "https://developers.heygen.com/docs/usage-limits",
            "seen": "2026-10-10"
          },
          {
            "what": "API key permission scopes",
            "url": "https://developers.heygen.com/docs/api-key-permissions",
            "seen": "2026-10-10"
          },
          {
            "what": "Stripe Projects provisioning",
            "url": "https://developers.heygen.com/docs/stripe-projects",
            "seen": "2026-10-10"
          },
          {
            "what": "Status page incidents feed",
            "url": "https://status.heygen.com/api/v2/incidents.json",
            "seen": "2026-10-10"
          },
          {
            "what": "Privacy policy, training and retention",
            "url": "https://www.heygen.com/privacy",
            "seen": "2026-10-10"
          },
          {
            "what": "Terms of Service, ownership, training licence and warranty",
            "url": "https://www.heygen.com/terms",
            "seen": "2026-10-10"
          },
          {
            "what": "Security page, SOC 2, disclosure policy and training exclusion",
            "url": "https://www.heygen.com/security",
            "seen": "2026-10-10"
          },
          {
            "what": "security.txt",
            "url": "https://www.heygen.com/.well-known/security.txt",
            "seen": "2026-10-10"
          }
        ],
        "openQuestions": [
          "unchecked: the self-serve API pricing modal at app.heygen.com/developers/api, which needs a login. The dollar value of an API credit is inferred from the OpenAPI example of 9/60 credit for $0.15.",
          "unchecked: whether the web Free plan or OAuth credits can call the HeyGen Voice speech endpoints.",
          "unchecked: the subprocessor list and SOC 2 report on security.heygen.com.",
          "The claim that HeyGen Voice leads a text-to-speech arena came from a social media post. No first-hand page with the ranking was read, and the listing does not state it.",
          "No release day for either mode. The changelog dates them by month only.",
          "No authenticated call was made, so latency, the Turbo model and the streaming format are as documented, not measured."
        ]
      },
      "negative": 0,
      "verdict": "HeyGen Voice has a typed OpenAPI contract, streaming with character timestamps, and a published price of $15 per million characters for instant voices, with failed requests not charged. It speaks only voices cloned in the caller's workspace, allows 30 requests 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, with optional character-level timestamps",
        "Instant-voice speech priced at $15 per million characters without a login, and failed or disconnected requests are not charged",
        "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": [
        "Speaks only voices cloned in the caller's workspace. Stock and designed voices go through a separate endpoint and engines",
        "30 requests a minute per workspace member on the speech endpoints, on every plan",
        "Output is a 44.1 kHz mono WAV only, and text is capped at 5,000 characters a request",
        "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 free API allowance and no SLA in the terms"
      ],
      "agentNotes": [
        "Create a voice first 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 and `seed`, `speed`, `pitch_shift`, `pitch_variance` or `\u003cbreak\u003e` tags only for professional voices. Mixing them returns 400 invalid_parameter",
        "On the stream, decode and play each base64 WAV part in `part_index` order. Do not concatenate the bytes",
        "Send an Idempotency-Key when creating a voice, and retry 502, 503 and 504 on speech, which the OpenAPI file marks as safe",
        "Use POST /v3/voices/speech for stock or designed voices. It is a different engine and price"
      ],
      "metrics": {
        "kind": "remote",
        "measured": false
      },
      "reviewCount": 0,
      "avgRating": 0,
      "history": [
        {
          "basis": "public evidence",
          "confidence": "medium",
          "grade": "BB",
          "methodology": "0.4",
          "pending": [
            "performance",
            "tasks"
          ],
          "run": "2026-10-01",
          "runLabel": "October 2026 research run",
          "score": 71.3
        }
      ],
      "editorialScores": {
        "ergonomics": 83,
        "maintenance": 65,
        "payments": 30,
        "reliability": 75,
        "schema": 94,
        "security": 69,
        "transparency": 52
      },
      "provenanceScore": 85
    },
    "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"
    },
    "notable": [
      "HeyGen's changelog dates professional voice cloning on the HeyGen Voice model to September 2026 and instant voices with the text-to-speech endpoints to October 2026, without day dates (https://developers.heygen.com/changelog)",
      "The OpenAPI file lists two model values, heygen-voice-1 and heygen-voice-1-turbo. Turbo speaks instant voices at lower latency and refuses professional voices. The changelog and the model page do not mention Turbo (https://developers.heygen.com/openapi/external-api.json)",
      "Instant-voice speech costs $15 per million submitted Unicode characters, and failed or disconnected streams are not charged, per the OpenAPI descriptions of POST /v3/models/audio/tts and /tts/stream (https://developers.heygen.com/openapi/external-api.json)",
      "The text-to-speech endpoints allow 30 requests a minute per workspace member on every plan, and a 429 carries Retry-After and X-RateLimit headers (https://developers.heygen.com/docs/usage-limits)",
      "Catalogue voices are spoken by a separate endpoint, POST /v3/voices/speech, with Orca, Starfish or ElevenLabs engines. HeyGen Voice clones are not used there (https://developers.heygen.com/docs/voices/speech)",
      "HeyGen's privacy policy (11 August 2026) says user input may be used to train its models, with an opt-out by email, and its security page says enterprise data is excluded from training by default (https://www.heygen.com/privacy and https://www.heygen.com/security)",
      "A claim that HeyGen Voice leads a text-to-speech arena came from a social media post and was not confirmed on a first-hand page"
    ],
    "area": "voice",
    "details": [
      {
        "label": "Surface graded",
        "value": "HeyGen Voice through HeyGen's v3 API, POST /v3/models/audio/tts and /tts/stream with the voice endpoints under /v3/models/audio/voices. Read from the developer docs and OpenAPI file on 10 October 2026. No authenticated call was made."
      },
      {
        "label": "Models",
        "value": "heygen-voice-1 (default, instant and professional voices) and heygen-voice-1-turbo (instant voices only, lower latency, per the OpenAPI file)."
      },
      {
        "label": "Voice modes",
        "value": "Instant voices use one recording (the first 3 minutes), are usually ready within seconds and cannot be retrained. Professional voices use 1 to 10 recordings of one speaker, 20 minutes or more in total, are trained and retrainable, and need one purchased slot each with five trainings a month."
      },
      {
        "label": "Output",
        "value": "Completed speech returns a URL to a 44.1 kHz mono PCM16 WAV and its duration. Streaming returns Server-Sent Events of base64 WAV parts, ending with [DONE], with optional character alignment events."
      },
      {
        "label": "Controls",
        "value": "Instant voices take expressiveness_boost from 0.0 to 1.0. Professional voices take seed, speed 0.75 to 1.25, pitch_shift -4 to +4 semitones, pitch_variance 0.5 to 2.0, and \u003cbreak\u003e pauses up to 5 seconds. No other SSML."
      },
      {
        "label": "Languages",
        "value": "39 base languages for cloning and speech, including ar, de, en, es, fr, hi, ja, ko, pt, ru and zh. Regional tags normalise to the base language. Detected from the text when omitted."
      },
      {
        "label": "Limits",
        "value": "1 to 5,000 characters a request. 30 requests a minute per workspace member on each speech endpoint, on every plan."
      },
      {
        "label": "Errors",
        "value": "400 invalid_parameter or voice_expired, 402 insufficient_credit or usage_limit_reached, 403 forbidden, 404 voice_not_found, 409 voice_not_ready or voice_training_failed, 429 rate_limit_exceeded with Retry-After, 502, 503 and 504 safe to retry."
      },
      {
        "label": "Preview status",
        "value": "Instant voice creation is free during a preview, per the model page. The professional mode carries no preview label."
      },
      {
        "label": "Data handling",
        "value": "The privacy policy of 11 August 2026 says input may train HeyGen's models, with an opt-out by email, and backups are kept 60 days after deletion. The security page says enterprise data is excluded from training by default and states SOC 2 Type II."
      }
    ],
    "unitPrices": [
      {
        "item": "Instant-voice speech",
        "unit": "1m-chars",
        "usd": 15,
        "note": "Submitted Unicode characters, including spaces. Successful requests only."
      },
      {
        "item": "Professional-voice speech",
        "unit": "audio-minute",
        "usd": 0.6,
        "note": "0.6 API credits per generated minute. The dollar figure assumes $1 a credit, from the OpenAPI example of 9/60 credit for $0.15."
      }
    ],
    "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-10-10",
      "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": 85,
      "checks": [
        {
          "check": "Legal entity named",
          "value": "HeyGen Technology, Inc.",
          "points": 20,
          "max": 20,
          "state": "ok"
        },
        {
          "check": "Domain age",
          "value": "heygen.com, no registry record we could read",
          "points": 0,
          "max": 15,
          "state": "no"
        },
        {
          "check": "Endpoint on the vendor's domain",
          "value": "api.heygen.com",
          "points": 15,
          "max": 15,
          "state": "ok"
        },
        {
          "check": "Terms of service",
          "value": "published",
          "points": 10,
          "max": 10,
          "state": "ok"
        },
        {
          "check": "Privacy policy",
          "value": "published",
          "points": 10,
          "max": 10,
          "state": "ok"
        },
        {
          "check": "Status page",
          "value": "status.heygen.com",
          "points": 10,
          "max": 10,
          "state": "ok"
        },
        {
          "check": "Changelog",
          "value": "published",
          "points": 10,
          "max": 10,
          "state": "ok"
        },
        {
          "check": "security.txt",
          "value": "valid",
          "points": 10,
          "max": 10,
          "state": "ok"
        }
      ]
    },
    "pageJsonUrl": "https://www.anchorterminal.com/tools/heygen-voice.json",
    "live": {
      "slug": "heygen-voice",
      "probe": {
        "target": "https://api.heygen.com",
        "method": "get",
        "lastAt": "2026-10-11T02:46:27.941825924Z",
        "lastOk": true,
        "lastStatus": 404,
        "lastMs": 308,
        "authRequired": false,
        "uptime24h": 100,
        "uptime30d": 100,
        "p50ms24h": 301,
        "p95ms24h": 320,
        "samples24h": 30,
        "samples30d": 30,
        "days": [
          {
            "date": "2026-10-10",
            "probes": 1,
            "ok": 1
          },
          {
            "date": "2026-10-11",
            "probes": 29,
            "ok": 29
          }
        ]
      },
      "vendorStatus": {
        "page": "https://status.heygen.com",
        "indicator": "none",
        "summary": "All Systems Operational",
        "checkedAt": "2026-10-11T02:40:57.349304573Z"
      },
      "updatedAt": "2026-10-11T02:46:27.941825924Z"
    }
  }
}
