Varosity

HeyGen Voice API

HeyGen's text-to-speech: 24 preset voices across 39 languages, as 44.1 kHz WAV.

$0.03/min on Varosity credits ($0.027/min with your own key).

no fal.ai account needed · provider's list price; credits round each call up to the cent · failed renders never billed

Best for

  • 24 preset voices
  • 39 languages, detected from the text

Trade-offs

  • WAV output only (large files)
  • no streaming

How to get the best result

Narration in one of 24 preset voices across 39 languages. Pick instead: heygen-voice-turbo for the same voices at about an eighth of the price; elevenlabs-tts with /api/v1/voices for a cloned voice.

Prompting

  • Plain text, up to 5,000 characters. Use punctuation to control pacing, since speed is not forwarded.
  • The language is detected from the text; set providerOptions.language when a short line could be misread.

Settings on Varosity

  • voiceId is a preset name from list_voices (default Jonah). Anything else is refused and not charged.
  • REST providerOptions: language (ISO code such as en, es, ja) and expressivenessBoost (0-1, default 1).
  • Output is 44.1 kHz WAV, about 5 MB a minute; format and speed are not forwarded.

Avoid

  • Passing another provider's voice id or a recording URL: both are refused.

Example prompt

Welcome back. Today we are looking at why the shortest route is rarely the fastest one.

From fal.ai, checked against what Varosity sends.

Call it from your code

One Varosity key works for every model.

curl -X POST https://varosity.ai/api/v1/tts \
  -H "Authorization: Bearer $VAROSITY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Welcome to the launch. Here's what's new this week.",
    "voiceModel": "heygen-voice"
  }'

Or ask your agent

Connect Claude, Cursor, or any MCP client to https://varosity.ai/api/mcp with your key, then say:

"Use Varosity with heygen-voice to read this script aloud: …"
Agent setup guide

Alternatives to HeyGen Voice