# Text-to-Speech API
> Convert text into natural-sounding speech audio (WAV) in 30+ languages and voices, with adjustable speaking speed, pitch and amplitude. Returns raw audio/wav or base64-encoded JSON — ideal for voice notifications, accessibility, IVR prompts and audio content generation. Fully self-hosted, no third-party voice service.

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/tts-api/..."
```

## Pricing
- **Free** (Free) — 1,000 calls/Mo, 1 req/s
- **Starter** ($5/Mo) — 30,000 calls/Mo, 5 req/s
- **Pro** ($19/Mo) — 200,000 calls/Mo, 20 req/s
- **Enterprise** ($99/Mo) — 2,000,000 calls/Mo, 50 req/s

## Endpoints

### Synthesis

#### `GET /v1/speak` — Synthesize speech from text (audio/wav, or base64 JSON)

**Parameters:**
- `text` (query, required, string) — Text to synthesize (max 1500 chars) Example: `Hello from oanor`
- `voice` (query, optional, string) — Voice code, e.g. en-us, de, fr (see /v1/voices) Example: `en-us`
- `speed` (query, optional, string) — Speaking speed, words per minute (80-450) Example: `175`
- `pitch` (query, optional, string) — Voice pitch (0-99) Example: `50`
- `amplitude` (query, optional, string) — Loudness (0-200) Example: `100`
- `base64` (query, optional, string) — true → JSON with base64 audio instead of raw WAV Example: `true`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/tts-api/v1/speak?text=Hello+from+oanor&voice=en-us&speed=175&pitch=50&amplitude=100&base64=true"
```

**Response:**
```json
{
    "data": {
        "bytes": 50818,
        "chars": 16,
        "pitch": 50,
        "speed": 175,
        "voice": "en-us",
        "format": "wav",
        "language": "English (US)",
        "amplitude": 100,
        "audio_base64": "UklGRnrGAABXQVZFZm10IBAAAAABAAEAIlYAAESsAAACABAAZGF0YVbGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUAAAAlAJYAcQCO/9L+Q/8tAXkBAABLAHkBeQEtAbwASwAAAAAASwDa/9L+tP+8ALwAQ//w/az+2v+0/0sABwElANL+hv7w/Tv+Yf74/pYAUwHiACUAtP/iAHkBUwGeAXkBUwGeAbwAJQAAAKz+rP74/tL+tP9LAAcBngEtAUsAAAC0/yUAvAC8AEsAvABLAGn/Q//a/wAASwCWAHEAJQCs/qT9Q//4/hX+hv74/rT/AABxAHkBUwFLALwABwHa/47/cQAPAj0D6gFLAGn/2v9p/0P/2v9LALwAcQCG/sr9+P7a/yUAAABD/7T/AAAd/0P/AABLALwAcQBp/wAABwHqAZ4BAACs/mn/jv/4/ksAxAEPAi0B2v9LAHEAAAC0/2n/AABTAXkBSwAlAEsASwCWAEsAAAAlALT/Q/9p//j++P74/ob+f/07/iUADwJbApYAjv/S/mH+af8AAAAAAADS/jv+tP+WAHEAcQDiAMQBng
…(truncated, see openapi.json for full schema)
```

### Voices

#### `GET /v1/voices` — List supported voices and languages

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/tts-api/v1/voices"
```

**Response:**
```json
{
    "data": {
        "count": 30,
        "voices": [
            {
                "code": "en-us",
                "language": "English (US)"
            },
            {
                "code": "en",
                "language": "English"
            },
            {
                "code": "en-rp",
                "language": "English (RP)"
            },
            {
                "code": "en-sc",
                "language": "English (Scottish)"
            },
            {
                "code": "en-n",
                "language": "English (Northern)"
            },
            {
                "code": "en-wm",
                "language": "English (West Midlands)"
            },
            {
                "code": "de",
                "language": "German"
            },
            {
                "code": "fr",
                "language": "French"
            },
            {
                "code": "es",
                "language": "Spanish"
            },
            {
                "code": "es-la",
                "language": "Spanish (Latin Am.)"
            },
            {
                "code": "it",
                "language": "Italian"
            },
            {
                "code": "nl",
                "language": "Dutch"
            },
            {
                "code": "pt",
                "language": "Portuguese (Brazil)"
            },
            {
                "code": "pt-pt",
                "language": "Portuguese (Portugal)
…(truncated, see openapi.json for full schema)
```


---
Marketplace page: https://www.oanor.com/api/tts-api
OpenAPI spec: https://www.oanor.com/api/tts-api/openapi.json
