Skip to content

bodhi-realtime-agent / OpenAIRealtimeConfig

Interface: OpenAIRealtimeConfig ​

Defined in: src/transport/openai-realtime-transport.ts:102

Properties ​

apiKey ​

apiKey: string

Defined in: src/transport/openai-realtime-transport.ts:104

OpenAI API key.


audioInputFormat? ​

optional audioInputFormat?: OpenAIRealtimeAudioFormat

Defined in: src/transport/openai-realtime-transport.ts:140

Wire-level input audio format. Default { type: 'audio/pcm', rate: 24000 }. Telephony bridges set this to { type: 'audio/pcmu' } (rate is always 8000 for G.711). PCM rates other than 24000 are rejected at build-config time.


audioOutputFormat? ​

optional audioOutputFormat?: OpenAIRealtimeAudioFormat

Defined in: src/transport/openai-realtime-transport.ts:143

Wire-level output audio format. Default { type: 'audio/pcm', rate: 24000 }. Same constraints as audioInputFormat.


baseURL? ​

optional baseURL?: string

Defined in: src/transport/openai-realtime-transport.ts:115

Override the OpenAI base URL (e.g. for compatible third-party gateways). Pass-through to the SDK client constructor; the P6 promptCacheKey probe also scopes rejections per baseURL so a 4xx on one deployment does not poison the probe state for another.


cacheConfig? ​

optional cacheConfig?: OpenAIRealtimeCacheConfig

Defined in: src/transport/openai-realtime-transport.ts:151

Cache control. Truncation lands in P3; enforcePrefixStability in P5; experimental.promptCacheKey in P6. See OpenAIRealtimeCacheConfig.


model? ​

optional model?: OpenAIRealtimeModel

Defined in: src/transport/openai-realtime-transport.ts:117

Model identifier (default: 'gpt-realtime-2').


noiseReduction? ​

optional noiseReduction?: Record<string, unknown> | OpenAIRealtimeNoiseReductionConfig | null

Defined in: src/transport/openai-realtime-transport.ts:132

Input-audio noise reduction, sent as noise_reduction in session.update. Defaults to { type: 'far_field' }; set null to disable. Any other object is forwarded unchanged, so fields this type does not name still reach the API.


organization? ​

optional organization?: string

Defined in: src/transport/openai-realtime-transport.ts:107

OpenAI organization ID. Pass-through to the SDK client constructor. Used by the P6 promptCacheKey probe to scope rejections per org.


project? ​

optional project?: string

Defined in: src/transport/openai-realtime-transport.ts:110

OpenAI project ID. Pass-through to the SDK client constructor. Used by the P6 promptCacheKey probe to scope rejections per project.


reasoning? ​

optional reasoning?: object

Defined in: src/transport/openai-realtime-transport.ts:136

Reasoning effort + optional summary verbosity. Only honoured when the active model supports reasoning (gated via the FEATURES table). Dropped with a warn — or thrown under strict: true — on older models.

effort? ​

optional effort?: ReasoningEffort

summary? ​

optional summary?: ReasoningSummary


strict? ​

optional strict?: boolean

Defined in: src/transport/openai-realtime-transport.ts:148

When true, supplying a feature unsupported for the active model throws FrameworkError('UNSUPPORTED_FEATURE') from buildSessionConfig(). When false/omitted (production default), the feature is dropped and a warn is logged. Framework Vitest suites set strict: true.


transcriptionModel? ​

optional transcriptionModel?: string | null

Defined in: src/transport/openai-realtime-transport.ts:121

Transcription model (default: 'gpt-4o-mini-transcribe'). Set to null to disable input transcription.


turnDetection? ​

optional turnDetection?: Record<string, unknown> | null

Defined in: src/transport/openai-realtime-transport.ts:128

Turn detection configuration. Defaults to { type: 'semantic_vad' }. Pass null to disable VAD entirely (manual turn control via commitAudio() — frameworkOwnsInterrupt capability is forced false and greetingInterruptGraceMs to 0 in this mode). When omitted, the framework's defaults are merged in type-aware fashion — see resolveTurnDetectionConfig.


voice? ​

optional voice?: string

Defined in: src/transport/openai-realtime-transport.ts:119

Voice name (default: 'coral').

Built with VitePress