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

Model settings for a realtime session.

# `t`

```elixir
@type t() :: %Codex.Realtime.Config.SessionModelSettings{
  handoffs: [term()] | nil,
  input_audio_format: Codex.Realtime.Config.audio_format() | nil,
  input_audio_noise_reduction:
    Codex.Realtime.Config.NoiseReductionConfig.t() | nil,
  input_audio_transcription:
    Codex.Realtime.Config.TranscriptionConfig.t() | nil,
  instructions: String.t() | nil,
  modalities: [Codex.Realtime.Config.modality()] | nil,
  model_name: Codex.Realtime.Config.model_name() | nil,
  output_audio_format: Codex.Realtime.Config.audio_format() | nil,
  prompt: String.t() | term() | nil,
  speed: float() | nil,
  tool_choice: term() | nil,
  tools: [term()] | nil,
  tracing: Codex.Realtime.Config.TracingConfig.t() | nil,
  turn_detection: Codex.Realtime.Config.TurnDetectionConfig.t() | nil,
  voice: String.t() | nil
}
```

# `to_json`

```elixir
@spec to_json(t()) :: map()
```

Convert to JSON-compatible map for OpenAI API.

---

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