# `Codex.Voice.Model.ModelProvider`
[🔗](https://github.com/nshkrdotcom/codex_sdk/blob/v0.18.1/lib/codex/voice/model.ex#L127)

Behaviour for voice model providers.

Model providers are factories that create STT and TTS model instances
by name. They handle client initialization and configuration.

# `get_stt_model`

```elixir
@callback get_stt_model(name :: String.t() | nil) :: struct()
```

Get a speech-to-text model by name.

If `name` is nil, returns the default STT model.

# `get_tts_model`

```elixir
@callback get_tts_model(name :: String.t() | nil) :: struct()
```

Get a text-to-speech model by name.

If `name` is nil, returns the default TTS model.

---

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