# `Codex.Realtime.Config`
[🔗](https://github.com/nshkrdotcom/codex_sdk/blob/v0.16.1/lib/codex/realtime/config.ex#L1)

Configuration types for realtime sessions.

This module defines all configuration structures for customizing
realtime session behavior, including model settings, turn detection,
transcription, and tracing options.

# `audio_format`

```elixir
@type audio_format() :: :pcm16 | :g711_ulaw | :g711_alaw | String.t()
```

# `eagerness`

```elixir
@type eagerness() :: :auto | :low | :medium | :high
```

# `modality`

```elixir
@type modality() :: :text | :audio
```

# `model_name`

```elixir
@type model_name() ::
  :gpt_realtime
  | :gpt_4o_realtime_preview
  | :gpt_4o_mini_realtime_preview
  | String.t()
```

# `turn_detection_type`

```elixir
@type turn_detection_type() :: :semantic_vad | :server_vad
```

# `default_session_settings`

```elixir
@spec default_session_settings() :: Codex.Realtime.Config.SessionModelSettings.t()
```

Create default session model settings.

# `merge_settings`

```elixir
@spec merge_settings(
  Codex.Realtime.Config.SessionModelSettings.t(),
  Codex.Realtime.Config.SessionModelSettings.t()
) :: Codex.Realtime.Config.SessionModelSettings.t()
```

Merge two session model settings, with the override taking precedence.

Only non-nil values from override are used.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
