openai 0.23.1 → 0.23.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +1 -1
  4. data/lib/openai/models/realtime/input_audio_buffer_timeout_triggered.rb +25 -5
  5. data/lib/openai/models/realtime/realtime_audio_config_input.rb +14 -11
  6. data/lib/openai/models/realtime/realtime_audio_input_turn_detection.rb +173 -117
  7. data/lib/openai/models/realtime/realtime_server_event.rb +13 -1
  8. data/lib/openai/models/realtime/realtime_session.rb +179 -118
  9. data/lib/openai/models/realtime/realtime_session_create_response.rb +184 -122
  10. data/lib/openai/models/realtime/realtime_transcription_session_audio_input.rb +16 -11
  11. data/lib/openai/models/realtime/realtime_transcription_session_audio_input_turn_detection.rb +175 -117
  12. data/lib/openai/models/responses/response.rb +8 -8
  13. data/lib/openai/models/responses/response_create_params.rb +8 -8
  14. data/lib/openai/version.rb +1 -1
  15. data/rbi/openai/models/realtime/input_audio_buffer_timeout_triggered.rbi +24 -5
  16. data/rbi/openai/models/realtime/realtime_audio_config_input.rbi +44 -28
  17. data/rbi/openai/models/realtime/realtime_audio_input_turn_detection.rbi +264 -203
  18. data/rbi/openai/models/realtime/realtime_session.rbi +306 -231
  19. data/rbi/openai/models/realtime/realtime_session_create_response.rbi +298 -232
  20. data/rbi/openai/models/realtime/realtime_transcription_session_audio_input.rbi +39 -28
  21. data/rbi/openai/models/realtime/realtime_transcription_session_audio_input_turn_detection.rbi +264 -200
  22. data/rbi/openai/models/responses/response.rbi +12 -12
  23. data/rbi/openai/models/responses/response_create_params.rbi +12 -12
  24. data/rbi/openai/resources/responses.rbi +8 -8
  25. data/sig/openai/models/realtime/realtime_audio_config_input.rbs +4 -8
  26. data/sig/openai/models/realtime/realtime_audio_input_turn_detection.rbs +91 -65
  27. data/sig/openai/models/realtime/realtime_session.rbs +95 -69
  28. data/sig/openai/models/realtime/realtime_session_create_response.rbs +95 -73
  29. data/sig/openai/models/realtime/realtime_transcription_session_audio_input.rbs +4 -8
  30. data/sig/openai/models/realtime/realtime_transcription_session_audio_input_turn_detection.rbs +91 -65
  31. metadata +2 -2
@@ -198,18 +198,24 @@ module OpenAI
198
198
  # @!attribute turn_detection
199
199
  # Configuration for turn detection, ether Server VAD or Semantic VAD. This can be
200
200
  # set to `null` to turn off, in which case the client must manually trigger model
201
- # response. Server VAD means that the model will detect the start and end of
202
- # speech based on audio volume and respond at the end of user speech. Semantic VAD
203
- # is more advanced and uses a turn detection model (in conjunction with VAD) to
204
- # semantically estimate whether the user has finished speaking, then dynamically
205
- # sets a timeout based on this probability. For example, if user audio trails off
206
- # with "uhhm", the model will score a low probability of turn end and wait longer
207
- # for the user to continue speaking. This can be useful for more natural
208
- # conversations, but may have a higher latency.
209
- #
210
- # @return [OpenAI::Models::Realtime::RealtimeSessionCreateResponse::Audio::Input::TurnDetection, nil]
201
+ # response.
202
+ #
203
+ # Server VAD means that the model will detect the start and end of speech based on
204
+ # audio volume and respond at the end of user speech.
205
+ #
206
+ # Semantic VAD is more advanced and uses a turn detection model (in conjunction
207
+ # with VAD) to semantically estimate whether the user has finished speaking, then
208
+ # dynamically sets a timeout based on this probability. For example, if user audio
209
+ # trails off with "uhhm", the model will score a low probability of turn end and
210
+ # wait longer for the user to continue speaking. This can be useful for more
211
+ # natural conversations, but may have a higher latency.
212
+ #
213
+ # @return [OpenAI::Models::Realtime::RealtimeSessionCreateResponse::Audio::Input::TurnDetection::ServerVad, OpenAI::Models::Realtime::RealtimeSessionCreateResponse::Audio::Input::TurnDetection::SemanticVad, nil]
211
214
  optional :turn_detection,
212
- -> { OpenAI::Realtime::RealtimeSessionCreateResponse::Audio::Input::TurnDetection }
215
+ union: -> {
216
+ OpenAI::Realtime::RealtimeSessionCreateResponse::Audio::Input::TurnDetection
217
+ },
218
+ nil?: true
213
219
 
214
220
  # @!method initialize(format_: nil, noise_reduction: nil, transcription: nil, turn_detection: nil)
215
221
  # Some parameter documentations has been truncated, see
@@ -222,7 +228,7 @@ module OpenAI
222
228
  #
223
229
  # @param transcription [OpenAI::Models::Realtime::AudioTranscription] Configuration for input audio transcription, defaults to off and can be set to `
224
230
  #
225
- # @param turn_detection [OpenAI::Models::Realtime::RealtimeSessionCreateResponse::Audio::Input::TurnDetection] Configuration for turn detection, ether Server VAD or Semantic VAD. This can be
231
+ # @param turn_detection [OpenAI::Models::Realtime::RealtimeSessionCreateResponse::Audio::Input::TurnDetection::ServerVad, OpenAI::Models::Realtime::RealtimeSessionCreateResponse::Audio::Input::TurnDetection::SemanticVad, nil] Configuration for turn detection, ether Server VAD or Semantic VAD. This can be
226
232
 
227
233
  # @see OpenAI::Models::Realtime::RealtimeSessionCreateResponse::Audio::Input#noise_reduction
228
234
  class NoiseReduction < OpenAI::Internal::Type::BaseModel
@@ -248,132 +254,188 @@ module OpenAI
248
254
  # @param type [Symbol, OpenAI::Models::Realtime::NoiseReductionType] Type of noise reduction. `near_field` is for close-talking microphones such as h
249
255
  end
250
256
 
257
+ # Configuration for turn detection, ether Server VAD or Semantic VAD. This can be
258
+ # set to `null` to turn off, in which case the client must manually trigger model
259
+ # response.
260
+ #
261
+ # Server VAD means that the model will detect the start and end of speech based on
262
+ # audio volume and respond at the end of user speech.
263
+ #
264
+ # Semantic VAD is more advanced and uses a turn detection model (in conjunction
265
+ # with VAD) to semantically estimate whether the user has finished speaking, then
266
+ # dynamically sets a timeout based on this probability. For example, if user audio
267
+ # trails off with "uhhm", the model will score a low probability of turn end and
268
+ # wait longer for the user to continue speaking. This can be useful for more
269
+ # natural conversations, but may have a higher latency.
270
+ #
251
271
  # @see OpenAI::Models::Realtime::RealtimeSessionCreateResponse::Audio::Input#turn_detection
252
- class TurnDetection < OpenAI::Internal::Type::BaseModel
253
- # @!attribute create_response
254
- # Whether or not to automatically generate a response when a VAD stop event
255
- # occurs.
256
- #
257
- # @return [Boolean, nil]
258
- optional :create_response, OpenAI::Internal::Type::Boolean
259
-
260
- # @!attribute eagerness
261
- # Used only for `semantic_vad` mode. The eagerness of the model to respond. `low`
262
- # will wait longer for the user to continue speaking, `high` will respond more
263
- # quickly. `auto` is the default and is equivalent to `medium`. `low`, `medium`,
264
- # and `high` have max timeouts of 8s, 4s, and 2s respectively.
265
- #
266
- # @return [Symbol, OpenAI::Models::Realtime::RealtimeSessionCreateResponse::Audio::Input::TurnDetection::Eagerness, nil]
267
- optional :eagerness,
268
- enum: -> { OpenAI::Realtime::RealtimeSessionCreateResponse::Audio::Input::TurnDetection::Eagerness }
272
+ module TurnDetection
273
+ extend OpenAI::Internal::Type::Union
269
274
 
270
- # @!attribute idle_timeout_ms
271
- # Optional idle timeout after which turn detection will auto-timeout when no
272
- # additional audio is received and emits a `timeout_triggered` event.
273
- #
274
- # @return [Integer, nil]
275
- optional :idle_timeout_ms, Integer, nil?: true
275
+ discriminator :type
276
276
 
277
- # @!attribute interrupt_response
278
- # Whether or not to automatically interrupt any ongoing response with output to
279
- # the default conversation (i.e. `conversation` of `auto`) when a VAD start event
280
- # occurs.
281
- #
282
- # @return [Boolean, nil]
283
- optional :interrupt_response, OpenAI::Internal::Type::Boolean
277
+ # Server-side voice activity detection (VAD) which flips on when user speech is detected and off after a period of silence.
278
+ variant :server_vad,
279
+ -> { OpenAI::Realtime::RealtimeSessionCreateResponse::Audio::Input::TurnDetection::ServerVad }
284
280
 
285
- # @!attribute prefix_padding_ms
286
- # Used only for `server_vad` mode. Amount of audio to include before the VAD
287
- # detected speech (in milliseconds). Defaults to 300ms.
288
- #
289
- # @return [Integer, nil]
290
- optional :prefix_padding_ms, Integer
281
+ # Server-side semantic turn detection which uses a model to determine when the user has finished speaking.
282
+ variant :semantic_vad,
283
+ -> { OpenAI::Realtime::RealtimeSessionCreateResponse::Audio::Input::TurnDetection::SemanticVad }
291
284
 
292
- # @!attribute silence_duration_ms
293
- # Used only for `server_vad` mode. Duration of silence to detect speech stop (in
294
- # milliseconds). Defaults to 500ms. With shorter values the model will respond
295
- # more quickly, but may jump in on short pauses from the user.
296
- #
297
- # @return [Integer, nil]
298
- optional :silence_duration_ms, Integer
285
+ class ServerVad < OpenAI::Internal::Type::BaseModel
286
+ # @!attribute type
287
+ # Type of turn detection, `server_vad` to turn on simple Server VAD.
288
+ #
289
+ # @return [Symbol, :server_vad]
290
+ required :type, const: :server_vad
299
291
 
300
- # @!attribute threshold
301
- # Used only for `server_vad` mode. Activation threshold for VAD (0.0 to 1.0), this
302
- # defaults to 0.5. A higher threshold will require louder audio to activate the
303
- # model, and thus might perform better in noisy environments.
304
- #
305
- # @return [Float, nil]
306
- optional :threshold, Float
292
+ # @!attribute create_response
293
+ # Whether or not to automatically generate a response when a VAD stop event
294
+ # occurs.
295
+ #
296
+ # @return [Boolean, nil]
297
+ optional :create_response, OpenAI::Internal::Type::Boolean
307
298
 
308
- # @!attribute type
309
- # Type of turn detection.
310
- #
311
- # @return [Symbol, OpenAI::Models::Realtime::RealtimeSessionCreateResponse::Audio::Input::TurnDetection::Type, nil]
312
- optional :type,
313
- enum: -> { OpenAI::Realtime::RealtimeSessionCreateResponse::Audio::Input::TurnDetection::Type }
299
+ # @!attribute idle_timeout_ms
300
+ # Optional timeout after which a model response will be triggered automatically.
301
+ # This is useful for situations in which a long pause from the user is unexpected,
302
+ # such as a phone call. The model will effectively prompt the user to continue the
303
+ # conversation based on the current context.
304
+ #
305
+ # The timeout value will be applied after the last model response's audio has
306
+ # finished playing, i.e. it's set to the `response.done` time plus audio playback
307
+ # duration.
308
+ #
309
+ # An `input_audio_buffer.timeout_triggered` event (plus events associated with the
310
+ # Response) will be emitted when the timeout is reached. Idle timeout is currently
311
+ # only supported for `server_vad` mode.
312
+ #
313
+ # @return [Integer, nil]
314
+ optional :idle_timeout_ms, Integer, nil?: true
314
315
 
315
- # @!method initialize(create_response: nil, eagerness: nil, idle_timeout_ms: nil, interrupt_response: nil, prefix_padding_ms: nil, silence_duration_ms: nil, threshold: nil, type: nil)
316
- # Some parameter documentations has been truncated, see
317
- # {OpenAI::Models::Realtime::RealtimeSessionCreateResponse::Audio::Input::TurnDetection}
318
- # for more details.
319
- #
320
- # Configuration for turn detection, ether Server VAD or Semantic VAD. This can be
321
- # set to `null` to turn off, in which case the client must manually trigger model
322
- # response. Server VAD means that the model will detect the start and end of
323
- # speech based on audio volume and respond at the end of user speech. Semantic VAD
324
- # is more advanced and uses a turn detection model (in conjunction with VAD) to
325
- # semantically estimate whether the user has finished speaking, then dynamically
326
- # sets a timeout based on this probability. For example, if user audio trails off
327
- # with "uhhm", the model will score a low probability of turn end and wait longer
328
- # for the user to continue speaking. This can be useful for more natural
329
- # conversations, but may have a higher latency.
330
- #
331
- # @param create_response [Boolean] Whether or not to automatically generate a response when a VAD stop event occurs
332
- #
333
- # @param eagerness [Symbol, OpenAI::Models::Realtime::RealtimeSessionCreateResponse::Audio::Input::TurnDetection::Eagerness] Used only for `semantic_vad` mode. The eagerness of the model to respond. `low`
334
- #
335
- # @param idle_timeout_ms [Integer, nil] Optional idle timeout after which turn detection will auto-timeout when
336
- #
337
- # @param interrupt_response [Boolean] Whether or not to automatically interrupt any ongoing response with output to th
338
- #
339
- # @param prefix_padding_ms [Integer] Used only for `server_vad` mode. Amount of audio to include before the VAD detec
340
- #
341
- # @param silence_duration_ms [Integer] Used only for `server_vad` mode. Duration of silence to detect speech stop (in m
342
- #
343
- # @param threshold [Float] Used only for `server_vad` mode. Activation threshold for VAD (0.0 to 1.0), this
344
- #
345
- # @param type [Symbol, OpenAI::Models::Realtime::RealtimeSessionCreateResponse::Audio::Input::TurnDetection::Type] Type of turn detection.
316
+ # @!attribute interrupt_response
317
+ # Whether or not to automatically interrupt any ongoing response with output to
318
+ # the default conversation (i.e. `conversation` of `auto`) when a VAD start event
319
+ # occurs.
320
+ #
321
+ # @return [Boolean, nil]
322
+ optional :interrupt_response, OpenAI::Internal::Type::Boolean
346
323
 
347
- # Used only for `semantic_vad` mode. The eagerness of the model to respond. `low`
348
- # will wait longer for the user to continue speaking, `high` will respond more
349
- # quickly. `auto` is the default and is equivalent to `medium`. `low`, `medium`,
350
- # and `high` have max timeouts of 8s, 4s, and 2s respectively.
351
- #
352
- # @see OpenAI::Models::Realtime::RealtimeSessionCreateResponse::Audio::Input::TurnDetection#eagerness
353
- module Eagerness
354
- extend OpenAI::Internal::Type::Enum
324
+ # @!attribute prefix_padding_ms
325
+ # Used only for `server_vad` mode. Amount of audio to include before the VAD
326
+ # detected speech (in milliseconds). Defaults to 300ms.
327
+ #
328
+ # @return [Integer, nil]
329
+ optional :prefix_padding_ms, Integer
355
330
 
356
- LOW = :low
357
- MEDIUM = :medium
358
- HIGH = :high
359
- AUTO = :auto
331
+ # @!attribute silence_duration_ms
332
+ # Used only for `server_vad` mode. Duration of silence to detect speech stop (in
333
+ # milliseconds). Defaults to 500ms. With shorter values the model will respond
334
+ # more quickly, but may jump in on short pauses from the user.
335
+ #
336
+ # @return [Integer, nil]
337
+ optional :silence_duration_ms, Integer
360
338
 
361
- # @!method self.values
362
- # @return [Array<Symbol>]
339
+ # @!attribute threshold
340
+ # Used only for `server_vad` mode. Activation threshold for VAD (0.0 to 1.0), this
341
+ # defaults to 0.5. A higher threshold will require louder audio to activate the
342
+ # model, and thus might perform better in noisy environments.
343
+ #
344
+ # @return [Float, nil]
345
+ optional :threshold, Float
346
+
347
+ # @!method initialize(create_response: nil, idle_timeout_ms: nil, interrupt_response: nil, prefix_padding_ms: nil, silence_duration_ms: nil, threshold: nil, type: :server_vad)
348
+ # Some parameter documentations has been truncated, see
349
+ # {OpenAI::Models::Realtime::RealtimeSessionCreateResponse::Audio::Input::TurnDetection::ServerVad}
350
+ # for more details.
351
+ #
352
+ # Server-side voice activity detection (VAD) which flips on when user speech is
353
+ # detected and off after a period of silence.
354
+ #
355
+ # @param create_response [Boolean] Whether or not to automatically generate a response when a VAD stop event occurs
356
+ #
357
+ # @param idle_timeout_ms [Integer, nil] Optional timeout after which a model response will be triggered automatically. T
358
+ #
359
+ # @param interrupt_response [Boolean] Whether or not to automatically interrupt any ongoing response with output to th
360
+ #
361
+ # @param prefix_padding_ms [Integer] Used only for `server_vad` mode. Amount of audio to include before the VAD detec
362
+ #
363
+ # @param silence_duration_ms [Integer] Used only for `server_vad` mode. Duration of silence to detect speech stop (in m
364
+ #
365
+ # @param threshold [Float] Used only for `server_vad` mode. Activation threshold for VAD (0.0 to 1.0), this
366
+ #
367
+ # @param type [Symbol, :server_vad] Type of turn detection, `server_vad` to turn on simple Server VAD.
363
368
  end
364
369
 
365
- # Type of turn detection.
366
- #
367
- # @see OpenAI::Models::Realtime::RealtimeSessionCreateResponse::Audio::Input::TurnDetection#type
368
- module Type
369
- extend OpenAI::Internal::Type::Enum
370
+ class SemanticVad < OpenAI::Internal::Type::BaseModel
371
+ # @!attribute type
372
+ # Type of turn detection, `semantic_vad` to turn on Semantic VAD.
373
+ #
374
+ # @return [Symbol, :semantic_vad]
375
+ required :type, const: :semantic_vad
376
+
377
+ # @!attribute create_response
378
+ # Whether or not to automatically generate a response when a VAD stop event
379
+ # occurs.
380
+ #
381
+ # @return [Boolean, nil]
382
+ optional :create_response, OpenAI::Internal::Type::Boolean
370
383
 
371
- SERVER_VAD = :server_vad
372
- SEMANTIC_VAD = :semantic_vad
384
+ # @!attribute eagerness
385
+ # Used only for `semantic_vad` mode. The eagerness of the model to respond. `low`
386
+ # will wait longer for the user to continue speaking, `high` will respond more
387
+ # quickly. `auto` is the default and is equivalent to `medium`. `low`, `medium`,
388
+ # and `high` have max timeouts of 8s, 4s, and 2s respectively.
389
+ #
390
+ # @return [Symbol, OpenAI::Models::Realtime::RealtimeSessionCreateResponse::Audio::Input::TurnDetection::SemanticVad::Eagerness, nil]
391
+ optional :eagerness,
392
+ enum: -> { OpenAI::Realtime::RealtimeSessionCreateResponse::Audio::Input::TurnDetection::SemanticVad::Eagerness }
393
+
394
+ # @!attribute interrupt_response
395
+ # Whether or not to automatically interrupt any ongoing response with output to
396
+ # the default conversation (i.e. `conversation` of `auto`) when a VAD start event
397
+ # occurs.
398
+ #
399
+ # @return [Boolean, nil]
400
+ optional :interrupt_response, OpenAI::Internal::Type::Boolean
373
401
 
374
- # @!method self.values
375
- # @return [Array<Symbol>]
402
+ # @!method initialize(create_response: nil, eagerness: nil, interrupt_response: nil, type: :semantic_vad)
403
+ # Some parameter documentations has been truncated, see
404
+ # {OpenAI::Models::Realtime::RealtimeSessionCreateResponse::Audio::Input::TurnDetection::SemanticVad}
405
+ # for more details.
406
+ #
407
+ # Server-side semantic turn detection which uses a model to determine when the
408
+ # user has finished speaking.
409
+ #
410
+ # @param create_response [Boolean] Whether or not to automatically generate a response when a VAD stop event occurs
411
+ #
412
+ # @param eagerness [Symbol, OpenAI::Models::Realtime::RealtimeSessionCreateResponse::Audio::Input::TurnDetection::SemanticVad::Eagerness] Used only for `semantic_vad` mode. The eagerness of the model to respond. `low`
413
+ #
414
+ # @param interrupt_response [Boolean] Whether or not to automatically interrupt any ongoing response with output to th
415
+ #
416
+ # @param type [Symbol, :semantic_vad] Type of turn detection, `semantic_vad` to turn on Semantic VAD.
417
+
418
+ # Used only for `semantic_vad` mode. The eagerness of the model to respond. `low`
419
+ # will wait longer for the user to continue speaking, `high` will respond more
420
+ # quickly. `auto` is the default and is equivalent to `medium`. `low`, `medium`,
421
+ # and `high` have max timeouts of 8s, 4s, and 2s respectively.
422
+ #
423
+ # @see OpenAI::Models::Realtime::RealtimeSessionCreateResponse::Audio::Input::TurnDetection::SemanticVad#eagerness
424
+ module Eagerness
425
+ extend OpenAI::Internal::Type::Enum
426
+
427
+ LOW = :low
428
+ MEDIUM = :medium
429
+ HIGH = :high
430
+ AUTO = :auto
431
+
432
+ # @!method self.values
433
+ # @return [Array<Symbol>]
434
+ end
376
435
  end
436
+
437
+ # @!method self.variants
438
+ # @return [Array(OpenAI::Models::Realtime::RealtimeSessionCreateResponse::Audio::Input::TurnDetection::ServerVad, OpenAI::Models::Realtime::RealtimeSessionCreateResponse::Audio::Input::TurnDetection::SemanticVad)]
377
439
  end
378
440
  end
379
441
 
@@ -36,17 +36,22 @@ module OpenAI
36
36
  # @!attribute turn_detection
37
37
  # Configuration for turn detection, ether Server VAD or Semantic VAD. This can be
38
38
  # set to `null` to turn off, in which case the client must manually trigger model
39
- # response. Server VAD means that the model will detect the start and end of
40
- # speech based on audio volume and respond at the end of user speech. Semantic VAD
41
- # is more advanced and uses a turn detection model (in conjunction with VAD) to
42
- # semantically estimate whether the user has finished speaking, then dynamically
43
- # sets a timeout based on this probability. For example, if user audio trails off
44
- # with "uhhm", the model will score a low probability of turn end and wait longer
45
- # for the user to continue speaking. This can be useful for more natural
46
- # conversations, but may have a higher latency.
39
+ # response.
47
40
  #
48
- # @return [OpenAI::Models::Realtime::RealtimeTranscriptionSessionAudioInputTurnDetection, nil]
49
- optional :turn_detection, -> { OpenAI::Realtime::RealtimeTranscriptionSessionAudioInputTurnDetection }
41
+ # Server VAD means that the model will detect the start and end of speech based on
42
+ # audio volume and respond at the end of user speech.
43
+ #
44
+ # Semantic VAD is more advanced and uses a turn detection model (in conjunction
45
+ # with VAD) to semantically estimate whether the user has finished speaking, then
46
+ # dynamically sets a timeout based on this probability. For example, if user audio
47
+ # trails off with "uhhm", the model will score a low probability of turn end and
48
+ # wait longer for the user to continue speaking. This can be useful for more
49
+ # natural conversations, but may have a higher latency.
50
+ #
51
+ # @return [OpenAI::Models::Realtime::RealtimeTranscriptionSessionAudioInputTurnDetection::ServerVad, OpenAI::Models::Realtime::RealtimeTranscriptionSessionAudioInputTurnDetection::SemanticVad, nil]
52
+ optional :turn_detection,
53
+ union: -> { OpenAI::Realtime::RealtimeTranscriptionSessionAudioInputTurnDetection },
54
+ nil?: true
50
55
 
51
56
  # @!method initialize(format_: nil, noise_reduction: nil, transcription: nil, turn_detection: nil)
52
57
  # Some parameter documentations has been truncated, see
@@ -59,7 +64,7 @@ module OpenAI
59
64
  #
60
65
  # @param transcription [OpenAI::Models::Realtime::AudioTranscription] Configuration for input audio transcription, defaults to off and can be set to `
61
66
  #
62
- # @param turn_detection [OpenAI::Models::Realtime::RealtimeTranscriptionSessionAudioInputTurnDetection] Configuration for turn detection, ether Server VAD or Semantic VAD. This can be
67
+ # @param turn_detection [OpenAI::Models::Realtime::RealtimeTranscriptionSessionAudioInputTurnDetection::ServerVad, OpenAI::Models::Realtime::RealtimeTranscriptionSessionAudioInputTurnDetection::SemanticVad, nil] Configuration for turn detection, ether Server VAD or Semantic VAD. This can be
63
68
 
64
69
  # @see OpenAI::Models::Realtime::RealtimeTranscriptionSessionAudioInput#noise_reduction
65
70
  class NoiseReduction < OpenAI::Internal::Type::BaseModel