Skip to main content

Interface: OpenAIRealtimeModelConfig

Defined in: packages/sdk/src/types/model-config-types.ts:121

Native realtime providers always use the model's built-in audio. The backend Pydantic schemas now enforce ttsModel: "native" and reject external sttModel. Mirroring that contract on the client surface keeps the editor in sync — see useVoiceConfig.buildSubmitConfig.

Extends

Properties

inactiveConfig?

optional inactiveConfig: Record<string, unknown> | null

Defined in: packages/sdk/src/types/model-config-types.ts:112

Settings belonging to the voice architecture that is NOT currently selected, parked so switching between the composable stack and a native speech-to-speech model is lossless and reversible.

Declared on the base because the native schemas set extra="forbid" server-side: an undeclared key would be rejected on save. Written and read only by the switch itself (reconcile_realtime_model_config on the server, parkComposableConfig / restoreComposableConfig in the editor). Nothing at call time reads it — it is a holding area, never live configuration.

Inherited from

BaseRealtimeModelConfig.inactiveConfig


interruptionSound?

optional interruptionSound: InterruptionSound | null

Defined in: packages/sdk/src/types/model-config-types.ts:93

Sound to play when user stops speaking after interrupting the assistant. Provides immediate auditory feedback that input was received. Default: none.

Inherited from

BaseRealtimeModelConfig.interruptionSound


interruptionSoundVolume?

optional interruptionSoundVolume: number | null

Defined in: packages/sdk/src/types/model-config-types.ts:95

Volume level for the interruption sound (0-100). 0 means muted. Missing or null means full volume (100).

Inherited from

BaseRealtimeModelConfig.interruptionSoundVolume


thinkingSound?

optional thinkingSound: ThinkingSound | null

Defined in: packages/sdk/src/types/model-config-types.ts:85

Sound to play while the agent is processing tool calls.

Inherited from

BaseRealtimeModelConfig.thinkingSound


thinkingSoundInitialDelay?

optional thinkingSoundInitialDelay: number | null

Defined in: packages/sdk/src/types/model-config-types.ts:89

Initial delay in milliseconds before playing thinking sound. Prevents needless interruption on short tool calls. Default: 500ms.

Inherited from

BaseRealtimeModelConfig.thinkingSoundInitialDelay


thinkingSoundVolume?

optional thinkingSoundVolume: number | null

Defined in: packages/sdk/src/types/model-config-types.ts:87

Volume level for the thinking sound (0-100). 0 means muted. Missing or null means full volume (100).

Inherited from

BaseRealtimeModelConfig.thinkingSoundVolume


thinkingSpeechPhrases?

optional thinkingSpeechPhrases: string[] | null

Defined in: packages/sdk/src/types/model-config-types.ts:91

When thinkingSound is 'speech', one of these phrases is spoken while the agent runs a tool. Phrases rotate round-robin per session.

Inherited from

BaseRealtimeModelConfig.thinkingSpeechPhrases


ttsModel?

optional ttsModel: "native" | null

Defined in: packages/sdk/src/types/model-config-types.ts:122

TTS model ID in provider:tts:model format (e.g. 'elevenlabs:tts:eleven_flash_v2_5'), or 'native'.

Overrides

BaseRealtimeModelConfig.ttsModel


turnDetection?

optional turnDetection: OpenAITurnDetection | null

Defined in: packages/sdk/src/types/model-config-types.ts:123


voiceModel?

optional voiceModel: string | null

Defined in: packages/sdk/src/types/model-config-types.ts:99

Canonical voice identifier (e.g., elevenlabs:voice:catt) that selects the specific agent voice.

Inherited from

BaseRealtimeModelConfig.voiceModel