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

# Ultravox

> JavaScript API reference for the ultravox realtime models plugin.

## UltravoxRealtime

Ultravox realtime speech-to-speech (S2S) model.

### Constructor

```typescript theme={null}
new UltravoxRealtime(opts: { apiKey?: string; config?: UltravoxLiveConfig | null; [key: string]: any })
```

<ParamField path="apiKey" type="string" />

<ParamField path="config" type="UltravoxLiveConfig | null" />

### cleanup

```typescript theme={null}
cleanup(): Promise<void>
```

### close

```typescript theme={null}
close(): Promise<void>
```

### getRuntimeConfig

```typescript theme={null}
getRuntimeConfig(): Record<string, any>
```

<ResponseField name="returns" type="Record<string, any>" />

***

## UltravoxLiveConfig

Configuration for UltravoxRealtime.

### Fields

<ParamField path="model" type="string">
  Model id. Default `'fixie-ai/ultravox'`.
</ParamField>

<ParamField path="voice" type="string | null">
  Voice id. Default `null` (sent as empty string).
</ParamField>

<ParamField path="languageHint" type="string">
  Language hint code. Default `'en'`.
</ParamField>

<ParamField path="temperature" type="number | null">
  Sampling temperature. Default `null` (omitted).
</ParamField>

<ParamField path="maxDuration" type="string | null">
  Maximum session duration (e.g. `'300s'`). Default `null`.
</ParamField>

<ParamField path="timeExceededMessage" type="string | null">
  Message spoken when `maxDuration` is exceeded. Default `null`.
</ParamField>

<ParamField path="inputSampleRate" type="number">
  Sample rate (Hz) of the audio sent in. Default `48000`.
</ParamField>

<ParamField path="outputSampleRate" type="number">
  Sample rate (Hz) of synthesized audio. Default `24000`.
</ParamField>

<ParamField path="clientBufferSizeMs" type="number">
  Client-side audio buffer size in ms. Default `30000`.
</ParamField>

<ParamField path="vadTurnEndpointDelayMs" type="number | null">
  Silence (ms) before a turn ends. Default `800`; `null` omits the param.
</ParamField>

<ParamField path="vadMinimumTurnDurationMs" type="number | null">
  Minimum turn duration in ms. Default `600`; `null` omits the param.
</ParamField>

<ParamField path="vadMinimumInterruptionDurationMs" type="number | null">
  Minimum interruption duration in ms. Default `null`.
</ParamField>

<ParamField path="vadFrameActivationThreshold" type="number | null">
  Per-frame VAD activation threshold in \[0, 1]. Default `0.4`; `null` omits the param.
</ParamField>

<ParamField path="firstSpeaker" type="string | null">
  Who speaks first, e.g. `'FIRST_SPEAKER_USER'`. Default `'FIRST_SPEAKER_USER'`.
</ParamField>

<ParamField path="enableGreetingPrompt" type="boolean">
  Have the agent open with a greeting prompt. Default `false`.
</ParamField>

<ParamField path="baseUrl" type="string | null">
  Override the API base URL. Default `null`.
</ParamField>
