## `InitParams` — passed to `Initialize()`

| Field | Type | Description |
| --- | --- | --- |
| `apiKey` | string | Developer Console API key (required). |
| `secureMedia` | bool | Encrypt media with SRTP. Default: `false`. |
| `logPath` | string | Directory for SDK log files. Default: `"."` (working directory). |
| `jitterParams` | `optional<JitterParams>` | Global jitter-buffer settings (see below). |

## `AudioParams` factory methods

```cpp
// Language Translation
audioParams::WithLanguages(
    langIn,          // source language (BCP-47) or "*" for auto-detect
    langOut,         // target language (BCP-47)
    sampleRate,      // 8000 / 16000 / 48000
    conversationId   // optional — auto-generated if empty
);

// Speech Enhancement / Accent Translation
audioParams::WithModel(
    modelKey,        // model identifier from Developer Console
    sampleRate       // 8000 / 16000 / 48000
);
```

## `LanguageConfig` — for `UpdateLanguageConfig()`

| Field | Type | Description |
| --- | --- | --- |
| `languageIn` | string | Source language BCP-47 code. "`*`" = auto-detect. |
| `languageOut` | string | Target language BCP-47 code. |
| `conversationId` | string | Must match the ID used at processor creation. |

## `JitterParams` — advanced network tuning

The adaptive jitter buffer smooths network jitter at the cost of added latency. All fields default to `−1` (use the service default). Only adjust if you have a measured need.

| Field | Service default | Description |
| --- | --- | --- |
| `jbMaxMs` | 500 ms | Maximum buffer capacity. |
| `jbInitPrefetchMs` | 300 ms | Initial prefetch delay before playback starts. |
| `jbMinPrefetchMs` | 300 ms | Adaptive floor for the jitter buffer. |
| `jbMaxPrefetchMs` | 400 ms | Adaptive ceiling for the jitter buffer. |

Higher prefetch values improve resilience to jitter but add latency. Start with the defaults and increase only if you observe choppy audio.
