Speech · Text to speech

Gemini 3.8 Flash TTS API

Gemini 3.8 Flash TTS by Google. Natural speech in 130 languages with 30 voices, style instructions and two-speaker dialogue.

Price
From $0.01 per run $0.045/1k chars
Typical time
~8 s
Model id
gemini_3_8_flash_tts

Gemini 3.8 Flash TTS runs on one varg API key and one credit balance, the same as every other model here. You pay the provider's price, with no markup.

POST /v2/tools/speech/call
curl -X POST https://api.varg.ai/v2/tools/speech/call \
  -H "Authorization: Bearer $VARG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "gemini_3_8_flash_tts",
  "voice": "Kore"
}'

Gemini 3.8 Flash TTS pricing

From $0.01 per run. Prices are in US dollars and are the provider's own, with no markup. For the exact price of a request, send the same body to POST https://api.varg.ai/v2/estimate.

  • fal $0.045/1k chars
    fal:google/gemini-3.8-flash-tts

    Text to speech Gemini 3.8 Flash TTS — #5 on the Artificial Analysis Speech Arena; 130 languages, 30 voices, style instructions, two-speaker dialogue.

    Per 1,000 characters
    $0.045
    Minimum charge
    $0.01
    Most one request can cost
    $0.45
    Typical time
    ~8 s

Gemini 3.8 Flash TTS inputs

The JSON body of the request. Media inputs are URLs: upload a local file with POST /v2/files and pass the URL it returns. Full JSON Schema, no key needed: api.varg.ai/v2/tools/speech?model=gemini_3_8_flash_tts

Gemini 3.8 Flash TTS request fields
FieldWhat it does
model string requiredgemini_3_8_flash_tts picks a route automatically.
text string required —
voice string —

Provider options

Optional, under provider_options.<provider>. Only the options of the provider that runs the job apply; pin a route to choose it.

provider_options.fal

Gemini 3.8 Flash TTS options for fal
FieldWhat it does
prompt string —
voice string Allowed Achernar | Achird | Algenib | Algieba | Alnilam | Aoede | Autonoe | Callirrhoe | Charon | Despina | Enceladus | Erinome | Fenrir | Gacrux | Iapetus | Kore | Laomedeia | Leda | Orus | Pulcherrima | Puck | Rasalgethi | Sadachbia | Sadaltager | Schedar | Sulafat | Umbriel | Vindemiatrix | Zephyr | Zubenelgenubi
style_instructions string —

Call the Gemini 3.8 Flash TTS API

POST https://api.varg.ai/v2/tools/speech/call with Authorization: Bearer $VARG_API_KEY. It answers 202 with a job right away.

1. Send the request

cURL
curl -X POST https://api.varg.ai/v2/tools/speech/call \
  -H "Authorization: Bearer $VARG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "gemini_3_8_flash_tts",
  "voice": "Kore"
}'
JavaScript
JavaScript
const headers = {
  Authorization: `Bearer ${process.env.VARG_API_KEY}`,
  'Content-Type': 'application/json',
}

const res = await fetch('https://api.varg.ai/v2/tools/speech/call', {
  method: 'POST',
  headers,
  body: JSON.stringify({
    "model": "gemini_3_8_flash_tts",
    "voice": "Kore"
  }),
})
const job = await res.json() // { id: "job_…", status: "queued" }
Python
Python
import os
import requests

headers = {"Authorization": f"Bearer {os.environ['VARG_API_KEY']}"}

job = requests.post(
    "https://api.varg.ai/v2/tools/speech/call",
    headers=headers,
    json={
      "model": "gemini_3_8_flash_tts",
      "voice": "Kore"
    },
).json()  # {"id": "job_…", "status": "queued"}

2. Get the result

Poll the job until its status is completed, failed or cancelled; Gemini 3.8 Flash TTS typically takes about 8 s. The result is at output.outputs[0].url.

GET /v2/jobs/{id}
curl https://api.varg.ai/v2/jobs/$JOB_ID \
  -H "Authorization: Bearer $VARG_API_KEY"

# Poll until "status" is completed, failed or cancelled.
# The result is in output.outputs[0].url
JavaScript
JavaScript
let current = job
while (!['completed', 'failed', 'cancelled'].includes(current.status)) {
  await new Promise((resolve) => setTimeout(resolve, 3000))
  current = await (await fetch(`https://api.varg.ai/v2/jobs/${current.id}`, { headers })).json()
}
console.log(current.output?.outputs?.[0]?.url)
Python
Python
import time

while job["status"] not in ("completed", "failed", "cancelled"):
    time.sleep(3)
    job = requests.get(f"https://api.varg.ai/v2/jobs/{job['id']}", headers=headers).json()

print(job["output"]["outputs"][0]["url"])
Or take a webhook instead of polling

Add options.webhook_url and varg POSTs the finished job to it.

request body
{
  "model": "gemini_3_8_flash_tts",
  "voice": "Kore",
  "options": {
    "webhook_url": "https://your-app.com/varg-webhook"
  }
}

From Claude, ChatGPT or Cursor (MCP)

The varg MCP server, https://mcp.varg.ai/mcp, runs Gemini 3.8 Flash TTS with call_tool. Sign in with varg, no API key to paste. How to connect it

call_tool
{
  "tool": "speech",
  "input": {
    "model": "gemini_3_8_flash_tts",
    "voice": "Kore"
  },
  "wait": true
}

Gemini 3.8 Flash TTS API: questions

How much does Gemini 3.8 Flash TTS cost on varg?
Gemini 3.8 Flash TTS costs from $0.01 per run on varg ($0.045/1k chars on the cheapest route). varg charges the provider's price with no markup, from one credit balance. For the exact price of a request before you run it, send the same body to POST https://api.varg.ai/v2/estimate.
How do I call the Gemini 3.8 Flash TTS API?
Send POST https://api.varg.ai/v2/tools/speech/call with the header "Authorization: Bearer $VARG_API_KEY" and a JSON body that includes "model": "gemini_3_8_flash_tts". The call answers 202 with a job right away. Poll GET https://api.varg.ai/v2/jobs/{id} until "status" is "completed", then read output.outputs[0].url, or pass options.webhook_url to be called back.
Can I use Gemini 3.8 Flash TTS from Claude, ChatGPT or Cursor?
Yes. Add the varg MCP server (https://mcp.varg.ai/mcp) to Claude, ChatGPT, Cursor or any other MCP client and sign in with varg, with no API key to paste. The agent runs Gemini 3.8 Flash TTS with call_tool, passing tool "speech" and "model": "gemini_3_8_flash_tts".
How long does a Gemini 3.8 Flash TTS request take?
Typically about 8 s on the fastest route, by the catalog's estimate. The API answers at once with a job id, so nothing waits on an open connection while it runs.

For AI agents: this page as Markdown is varg.ai/models/gemini_3_8_flash_tts.md, and every model is listed in varg.ai/models/llms.txt.