Fish Audio alternative with per-character pricing

If you pay Fish Audio by the byte and your text is not plain English, the bill is hard to predict. This page covers moving to per-character billing.

What the same job costs

Text to speech billed per character, at list price. Fish Audio charges $15.00 to $15.00 per million characters; Speakvora catalog voices are $0.70, which is 95% to 95% less for the same number of characters. Different models, so this compares cost, not voice quality.

Voice1M characters10M a month100M a month
Fish Audio s2.1-pro text to speech$15.00$150$1,500
Speakvora catalog voices$0.70$7.00$70.00
Speakvora your own voice$6.00$60.00$600

Source: Fish Audio official pricing, checked 2026-10-08. Prices change; confirm on the source. Speech to text, agents and plans are priced in other units, explained below.

Who switches

  • Your text includes non-English scripts that cost more bytes
  • You want a lower list price per character
  • Much of your speech is repeated prompts

What you gain

  • Plain per-character billing
  • $0.70 per million for catalog voices and $6 for your own voice
  • Ready-made packs and a checked phrase library

What you give up

  • Fish Audio's s2 expressive models and multi-speaker dialogue
  • Inline reference-audio cloning in one call
  • Its prosody controls

The code change

Request shapes were taken from each provider's own documentation on 2026-10-08. Provider APIs change; check theirs before you migrate.

Fish Audio text to speech (docs: docs.fish.audio/api-reference)

curl -X POST https://api.fish.audio/v1/tts \
  -H "Authorization: Bearer $FISH_API_KEY" -H "Content-Type: application/json" -H "model: s2.1-pro" \
  -d '{"text":"Hello, how can I help you today?","reference_id":"$VOICE_ID","format":"mp3"}' --output prompt.mp3
# response body is the audio bytes

Speakvora text to speech

curl -X POST https://speakvora.com/api/v1/speak \
  -H "x-api-key: $SPEAKVORA_KEY" -H "content-type: application/json" \
  -d '{"text":"Hello, how can I help you today?","voice":"af_heart","lang":"en"}'
# JSON reply: {"url":"https://speakvora.com/...m4a","lang":"en","voice":"af_heart","characters":32,"format":"m4a"}
curl -s "$URL" --output prompt.m4a        # second step: download (or play) the link

What changes in practice: Fish Audio takes a bearer token and an optional `model` header and returns audio; Speakvora takes an `x-api-key`, text, voice and language, and returns a link. The text limit is 500 characters per request, and Speakvora returns JSON with a url that you fetch or play. Library links are stable public files; custom-voice links last about five minutes.

A safe migration order

  1. Count your monthly characters and bytes.
  2. Price them at both providers' list rates.
  3. Move steady prompts first and keep expressive lines where they are.

Is it actually cheaper?

Fish Audio's page lists s2.1-pro at $15 per million UTF-8 bytes. For English that is about $15 per million characters; for scripts such as Chinese, Japanese or Hindi each character takes several bytes, so the cost per character rises. Speakvora's catalog voices are $0.70 per million characters and your own voice is $6.

Full numbers, scenarios and sources: Speakvora vs Fish Audio.

Test these before you commit

  • Compare quality on your own lines; we do not claim to beat Fish Audio.
  • Check whether you rely on multi-speaker dialogue.
  • Try the free allowance first: 100,000 characters, once per account.

Speakvora is in early access with billing is live; questions to support@eyeguide.ai. Latency: see the speed page.