Introduction
What it returns
One WAV file per task: 24 kHz, 16-bit, mono PCM. There are no word timings or subtitles in the result.
Choosing a voice
voice_id takes one of 30 prebuilt voices and defaults to Kore. The voice does not change with the language of the script.
Directing the delivery
stylesets an overall manner:whisper,empathetic,vocal_smile,newscaster,promo_hypeordeadpan. Leave it out and the voice reads in its own default manner.accentpicks an English accent and defaults toneutral.pacesets the rhythm:natural,rapid_fire,the_driftorstaccato.instructionstakes free text about how to read: pace, mood, distance from the microphone, who is being addressed.scenesays where and to whom the words are spoken. Neither is spoken.temperature(0–2) sets how much the delivery varies between takes.- Inside
text, cues in square brackets such as[sighs]or[whispering]are acted out rather than read aloud.
Two voices in one clip
For a conversation, send dialogue instead of text, plus speakers with the cast: one or two entries, each with a name, a voice_id and optionally accent, style, pace and profile, a short description of who is speaking that is not read aloud. Each dialogue line is {speaker, text}, where speaker is one of those names; lines are performed in order, up to 20 lines of 250 characters each. Settings a speaker leaves out fall back to the top-level accent, style and pace.
Length and timing
text accepts up to 5,000 characters. A 270-character paragraph came back as 23–29 seconds of audio in our tests, depending on voice and style. The model stops at 16,384 audio tokens, about 655 seconds. Most tasks finish in under a minute.
Request parameters
| Parameter | Required | Description |
|---|---|---|
pace | No | Rhythm of the reading. Omit it to keep the voice's own rhythm. natural · rapid_fire · the_drift · staccato |
text | No | The words to be spoken, exactly as written. Cues in square brackets such as [sighs] are performed rather than read aloud. |
scene | No | Where and to whom the words are spoken. Shapes the delivery and is not spoken. |
style | No | A preset look or genre. whisper · empathetic · vocal_smile · newscaster · promo_hype · deadpan |
accent | No | English accent used for the reading. neutral · american_general · american_valley · american_south · british_rp · british_brixton · transatlantic · australian · Default: neutral |
dialogue | No | A scripted conversation, used instead of text: each line names a speaker from speakers. |
speakers | No | The cast for dialogue: one or two voices, each with a name the lines refer to. |
voice_id | No | Pick from the available voices. Achernar · Achird · Algenib · Algieba · Alnilam · Aoede · Autonoe · Callirrhoe · Charon · Despina · Enceladus · Erinome · Fenrir · Gacrux · Iapetus · Kore · Laomedeia · Leda · Orus · Puck · Pulcherrima · Rasalgethi · Sadachbia · Sadaltager · Schedar · Sulafat · Umbriel · Vindemiatrix · Zephyr · Zubenelgenubi · Default: Kore |
temperature | No | Variation between takes; higher is less predictable. ≥ 0 · ≤ 2 |
instructions | No | How to read the text: pace, mood, distance from the microphone, who is listening. Shapes the delivery and is not spoken. |
Pricing
Prices are in credits, the same credits you use on the website (1 credit = $0.01). The hold is taken when the task is accepted and settled to the actual charge when it finishes; failed tasks are refunded.
| Option | Credits per second | ≈ USD |
|---|---|---|
| Standard | 0.07 | $0.0007 |
For an exact number before you run, send the same body to POST /jobs/quote.
API quick start
Call the Gemini 2.5 Pro TTS API in three steps
- Create an API key. Sign in to PopNow and create a key in the API console. Keys start with sk-popnow- and use the same credits as the website.
- Send the request. POST /jobs/createTask with model google/gemini-2.5-pro-tts/text-to-speech and an input object that follows the parameter table. The response returns a task ID straight away.
- Get the result. Poll GET /jobs/recordInfo with the task ID, or pass a callBackUrl and we post the result to it. Download the output links when the task succeeds.
# 1. Create the task. Keep the Idempotency-Key if you retry after a network error.
export IDEMPOTENCY_KEY="$(uuidgen)"
curl -X POST https://api.popnow.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $POPNOW_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $IDEMPOTENCY_KEY" \
-d '{
"model": "google/gemini-2.5-pro-tts/text-to-speech",
"input": {
"text": "Welcome back. Your files finished rendering a minute ago and are ready to download.",
"voice_id": "Kore",
"accent": "neutral"
}
}'
# 2. Copy data.taskId from the response, then poll until state is succeeded, failed, canceled or expired.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.popnow.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $POPNOW_API_KEY"Replace the prompt and any links with your own. The API tab has the response, polling and callback reference.
Gemini 2.5 Pro TTS API questions
How much does the Gemini 2.5 Pro TTS API cost?
Gemini 2.5 Pro TTS costs 0.07 credits ($0.0007) per second. Credits are the same as on the website (1 credit = $0.01), new accounts get 30 free credits, and failed tasks are refunded.
What is the model name for Gemini 2.5 Pro TTS in the API?
Put google/gemini-2.5-pro-tts/text-to-speech for Text to Speech in the model field of POST /jobs/createTask.
How do I control how it sounds?
voice_id picks the voice, style sets an overall manner such as whisper or deadpan, accent picks an English accent, pace sets the rhythm, and instructions and scene take a sentence or two about delivery and setting — mood, who is being spoken to, where. Those notes shape the reading and are not read aloud; temperature sets how much takes vary.
Can it copy a real person's voice?
No. Only the 30 prebuilt voices are available; there is no cloning and no upload of a reference voice.
What are the limits of the Gemini 2.5 Pro TTS API?
Text length (characters): 5,000; Voices: 30. Requests outside these limits are rejected before anything is charged.
Can I try Gemini 2.5 Pro TTS without writing code?
Yes. The Playground runs Gemini 2.5 Pro TTS on your PopNow credits, needs no API key, and shows the matching code for every run.
All Gemini models
Gemini 3.8 Flash TTS is Google's newer model and acts out bracketed cues like [whispering] inside the script.
- Gemini 3.8 Flash TTS APIExpressive speech that acts out cues like [laughing]From 0.05 credits per second
- Gemini 3.8 Flash-Lite TTS APIFast, lightweight speech in 30 voicesFrom 0.03 credits per second
- Gemini 2.5 Pro TTS APIDirectable voices for narration and two-person dialogueFrom 0.07 credits per second


