Skip to main content

Text to Speech API

UnificAlly serves 8 text to speech models from Google and ElevenLabs through one REST API and one API key. Rates start at $0.000105/sec (Gemini 3.8 Flash Lite TTS) or $0.024/1000 characters (Eleven v4 Turbo), depending on how each model bills, and you pay per generation from a prepaid balance with no subscription. Every model below uses the same two calls: POST /v1/tasks to start a job and GET /v1/tasks/{task_id} to fetch the result.

All 8 text to speech models on UnificAlly

Our rates as of ; refreshed from the live price list on every deploy.
ModelStarting rate
Eleven v4 API

ElevenLabs

#2 on Artificial Analysis TTS arena, audio tags, multi-speaker dialogue, per-request voice cloning.

$0.048/1000 characters
Eleven v4 Turbo API

ElevenLabs

#1 on Artificial Analysis TTS arena, ~100 ms median inference, audio tags, dialogue, voice cloning.

$0.024/1000 characters
Gemini 3.8 Flash Lite TTS API

Google

The high-volume Gemini 3.8 voice, Elo 1241 on Artificial Analysis TTS, 100+ languages.

$0.000105/sec
Gemini 3.8 Flash TTS API

Google

Elo 1267 on Artificial Analysis TTS, vocal bursts, two-speaker dialogue, 130+ languages.

$0.000158/sec
ElevenLabs API

ElevenLabs

Eleven v4 and v4 Turbo TTS, multi-voice dialogue, sound effects, vocal isolation, speech-to-text.

from $0.024/1000 characters
Gemini 3.1 Flash TTS API

Google

Inline audio tags, two-speaker dialogue, 30 voices, 70+ languages.

$0.00035/sec
Gemini 2.5 Pro TTS API

Google

High-quality narration with 30 voices, dialogue mode, and 70+ languages.

$0.00035/sec
Gemini 2.5 Flash TTS API

Google

Fastest, lowest cost per second, with 30 voices and dialogue mode.

$0.000175/sec

How to call the Text to Speech API

Every model takes the same request: a model ID and an input object. This example uses elevenlabs/text-to-speech; swap in any model ID from the table and the input fields from its model page.

# 1. Start a task
curl -X POST https://api.unifically.com/v1/tasks \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "elevenlabs/text-to-speech",
    "input": {
      "text": "Hello from UnificAlly.",
      "voice": "21m00Tcm4TlvDq8ikWAM"
    }
  }'

# 2. Read the result with the task_id from step 1
curl https://api.unifically.com/v1/tasks/TASK_ID \
  -H "Authorization: Bearer YOUR_API_KEY"

Text to Speech API FAQ

How much does the Text to Speech API cost?
Each model has its own rate, shown in the table above and on the pricing page. The lowest listed rates right now are $0.000105/sec (Gemini 3.8 Flash Lite TTS) and $0.024/1000 characters (Eleven v4 Turbo). You pay per generation from a prepaid balance: no subscription, no monthly minimum, and the balance does not expire. Failed generations are not charged, and a request with dry_run set to true returns the exact price without running the job.
How do I call these text to speech models from code?
Send POST https://api.unifically.com/v1/tasks with your API key, a model ID (for example elevenlabs/text-to-speech) and an input object. The response holds a task_id: poll GET /v1/tasks/{task_id} until the status is completed, or pass a callback_url to receive the result by webhook. The request shape is the same for every model; only the model ID and the input fields change.
Can I use a custom voice?
With ElevenLabs text to speech, yes. Its voice field takes either a voice ID from GET /v1/resources/elevenlabs/voices or a list of up to 25 sample URLs of one speaker, which builds a custom voice for that request only; the samples are not kept. The Gemini TTS models use named voices, listed on each model page.
Can I try the text to speech models before topping up?
Yes. A new UnificAlly account starts with a $0.50 signup balance, and every model page has a browser playground that runs on it, so you can compare outputs before writing any code.