### Authentication

`X-Hume-Api-Keystring`

API Key authentication via header.

### Request

This endpoint expects an object.

**utterances** list of objects **Required**

A list of **Utterances** to be converted to speech output.

An **Utterance** is a unit of input for [Octave](https://dev.hume.ai/docs/text-to-speech-tts/overview), and includes input `text`, an optional `description` to serve as the prompt for how the speech should be delivered, an optional `voice` specification, and additional controls to guide delivery for `speed` and `trailing_silence`.

**Show 5 properties**

**context** object or null **Optional**

Utterances to use as context for generating consistent speech style and prosody across multiple requests. These will not be converted to speech output.

**Show 2 variants**

**format** object **Optional** Defaults to `{"type":"mp3"}`

Specifies the output audio file format.

**Show 3 variants**

**include_timestamp_types** list of enums **Optional** Defaults to `[]`

The set of timestamp types to include in the response. Only supported for Octave 2 requests.

Allowed values: word, phoneme.

**num_generations** integer **Optional** `1-5` Defaults to `1`

Number of audio generations to produce from the input utterances.

Using `num_generations` enables faster processing than issuing multiple sequential requests. Additionally, specifying `num_generations` allows prosody continuation across all generations without repeating context, ensuring each generation sounds slightly different while maintaining contextual consistency.

**split_utterances** boolean **Optional** Defaults to `true`

Controls how audio output is segmented in the response.

- When **enabled** (`true`), input utterances are automatically split into natural-sounding speech segments.

- When **disabled** (`false`), the response maintains a strict one-to-one mapping between input utterances and output snippets.

This setting affects how the `snippets` array is structured in the response, which may be important for applications that need to track the relationship between input text and generated audio segments. When setting to `false`, avoid including utterances with long `text`, as this can result in distorted output.

**strip_headers** boolean **Optional** Defaults to `false`

If enabled, the audio for all the chunks of a generation, once concatenated together, will constitute a single audio file. Otherwise, if disabled, each chunk’s audio will be its own audio file, each with its own headers (if applicable).

**temperature** double or null **Optional** `0.1-1`

Sampling temperature for the speech generation model. Higher values increase variation; lower values increase consistency.

**This is an experimental parameter.** It is recommended to use the default values for most use cases.

Defaults when omitted:

- Octave 1 voice creation (no voice specified): `0.9`
- Octave 1 text-to-speech: `0.8`
- Octave 2 text-to-speech: `0.75`

**version** enum **Optional**

Selects the Octave model version used to synthesize speech for this request. If you omit this field, Hume automatically routes the request to the most appropriate model. Setting a specific version ensures stable and repeatable behavior across requests.

Use `2` to opt into the latest Octave capabilities. When you specify version `2`, you must also provide a `voice`. Requests that set `version: 2` without a voice will be rejected.

For a comparison of Octave versions, see the [Octave versions](https://dev.hume.ai/docs/text-to-speech-tts/overview#octave-versions) section in the TTS overview.

Allowed values: 1, 2.

**instant_mode** boolean **Optional** Defaults to `true`

Enables ultra-low latency streaming, significantly reducing the time until the first audio chunk is received. Recommended for real-time applications requiring immediate audio playback. For further details, see our documentation on [instant mode](https://dev.hume.ai/docs/text-to-speech-tts/overview#ultra-low-latency-streaming-instant-mode).

- A [voice](https://dev.hume.ai/reference/text-to-speech-tts/synthesize-json-streaming#request.body.utterances.voice) must be specified when instant mode is enabled. Dynamic voice generation is not supported with this mode.
- Instant mode is only supported for streaming endpoints (e.g., [/v0/tts/stream/json](https://dev.hume.ai/reference/text-to-speech-tts/synthesize-json-streaming), [/v0/tts/stream/file](https://dev.hume.ai/reference/text-to-speech-tts/synthesize-file-streaming)).
- Ensure only a single generation is requested ( [num_generations](https://dev.hume.ai/reference/text-to-speech-tts/synthesize-json-streaming#request.body.num_generations) must be `1` or omitted).

### Response

**Successful Response**

**audio** object

Metadata for a chunk of generated audio.

**Show 12 properties**

OR

**timestamp** object

A word or phoneme level timestamp for the generated audio.

**Show 5 properties**

### Errors

**422** Unprocessable Entity Error.
