---
title: "Synthesize speech via ElevenLabs (model: eleven_multilingual_v2) and return per-character timing alongside the audio.…"
method: POST
path: "/api/text-to-speech/generate-with-timing"
tags: ["Core Speech Analysis"]
---

# Synthesize speech via ElevenLabs (model: eleven_multilingual_v2) and return per-character timing alongside the audio.…

`POST /api/text-to-speech/generate-with-timing`

## Request

- Base URL: `https://platform.vocametrix.com`
- URL: `https://platform.vocametrix.com/api/text-to-speech/generate-with-timing`
- Auth: API key in header `X-API-Key`

## Request body

- object
  - `text` string, required: Text to synthesize (1–2500 characters). REQUIRED.
  - `isSSML` boolean: Boolean (optional, default false). Currently accepted but not applied to the request body — flag is reserved for future SSML support.

## Response `200`

Successful response

- object
  - `success` boolean: Boolean — true on a successful synthesis
  - `audio_base64` string, byte: Base64-encoded MP3 audio (ElevenLabs default format)
  - `alignment` object: Object with arrays of equal length: `{ characters: string[], character_start_times_seconds: number[], character_end_times_seconds: number[] }`. Each i-th entry gives the start/end time in seconds of the i-th character of the synthesized audio.
  - `normalized_alignment` string: Same shape as `alignment`, but computed against the post-text-normalization sequence (numbers expanded, abbreviations expanded, etc.) — use this when your highlighter must follow what was actually pronounced, not the literal input text.

## Other responses

- `400`: Bad request — missing or invalid parameter
- `401`: Unauthorized — missing or invalid API key
- `429`: Rate limit exceeded
- `500`: Server error

---

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