---
title: "Generate Tts"
method: POST
path: "/tools/generate/tts"
tags: ["accepts-api-key"]
---

# Generate Tts

`POST /tools/generate/tts`

## Request

- Base URL: `https://api.tellers.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.tellers.ai/tools/generate/tts`
- Auth: none declared

## Headers

- `x-api-key` string, nullable
- `authorization` string, nullable

## Request body

- GenerateTtsRequest
  - `prompt` string, required: Text to speak. Named `prompt` for consistency with the other generate routes; the underlying model calls it `text`.
  - `voice_id` string, required: ElevenLabs voice id — obtain one from POST /tools/search/voices.
  - `model` 'elevenlabs-v3' | 'elevenlabs-v4' | 'elevenlabs-v4-turbo' | 'gemini-3.1-flash-tts': Model to use.
  - `output_path` string, nullable: Optional library path for the generated audio file.

## Response `200`

Successful Response

- GenerateTtsResponse
  - `asset_id` string, required
  - `duration_seconds` number, required
  - `voice_id` string, required

## Other responses

- `402`: Not enough Tellers tokens to run this tool. The call was refused before the tool ran, so nothing was charged. Buy more tokens or wait for the next subscription grant.
- `403`: The account's email is not verified yet, so it cannot spend tokens. Nothing was charged. `detail.code` is `EMAIL_NOT_VERIFIED`.
- `413`: The account is already using all the storage its plan allows, and a generation would add another file. Nothing was charged and no provider was called. Delete files or move to a plan with more storage; `GET /users/me` reports both the usage and the quota.
- `422`: Validation Error

---

[API](https://skmtc.dev/tellers/apis/tellers-api.md) - [All operations](https://skmtc.dev/tellers/apis/tellers-api/llms.txt) - [OpenAPI document](https://skmtc.dev/tellers/apis/tellers-api/revisions/fdaa0fa44a26?raw)
