> ## Documentation Index
> Fetch the complete documentation index at: https://docs.voicelab360.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Text-to-Speech

> Convert text to natural, expressive speech.

# Text-to-Speech

`POST /api/v1/speech/tts`

Converts text to audio using professional-grade neural voices from the VoiceLab360 voice library.

**Credit rate:** 1 credit per character

## Request

```bash theme={null}
curl -X POST https://www.voicelab360.com/api/v1/speech/tts \
  -H "Authorization: Bearer vl360_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Welcome to VoiceLab360.",
    "voice_id": "vl360-neural-001",
    "format": "mp3",
    "speed": 1.0,
    "pitch": 0
  }'
```

## Parameters

| Parameter  | Type    | Required | Description                                               |
| ---------- | ------- | -------- | --------------------------------------------------------- |
| `text`     | string  | Yes      | Text to synthesize. Maximum 5,000 characters per request. |
| `voice_id` | string  | Yes      | Voice ID from the VoiceLab360 voice library               |
| `format`   | string  | No       | Output format: `mp3` (default), `wav`, `flac`             |
| `speed`    | float   | No       | Playback speed: 0.5 to 2.0. Default: 1.0                  |
| `pitch`    | integer | No       | Pitch shift in semitones: -12 to 12. Default: 0           |

## Response

```json theme={null}
{
  "job_id": "job_abc123",
  "status": "completed",
  "output_url": "https://cdn.voicelab360.com/tts/job_abc123.mp3",
  "duration_ms": 2400,
  "characters_processed": 24,
  "credits_used": 24
}
```

## Notes

* Output URLs are signed and expire after 24 hours. Download and store the audio if long-term retention is needed.
* For inputs over 5,000 characters, split into chunks and concatenate the outputs.
* Voice IDs are available from the [Workforce Discovery](/workforce/overview) endpoints.
