---
title: "Generate text-to-speech audio"
method: POST
path: "/v2/tts"
tags: ["Text-to-Speech"]
---

# Generate text-to-speech audio

`POST /v2/tts`

Synthesizes speech from a script and returns a hosted audio URL. `voiceId` accepts an ElevenLabs voice id (discover via `GET /v2/voices`) or the id of a voice cloned with `POST /v2/voices`. The returned `url` can be reused across generations as an audio input.

## Request body

- CreateTtsDto
  - `script` string, required
  - `voiceId` string, required
  - `provider` 'elevenlabs', required
  - `stability` number
  - `similarityBoost` number

## Response `200`

TTS audio generated successfully

- TtsGenerationResponseDto
  - `id` string, uuid, required
  - `url` string, uri, required
  - `duration` number, required

## Other responses

- `402` — Free tier limit reached
- `422` — Voice not found

---

[API](https://skmtc.dev/sync/apis/sync-api-v2.md) · [All operations](https://skmtc.dev/sync/apis/sync-api-v2/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/sync/sync-api-v2/revisions/595901a0ee97/schema)
