openai 0.22.1 → 0.23.0

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 (158) 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/audio_transcription.rb +60 -0
  5. data/lib/openai/models/realtime/client_secret_create_params.rb +18 -9
  6. data/lib/openai/models/realtime/client_secret_create_response.rb +11 -250
  7. data/lib/openai/models/realtime/conversation_item.rb +1 -1
  8. data/lib/openai/models/realtime/conversation_item_added.rb +14 -1
  9. data/lib/openai/models/realtime/conversation_item_done.rb +3 -0
  10. data/lib/openai/models/realtime/conversation_item_input_audio_transcription_completed_event.rb +10 -8
  11. data/lib/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rb +14 -5
  12. data/lib/openai/models/realtime/conversation_item_truncate_event.rb +2 -2
  13. data/lib/openai/models/realtime/input_audio_buffer_append_event.rb +10 -5
  14. data/lib/openai/models/realtime/models.rb +58 -0
  15. data/lib/openai/models/realtime/noise_reduction_type.rb +20 -0
  16. data/lib/openai/models/realtime/realtime_audio_config.rb +6 -427
  17. data/lib/openai/models/realtime/realtime_audio_config_input.rb +89 -0
  18. data/lib/openai/models/realtime/realtime_audio_config_output.rb +100 -0
  19. data/lib/openai/models/realtime/realtime_audio_formats.rb +121 -0
  20. data/lib/openai/models/realtime/realtime_audio_input_turn_detection.rb +131 -0
  21. data/lib/openai/models/realtime/realtime_client_event.rb +31 -23
  22. data/lib/openai/models/realtime/realtime_conversation_item_assistant_message.rb +43 -10
  23. data/lib/openai/models/realtime/realtime_conversation_item_function_call.rb +16 -7
  24. data/lib/openai/models/realtime/realtime_conversation_item_function_call_output.rb +15 -7
  25. data/lib/openai/models/realtime/realtime_conversation_item_system_message.rb +18 -6
  26. data/lib/openai/models/realtime/realtime_conversation_item_user_message.rb +62 -13
  27. data/lib/openai/models/realtime/realtime_response.rb +117 -107
  28. data/lib/openai/models/realtime/realtime_response_create_audio_output.rb +100 -0
  29. data/lib/openai/models/realtime/realtime_response_create_mcp_tool.rb +310 -0
  30. data/lib/openai/models/realtime/realtime_response_create_params.rb +225 -0
  31. data/lib/openai/models/realtime/realtime_response_status.rb +1 -1
  32. data/lib/openai/models/realtime/realtime_response_usage.rb +5 -2
  33. data/lib/openai/models/realtime/realtime_response_usage_input_token_details.rb +58 -8
  34. data/lib/openai/models/realtime/realtime_server_event.rb +21 -5
  35. data/lib/openai/models/realtime/realtime_session.rb +9 -125
  36. data/lib/openai/models/realtime/realtime_session_client_secret.rb +36 -0
  37. data/lib/openai/models/realtime/realtime_session_create_request.rb +50 -71
  38. data/lib/openai/models/realtime/realtime_session_create_response.rb +621 -219
  39. data/lib/openai/models/realtime/realtime_tools_config_union.rb +2 -53
  40. data/lib/openai/models/realtime/realtime_tracing_config.rb +7 -6
  41. data/lib/openai/models/realtime/realtime_transcription_session_audio.rb +19 -0
  42. data/lib/openai/models/realtime/realtime_transcription_session_audio_input.rb +90 -0
  43. data/lib/openai/models/realtime/realtime_transcription_session_audio_input_turn_detection.rb +131 -0
  44. data/lib/openai/models/realtime/realtime_transcription_session_client_secret.rb +38 -0
  45. data/lib/openai/models/realtime/realtime_transcription_session_create_request.rb +12 -270
  46. data/lib/openai/models/realtime/realtime_transcription_session_create_response.rb +78 -0
  47. data/lib/openai/models/realtime/realtime_transcription_session_input_audio_transcription.rb +66 -0
  48. data/lib/openai/models/realtime/realtime_transcription_session_turn_detection.rb +57 -0
  49. data/lib/openai/models/realtime/realtime_truncation.rb +8 -40
  50. data/lib/openai/models/realtime/realtime_truncation_retention_ratio.rb +34 -0
  51. data/lib/openai/models/realtime/response_cancel_event.rb +3 -1
  52. data/lib/openai/models/realtime/response_create_event.rb +18 -348
  53. data/lib/openai/models/realtime/response_done_event.rb +7 -0
  54. data/lib/openai/models/realtime/session_created_event.rb +20 -4
  55. data/lib/openai/models/realtime/session_update_event.rb +36 -12
  56. data/lib/openai/models/realtime/session_updated_event.rb +20 -4
  57. data/lib/openai/models/realtime/transcription_session_created.rb +8 -243
  58. data/lib/openai/models/realtime/transcription_session_update.rb +179 -3
  59. data/lib/openai/models/realtime/transcription_session_updated_event.rb +8 -243
  60. data/lib/openai/resources/realtime/client_secrets.rb +2 -3
  61. data/lib/openai/version.rb +1 -1
  62. data/lib/openai.rb +19 -1
  63. data/rbi/openai/models/realtime/audio_transcription.rbi +132 -0
  64. data/rbi/openai/models/realtime/client_secret_create_params.rbi +25 -11
  65. data/rbi/openai/models/realtime/client_secret_create_response.rbi +2 -587
  66. data/rbi/openai/models/realtime/conversation_item_added.rbi +14 -1
  67. data/rbi/openai/models/realtime/conversation_item_done.rbi +3 -0
  68. data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_completed_event.rbi +11 -8
  69. data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rbi +15 -5
  70. data/rbi/openai/models/realtime/conversation_item_truncate_event.rbi +2 -2
  71. data/rbi/openai/models/realtime/input_audio_buffer_append_event.rbi +10 -5
  72. data/rbi/openai/models/realtime/models.rbi +97 -0
  73. data/rbi/openai/models/realtime/noise_reduction_type.rbi +31 -0
  74. data/rbi/openai/models/realtime/realtime_audio_config.rbi +8 -956
  75. data/rbi/openai/models/realtime/realtime_audio_config_input.rbi +221 -0
  76. data/rbi/openai/models/realtime/realtime_audio_config_output.rbi +222 -0
  77. data/rbi/openai/models/realtime/realtime_audio_formats.rbi +329 -0
  78. data/rbi/openai/models/realtime/realtime_audio_input_turn_detection.rbi +262 -0
  79. data/rbi/openai/models/realtime/realtime_conversation_item_assistant_message.rbi +51 -10
  80. data/rbi/openai/models/realtime/realtime_conversation_item_function_call.rbi +16 -7
  81. data/rbi/openai/models/realtime/realtime_conversation_item_function_call_output.rbi +14 -7
  82. data/rbi/openai/models/realtime/realtime_conversation_item_system_message.rbi +16 -6
  83. data/rbi/openai/models/realtime/realtime_conversation_item_user_message.rbi +110 -12
  84. data/rbi/openai/models/realtime/realtime_response.rbi +287 -212
  85. data/rbi/openai/models/realtime/realtime_response_create_audio_output.rbi +250 -0
  86. data/rbi/openai/models/realtime/realtime_response_create_mcp_tool.rbi +616 -0
  87. data/rbi/openai/models/realtime/realtime_response_create_params.rbi +529 -0
  88. data/rbi/openai/models/realtime/realtime_response_usage.rbi +8 -2
  89. data/rbi/openai/models/realtime/realtime_response_usage_input_token_details.rbi +106 -7
  90. data/rbi/openai/models/realtime/realtime_server_event.rbi +4 -1
  91. data/rbi/openai/models/realtime/realtime_session.rbi +12 -262
  92. data/rbi/openai/models/realtime/realtime_session_client_secret.rbi +49 -0
  93. data/rbi/openai/models/realtime/realtime_session_create_request.rbi +112 -133
  94. data/rbi/openai/models/realtime/realtime_session_create_response.rbi +1229 -405
  95. data/rbi/openai/models/realtime/realtime_tools_config_union.rbi +1 -117
  96. data/rbi/openai/models/realtime/realtime_tracing_config.rbi +11 -10
  97. data/rbi/openai/models/realtime/realtime_transcription_session_audio.rbi +50 -0
  98. data/rbi/openai/models/realtime/realtime_transcription_session_audio_input.rbi +226 -0
  99. data/rbi/openai/models/realtime/realtime_transcription_session_audio_input_turn_detection.rbi +259 -0
  100. data/rbi/openai/models/realtime/realtime_transcription_session_client_secret.rbi +51 -0
  101. data/rbi/openai/models/realtime/realtime_transcription_session_create_request.rbi +25 -597
  102. data/rbi/openai/models/realtime/realtime_transcription_session_create_response.rbi +195 -0
  103. data/rbi/openai/models/realtime/realtime_transcription_session_input_audio_transcription.rbi +144 -0
  104. data/rbi/openai/models/realtime/realtime_transcription_session_turn_detection.rbi +94 -0
  105. data/rbi/openai/models/realtime/realtime_truncation.rbi +5 -56
  106. data/rbi/openai/models/realtime/realtime_truncation_retention_ratio.rbi +45 -0
  107. data/rbi/openai/models/realtime/response_cancel_event.rbi +3 -1
  108. data/rbi/openai/models/realtime/response_create_event.rbi +19 -786
  109. data/rbi/openai/models/realtime/response_done_event.rbi +7 -0
  110. data/rbi/openai/models/realtime/session_created_event.rbi +42 -9
  111. data/rbi/openai/models/realtime/session_update_event.rbi +57 -19
  112. data/rbi/openai/models/realtime/session_updated_event.rbi +42 -9
  113. data/rbi/openai/models/realtime/transcription_session_created.rbi +17 -591
  114. data/rbi/openai/models/realtime/transcription_session_update.rbi +425 -7
  115. data/rbi/openai/models/realtime/transcription_session_updated_event.rbi +14 -591
  116. data/rbi/openai/resources/realtime/client_secrets.rbi +5 -3
  117. data/sig/openai/models/realtime/audio_transcription.rbs +57 -0
  118. data/sig/openai/models/realtime/client_secret_create_response.rbs +1 -251
  119. data/sig/openai/models/realtime/models.rbs +57 -0
  120. data/sig/openai/models/realtime/noise_reduction_type.rbs +16 -0
  121. data/sig/openai/models/realtime/realtime_audio_config.rbs +12 -331
  122. data/sig/openai/models/realtime/realtime_audio_config_input.rbs +72 -0
  123. data/sig/openai/models/realtime/realtime_audio_config_output.rbs +72 -0
  124. data/sig/openai/models/realtime/realtime_audio_formats.rbs +128 -0
  125. data/sig/openai/models/realtime/realtime_audio_input_turn_detection.rbs +99 -0
  126. data/sig/openai/models/realtime/realtime_conversation_item_assistant_message.rbs +17 -2
  127. data/sig/openai/models/realtime/realtime_conversation_item_user_message.rbs +30 -1
  128. data/sig/openai/models/realtime/realtime_response.rbs +103 -82
  129. data/sig/openai/models/realtime/realtime_response_create_audio_output.rbs +84 -0
  130. data/sig/openai/models/realtime/realtime_response_create_mcp_tool.rbs +218 -0
  131. data/sig/openai/models/realtime/realtime_response_create_params.rbs +148 -0
  132. data/sig/openai/models/realtime/realtime_response_usage_input_token_details.rbs +50 -1
  133. data/sig/openai/models/realtime/realtime_session.rbs +16 -106
  134. data/sig/openai/models/realtime/realtime_session_client_secret.rbs +20 -0
  135. data/sig/openai/models/realtime/realtime_session_create_request.rbs +27 -43
  136. data/sig/openai/models/realtime/realtime_session_create_response.rbs +389 -187
  137. data/sig/openai/models/realtime/realtime_tools_config_union.rbs +1 -53
  138. data/sig/openai/models/realtime/realtime_transcription_session_audio.rbs +24 -0
  139. data/sig/openai/models/realtime/realtime_transcription_session_audio_input.rbs +72 -0
  140. data/sig/openai/models/realtime/realtime_transcription_session_audio_input_turn_detection.rbs +99 -0
  141. data/sig/openai/models/realtime/realtime_transcription_session_client_secret.rbs +20 -0
  142. data/sig/openai/models/realtime/realtime_transcription_session_create_request.rbs +11 -203
  143. data/sig/openai/models/realtime/realtime_transcription_session_create_response.rbs +69 -0
  144. data/sig/openai/models/realtime/realtime_transcription_session_input_audio_transcription.rbs +59 -0
  145. data/sig/openai/models/realtime/realtime_transcription_session_turn_detection.rbs +47 -0
  146. data/sig/openai/models/realtime/realtime_truncation.rbs +1 -28
  147. data/sig/openai/models/realtime/realtime_truncation_retention_ratio.rbs +21 -0
  148. data/sig/openai/models/realtime/response_create_event.rbs +6 -249
  149. data/sig/openai/models/realtime/session_created_event.rbs +14 -4
  150. data/sig/openai/models/realtime/session_update_event.rbs +14 -4
  151. data/sig/openai/models/realtime/session_updated_event.rbs +14 -4
  152. data/sig/openai/models/realtime/transcription_session_created.rbs +4 -254
  153. data/sig/openai/models/realtime/transcription_session_update.rbs +154 -4
  154. data/sig/openai/models/realtime/transcription_session_updated_event.rbs +4 -254
  155. metadata +59 -5
  156. data/lib/openai/models/realtime/realtime_client_secret_config.rb +0 -64
  157. data/rbi/openai/models/realtime/realtime_client_secret_config.rbi +0 -147
  158. data/sig/openai/models/realtime/realtime_client_secret_config.rbs +0 -60
@@ -2,64 +2,12 @@ module OpenAI
2
2
  module Models
3
3
  module Realtime
4
4
  type realtime_tools_config_union =
5
- OpenAI::Realtime::RealtimeToolsConfigUnion::Function
5
+ OpenAI::Realtime::Models
6
6
  | OpenAI::Realtime::RealtimeToolsConfigUnion::Mcp
7
7
 
8
8
  module RealtimeToolsConfigUnion
9
9
  extend OpenAI::Internal::Type::Union
10
10
 
11
- type function =
12
- {
13
- description: String,
14
- name: String,
15
- parameters: top,
16
- type: OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Function::type_
17
- }
18
-
19
- class Function < OpenAI::Internal::Type::BaseModel
20
- attr_reader description: String?
21
-
22
- def description=: (String) -> String
23
-
24
- attr_reader name: String?
25
-
26
- def name=: (String) -> String
27
-
28
- attr_reader parameters: top?
29
-
30
- def parameters=: (top) -> top
31
-
32
- attr_reader type: OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Function::type_?
33
-
34
- def type=: (
35
- OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Function::type_
36
- ) -> OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Function::type_
37
-
38
- def initialize: (
39
- ?description: String,
40
- ?name: String,
41
- ?parameters: top,
42
- ?type: OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Function::type_
43
- ) -> void
44
-
45
- def to_hash: -> {
46
- description: String,
47
- name: String,
48
- parameters: top,
49
- type: OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Function::type_
50
- }
51
-
52
- type type_ = :function
53
-
54
- module Type
55
- extend OpenAI::Internal::Type::Enum
56
-
57
- FUNCTION: :function
58
-
59
- def self?.values: -> ::Array[OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Function::type_]
60
- end
61
- end
62
-
63
11
  type mcp =
64
12
  {
65
13
  server_label: String,
@@ -0,0 +1,24 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type realtime_transcription_session_audio =
5
+ { input: OpenAI::Realtime::RealtimeTranscriptionSessionAudioInput }
6
+
7
+ class RealtimeTranscriptionSessionAudio < OpenAI::Internal::Type::BaseModel
8
+ attr_reader input: OpenAI::Realtime::RealtimeTranscriptionSessionAudioInput?
9
+
10
+ def input=: (
11
+ OpenAI::Realtime::RealtimeTranscriptionSessionAudioInput
12
+ ) -> OpenAI::Realtime::RealtimeTranscriptionSessionAudioInput
13
+
14
+ def initialize: (
15
+ ?input: OpenAI::Realtime::RealtimeTranscriptionSessionAudioInput
16
+ ) -> void
17
+
18
+ def to_hash: -> {
19
+ input: OpenAI::Realtime::RealtimeTranscriptionSessionAudioInput
20
+ }
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,72 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type realtime_transcription_session_audio_input =
5
+ {
6
+ format_: OpenAI::Models::Realtime::realtime_audio_formats,
7
+ noise_reduction: OpenAI::Realtime::RealtimeTranscriptionSessionAudioInput::NoiseReduction,
8
+ transcription: OpenAI::Realtime::AudioTranscription,
9
+ turn_detection: OpenAI::Realtime::RealtimeTranscriptionSessionAudioInputTurnDetection
10
+ }
11
+
12
+ class RealtimeTranscriptionSessionAudioInput < OpenAI::Internal::Type::BaseModel
13
+ attr_reader format_: OpenAI::Models::Realtime::realtime_audio_formats?
14
+
15
+ def format_=: (
16
+ OpenAI::Models::Realtime::realtime_audio_formats
17
+ ) -> OpenAI::Models::Realtime::realtime_audio_formats
18
+
19
+ attr_reader noise_reduction: OpenAI::Realtime::RealtimeTranscriptionSessionAudioInput::NoiseReduction?
20
+
21
+ def noise_reduction=: (
22
+ OpenAI::Realtime::RealtimeTranscriptionSessionAudioInput::NoiseReduction
23
+ ) -> OpenAI::Realtime::RealtimeTranscriptionSessionAudioInput::NoiseReduction
24
+
25
+ attr_reader transcription: OpenAI::Realtime::AudioTranscription?
26
+
27
+ def transcription=: (
28
+ OpenAI::Realtime::AudioTranscription
29
+ ) -> OpenAI::Realtime::AudioTranscription
30
+
31
+ attr_reader turn_detection: OpenAI::Realtime::RealtimeTranscriptionSessionAudioInputTurnDetection?
32
+
33
+ def turn_detection=: (
34
+ OpenAI::Realtime::RealtimeTranscriptionSessionAudioInputTurnDetection
35
+ ) -> OpenAI::Realtime::RealtimeTranscriptionSessionAudioInputTurnDetection
36
+
37
+ def initialize: (
38
+ ?format_: OpenAI::Models::Realtime::realtime_audio_formats,
39
+ ?noise_reduction: OpenAI::Realtime::RealtimeTranscriptionSessionAudioInput::NoiseReduction,
40
+ ?transcription: OpenAI::Realtime::AudioTranscription,
41
+ ?turn_detection: OpenAI::Realtime::RealtimeTranscriptionSessionAudioInputTurnDetection
42
+ ) -> void
43
+
44
+ def to_hash: -> {
45
+ format_: OpenAI::Models::Realtime::realtime_audio_formats,
46
+ noise_reduction: OpenAI::Realtime::RealtimeTranscriptionSessionAudioInput::NoiseReduction,
47
+ transcription: OpenAI::Realtime::AudioTranscription,
48
+ turn_detection: OpenAI::Realtime::RealtimeTranscriptionSessionAudioInputTurnDetection
49
+ }
50
+
51
+ type noise_reduction =
52
+ { type: OpenAI::Models::Realtime::noise_reduction_type }
53
+
54
+ class NoiseReduction < OpenAI::Internal::Type::BaseModel
55
+ attr_reader type: OpenAI::Models::Realtime::noise_reduction_type?
56
+
57
+ def type=: (
58
+ OpenAI::Models::Realtime::noise_reduction_type
59
+ ) -> OpenAI::Models::Realtime::noise_reduction_type
60
+
61
+ def initialize: (
62
+ ?type: OpenAI::Models::Realtime::noise_reduction_type
63
+ ) -> void
64
+
65
+ def to_hash: -> {
66
+ type: OpenAI::Models::Realtime::noise_reduction_type
67
+ }
68
+ end
69
+ end
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,99 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type realtime_transcription_session_audio_input_turn_detection =
5
+ {
6
+ create_response: bool,
7
+ eagerness: OpenAI::Models::Realtime::RealtimeTranscriptionSessionAudioInputTurnDetection::eagerness,
8
+ idle_timeout_ms: Integer?,
9
+ interrupt_response: bool,
10
+ prefix_padding_ms: Integer,
11
+ silence_duration_ms: Integer,
12
+ threshold: Float,
13
+ type: OpenAI::Models::Realtime::RealtimeTranscriptionSessionAudioInputTurnDetection::type_
14
+ }
15
+
16
+ class RealtimeTranscriptionSessionAudioInputTurnDetection < OpenAI::Internal::Type::BaseModel
17
+ attr_reader create_response: bool?
18
+
19
+ def create_response=: (bool) -> bool
20
+
21
+ attr_reader eagerness: OpenAI::Models::Realtime::RealtimeTranscriptionSessionAudioInputTurnDetection::eagerness?
22
+
23
+ def eagerness=: (
24
+ OpenAI::Models::Realtime::RealtimeTranscriptionSessionAudioInputTurnDetection::eagerness
25
+ ) -> OpenAI::Models::Realtime::RealtimeTranscriptionSessionAudioInputTurnDetection::eagerness
26
+
27
+ attr_accessor idle_timeout_ms: Integer?
28
+
29
+ attr_reader interrupt_response: bool?
30
+
31
+ def interrupt_response=: (bool) -> bool
32
+
33
+ attr_reader prefix_padding_ms: Integer?
34
+
35
+ def prefix_padding_ms=: (Integer) -> Integer
36
+
37
+ attr_reader silence_duration_ms: Integer?
38
+
39
+ def silence_duration_ms=: (Integer) -> Integer
40
+
41
+ attr_reader threshold: Float?
42
+
43
+ def threshold=: (Float) -> Float
44
+
45
+ attr_reader type: OpenAI::Models::Realtime::RealtimeTranscriptionSessionAudioInputTurnDetection::type_?
46
+
47
+ def type=: (
48
+ OpenAI::Models::Realtime::RealtimeTranscriptionSessionAudioInputTurnDetection::type_
49
+ ) -> OpenAI::Models::Realtime::RealtimeTranscriptionSessionAudioInputTurnDetection::type_
50
+
51
+ def initialize: (
52
+ ?create_response: bool,
53
+ ?eagerness: OpenAI::Models::Realtime::RealtimeTranscriptionSessionAudioInputTurnDetection::eagerness,
54
+ ?idle_timeout_ms: Integer?,
55
+ ?interrupt_response: bool,
56
+ ?prefix_padding_ms: Integer,
57
+ ?silence_duration_ms: Integer,
58
+ ?threshold: Float,
59
+ ?type: OpenAI::Models::Realtime::RealtimeTranscriptionSessionAudioInputTurnDetection::type_
60
+ ) -> void
61
+
62
+ def to_hash: -> {
63
+ create_response: bool,
64
+ eagerness: OpenAI::Models::Realtime::RealtimeTranscriptionSessionAudioInputTurnDetection::eagerness,
65
+ idle_timeout_ms: Integer?,
66
+ interrupt_response: bool,
67
+ prefix_padding_ms: Integer,
68
+ silence_duration_ms: Integer,
69
+ threshold: Float,
70
+ type: OpenAI::Models::Realtime::RealtimeTranscriptionSessionAudioInputTurnDetection::type_
71
+ }
72
+
73
+ type eagerness = :low | :medium | :high | :auto
74
+
75
+ module Eagerness
76
+ extend OpenAI::Internal::Type::Enum
77
+
78
+ LOW: :low
79
+ MEDIUM: :medium
80
+ HIGH: :high
81
+ AUTO: :auto
82
+
83
+ def self?.values: -> ::Array[OpenAI::Models::Realtime::RealtimeTranscriptionSessionAudioInputTurnDetection::eagerness]
84
+ end
85
+
86
+ type type_ = :server_vad | :semantic_vad
87
+
88
+ module Type
89
+ extend OpenAI::Internal::Type::Enum
90
+
91
+ SERVER_VAD: :server_vad
92
+ SEMANTIC_VAD: :semantic_vad
93
+
94
+ def self?.values: -> ::Array[OpenAI::Models::Realtime::RealtimeTranscriptionSessionAudioInputTurnDetection::type_]
95
+ end
96
+ end
97
+ end
98
+ end
99
+ end
@@ -0,0 +1,20 @@
1
+ module OpenAI
2
+ module Models
3
+ class RealtimeTranscriptionSessionClientSecret = Realtime::RealtimeTranscriptionSessionClientSecret
4
+
5
+ module Realtime
6
+ type realtime_transcription_session_client_secret =
7
+ { expires_at: Integer, value: String }
8
+
9
+ class RealtimeTranscriptionSessionClientSecret < OpenAI::Internal::Type::BaseModel
10
+ attr_accessor expires_at: Integer
11
+
12
+ attr_accessor value: String
13
+
14
+ def initialize: (expires_at: Integer, value: String) -> void
15
+
16
+ def to_hash: -> { expires_at: Integer, value: String }
17
+ end
18
+ end
19
+ end
20
+ end
@@ -3,86 +3,38 @@ module OpenAI
3
3
  module Realtime
4
4
  type realtime_transcription_session_create_request =
5
5
  {
6
- model: OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest::model,
7
6
  type: :transcription,
8
- include: ::Array[OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest::include_],
9
- input_audio_format: OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest::input_audio_format,
10
- input_audio_noise_reduction: OpenAI::Realtime::RealtimeTranscriptionSessionCreateRequest::InputAudioNoiseReduction,
11
- input_audio_transcription: OpenAI::Realtime::RealtimeTranscriptionSessionCreateRequest::InputAudioTranscription,
12
- turn_detection: OpenAI::Realtime::RealtimeTranscriptionSessionCreateRequest::TurnDetection
7
+ audio: OpenAI::Realtime::RealtimeTranscriptionSessionAudio,
8
+ include: ::Array[OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest::include_]
13
9
  }
14
10
 
15
11
  class RealtimeTranscriptionSessionCreateRequest < OpenAI::Internal::Type::BaseModel
16
- attr_accessor model: OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest::model
17
-
18
12
  attr_accessor type: :transcription
19
13
 
14
+ attr_reader audio: OpenAI::Realtime::RealtimeTranscriptionSessionAudio?
15
+
16
+ def audio=: (
17
+ OpenAI::Realtime::RealtimeTranscriptionSessionAudio
18
+ ) -> OpenAI::Realtime::RealtimeTranscriptionSessionAudio
19
+
20
20
  attr_reader include: ::Array[OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest::include_]?
21
21
 
22
22
  def include=: (
23
23
  ::Array[OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest::include_]
24
24
  ) -> ::Array[OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest::include_]
25
25
 
26
- attr_reader input_audio_format: OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest::input_audio_format?
27
-
28
- def input_audio_format=: (
29
- OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest::input_audio_format
30
- ) -> OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest::input_audio_format
31
-
32
- attr_reader input_audio_noise_reduction: OpenAI::Realtime::RealtimeTranscriptionSessionCreateRequest::InputAudioNoiseReduction?
33
-
34
- def input_audio_noise_reduction=: (
35
- OpenAI::Realtime::RealtimeTranscriptionSessionCreateRequest::InputAudioNoiseReduction
36
- ) -> OpenAI::Realtime::RealtimeTranscriptionSessionCreateRequest::InputAudioNoiseReduction
37
-
38
- attr_reader input_audio_transcription: OpenAI::Realtime::RealtimeTranscriptionSessionCreateRequest::InputAudioTranscription?
39
-
40
- def input_audio_transcription=: (
41
- OpenAI::Realtime::RealtimeTranscriptionSessionCreateRequest::InputAudioTranscription
42
- ) -> OpenAI::Realtime::RealtimeTranscriptionSessionCreateRequest::InputAudioTranscription
43
-
44
- attr_reader turn_detection: OpenAI::Realtime::RealtimeTranscriptionSessionCreateRequest::TurnDetection?
45
-
46
- def turn_detection=: (
47
- OpenAI::Realtime::RealtimeTranscriptionSessionCreateRequest::TurnDetection
48
- ) -> OpenAI::Realtime::RealtimeTranscriptionSessionCreateRequest::TurnDetection
49
-
50
26
  def initialize: (
51
- model: OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest::model,
27
+ ?audio: OpenAI::Realtime::RealtimeTranscriptionSessionAudio,
52
28
  ?include: ::Array[OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest::include_],
53
- ?input_audio_format: OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest::input_audio_format,
54
- ?input_audio_noise_reduction: OpenAI::Realtime::RealtimeTranscriptionSessionCreateRequest::InputAudioNoiseReduction,
55
- ?input_audio_transcription: OpenAI::Realtime::RealtimeTranscriptionSessionCreateRequest::InputAudioTranscription,
56
- ?turn_detection: OpenAI::Realtime::RealtimeTranscriptionSessionCreateRequest::TurnDetection,
57
29
  ?type: :transcription
58
30
  ) -> void
59
31
 
60
32
  def to_hash: -> {
61
- model: OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest::model,
62
33
  type: :transcription,
63
- include: ::Array[OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest::include_],
64
- input_audio_format: OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest::input_audio_format,
65
- input_audio_noise_reduction: OpenAI::Realtime::RealtimeTranscriptionSessionCreateRequest::InputAudioNoiseReduction,
66
- input_audio_transcription: OpenAI::Realtime::RealtimeTranscriptionSessionCreateRequest::InputAudioTranscription,
67
- turn_detection: OpenAI::Realtime::RealtimeTranscriptionSessionCreateRequest::TurnDetection
34
+ audio: OpenAI::Realtime::RealtimeTranscriptionSessionAudio,
35
+ include: ::Array[OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest::include_]
68
36
  }
69
37
 
70
- type model =
71
- String
72
- | :"whisper-1"
73
- | :"gpt-4o-transcribe"
74
- | :"gpt-4o-mini-transcribe"
75
-
76
- module Model
77
- extend OpenAI::Internal::Type::Union
78
-
79
- def self?.variants: -> ::Array[OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest::model]
80
-
81
- WHISPER_1: :"whisper-1"
82
- GPT_4O_TRANSCRIBE: :"gpt-4o-transcribe"
83
- GPT_4O_MINI_TRANSCRIBE: :"gpt-4o-mini-transcribe"
84
- end
85
-
86
38
  type include_ = :"item.input_audio_transcription.logprobs"
87
39
 
88
40
  module Include
@@ -92,150 +44,6 @@ module OpenAI
92
44
 
93
45
  def self?.values: -> ::Array[OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest::include_]
94
46
  end
95
-
96
- type input_audio_format = :pcm16 | :g711_ulaw | :g711_alaw
97
-
98
- module InputAudioFormat
99
- extend OpenAI::Internal::Type::Enum
100
-
101
- PCM16: :pcm16
102
- G711_ULAW: :g711_ulaw
103
- G711_ALAW: :g711_alaw
104
-
105
- def self?.values: -> ::Array[OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest::input_audio_format]
106
- end
107
-
108
- type input_audio_noise_reduction =
109
- {
110
- type: OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest::InputAudioNoiseReduction::type_
111
- }
112
-
113
- class InputAudioNoiseReduction < OpenAI::Internal::Type::BaseModel
114
- attr_reader type: OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest::InputAudioNoiseReduction::type_?
115
-
116
- def type=: (
117
- OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest::InputAudioNoiseReduction::type_
118
- ) -> OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest::InputAudioNoiseReduction::type_
119
-
120
- def initialize: (
121
- ?type: OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest::InputAudioNoiseReduction::type_
122
- ) -> void
123
-
124
- def to_hash: -> {
125
- type: OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest::InputAudioNoiseReduction::type_
126
- }
127
-
128
- type type_ = :near_field | :far_field
129
-
130
- module Type
131
- extend OpenAI::Internal::Type::Enum
132
-
133
- NEAR_FIELD: :near_field
134
- FAR_FIELD: :far_field
135
-
136
- def self?.values: -> ::Array[OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest::InputAudioNoiseReduction::type_]
137
- end
138
- end
139
-
140
- type input_audio_transcription =
141
- {
142
- language: String,
143
- model: OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest::InputAudioTranscription::model,
144
- prompt: String
145
- }
146
-
147
- class InputAudioTranscription < OpenAI::Internal::Type::BaseModel
148
- attr_reader language: String?
149
-
150
- def language=: (String) -> String
151
-
152
- attr_reader model: OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest::InputAudioTranscription::model?
153
-
154
- def model=: (
155
- OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest::InputAudioTranscription::model
156
- ) -> OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest::InputAudioTranscription::model
157
-
158
- attr_reader prompt: String?
159
-
160
- def prompt=: (String) -> String
161
-
162
- def initialize: (
163
- ?language: String,
164
- ?model: OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest::InputAudioTranscription::model,
165
- ?prompt: String
166
- ) -> void
167
-
168
- def to_hash: -> {
169
- language: String,
170
- model: OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest::InputAudioTranscription::model,
171
- prompt: String
172
- }
173
-
174
- type model =
175
- :"gpt-4o-transcribe" | :"gpt-4o-mini-transcribe" | :"whisper-1"
176
-
177
- module Model
178
- extend OpenAI::Internal::Type::Enum
179
-
180
- GPT_4O_TRANSCRIBE: :"gpt-4o-transcribe"
181
- GPT_4O_MINI_TRANSCRIBE: :"gpt-4o-mini-transcribe"
182
- WHISPER_1: :"whisper-1"
183
-
184
- def self?.values: -> ::Array[OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest::InputAudioTranscription::model]
185
- end
186
- end
187
-
188
- type turn_detection =
189
- {
190
- prefix_padding_ms: Integer,
191
- silence_duration_ms: Integer,
192
- threshold: Float,
193
- type: OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest::TurnDetection::type_
194
- }
195
-
196
- class TurnDetection < OpenAI::Internal::Type::BaseModel
197
- attr_reader prefix_padding_ms: Integer?
198
-
199
- def prefix_padding_ms=: (Integer) -> Integer
200
-
201
- attr_reader silence_duration_ms: Integer?
202
-
203
- def silence_duration_ms=: (Integer) -> Integer
204
-
205
- attr_reader threshold: Float?
206
-
207
- def threshold=: (Float) -> Float
208
-
209
- attr_reader type: OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest::TurnDetection::type_?
210
-
211
- def type=: (
212
- OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest::TurnDetection::type_
213
- ) -> OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest::TurnDetection::type_
214
-
215
- def initialize: (
216
- ?prefix_padding_ms: Integer,
217
- ?silence_duration_ms: Integer,
218
- ?threshold: Float,
219
- ?type: OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest::TurnDetection::type_
220
- ) -> void
221
-
222
- def to_hash: -> {
223
- prefix_padding_ms: Integer,
224
- silence_duration_ms: Integer,
225
- threshold: Float,
226
- type: OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest::TurnDetection::type_
227
- }
228
-
229
- type type_ = :server_vad
230
-
231
- module Type
232
- extend OpenAI::Internal::Type::Enum
233
-
234
- SERVER_VAD: :server_vad
235
-
236
- def self?.values: -> ::Array[OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest::TurnDetection::type_]
237
- end
238
- end
239
47
  end
240
48
  end
241
49
  end
@@ -0,0 +1,69 @@
1
+ module OpenAI
2
+ module Models
3
+ class RealtimeTranscriptionSessionCreateResponse = Realtime::RealtimeTranscriptionSessionCreateResponse
4
+
5
+ module Realtime
6
+ type realtime_transcription_session_create_response =
7
+ {
8
+ client_secret: OpenAI::Realtime::RealtimeTranscriptionSessionClientSecret,
9
+ input_audio_format: String,
10
+ input_audio_transcription: OpenAI::Realtime::RealtimeTranscriptionSessionInputAudioTranscription,
11
+ modalities: ::Array[OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateResponse::modality],
12
+ turn_detection: OpenAI::Realtime::RealtimeTranscriptionSessionTurnDetection
13
+ }
14
+
15
+ class RealtimeTranscriptionSessionCreateResponse < OpenAI::Internal::Type::BaseModel
16
+ attr_accessor client_secret: OpenAI::Realtime::RealtimeTranscriptionSessionClientSecret
17
+
18
+ attr_reader input_audio_format: String?
19
+
20
+ def input_audio_format=: (String) -> String
21
+
22
+ attr_reader input_audio_transcription: OpenAI::Realtime::RealtimeTranscriptionSessionInputAudioTranscription?
23
+
24
+ def input_audio_transcription=: (
25
+ OpenAI::Realtime::RealtimeTranscriptionSessionInputAudioTranscription
26
+ ) -> OpenAI::Realtime::RealtimeTranscriptionSessionInputAudioTranscription
27
+
28
+ attr_reader modalities: ::Array[OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateResponse::modality]?
29
+
30
+ def modalities=: (
31
+ ::Array[OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateResponse::modality]
32
+ ) -> ::Array[OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateResponse::modality]
33
+
34
+ attr_reader turn_detection: OpenAI::Realtime::RealtimeTranscriptionSessionTurnDetection?
35
+
36
+ def turn_detection=: (
37
+ OpenAI::Realtime::RealtimeTranscriptionSessionTurnDetection
38
+ ) -> OpenAI::Realtime::RealtimeTranscriptionSessionTurnDetection
39
+
40
+ def initialize: (
41
+ client_secret: OpenAI::Realtime::RealtimeTranscriptionSessionClientSecret,
42
+ ?input_audio_format: String,
43
+ ?input_audio_transcription: OpenAI::Realtime::RealtimeTranscriptionSessionInputAudioTranscription,
44
+ ?modalities: ::Array[OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateResponse::modality],
45
+ ?turn_detection: OpenAI::Realtime::RealtimeTranscriptionSessionTurnDetection
46
+ ) -> void
47
+
48
+ def to_hash: -> {
49
+ client_secret: OpenAI::Realtime::RealtimeTranscriptionSessionClientSecret,
50
+ input_audio_format: String,
51
+ input_audio_transcription: OpenAI::Realtime::RealtimeTranscriptionSessionInputAudioTranscription,
52
+ modalities: ::Array[OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateResponse::modality],
53
+ turn_detection: OpenAI::Realtime::RealtimeTranscriptionSessionTurnDetection
54
+ }
55
+
56
+ type modality = :text | :audio
57
+
58
+ module Modality
59
+ extend OpenAI::Internal::Type::Enum
60
+
61
+ TEXT: :text
62
+ AUDIO: :audio
63
+
64
+ def self?.values: -> ::Array[OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateResponse::modality]
65
+ end
66
+ end
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,59 @@
1
+ module OpenAI
2
+ module Models
3
+ class RealtimeTranscriptionSessionInputAudioTranscription = Realtime::RealtimeTranscriptionSessionInputAudioTranscription
4
+
5
+ module Realtime
6
+ type realtime_transcription_session_input_audio_transcription =
7
+ {
8
+ language: String,
9
+ model: OpenAI::Models::Realtime::RealtimeTranscriptionSessionInputAudioTranscription::model,
10
+ prompt: String
11
+ }
12
+
13
+ class RealtimeTranscriptionSessionInputAudioTranscription < OpenAI::Internal::Type::BaseModel
14
+ attr_reader language: String?
15
+
16
+ def language=: (String) -> String
17
+
18
+ attr_reader model: OpenAI::Models::Realtime::RealtimeTranscriptionSessionInputAudioTranscription::model?
19
+
20
+ def model=: (
21
+ OpenAI::Models::Realtime::RealtimeTranscriptionSessionInputAudioTranscription::model
22
+ ) -> OpenAI::Models::Realtime::RealtimeTranscriptionSessionInputAudioTranscription::model
23
+
24
+ attr_reader prompt: String?
25
+
26
+ def prompt=: (String) -> String
27
+
28
+ def initialize: (
29
+ ?language: String,
30
+ ?model: OpenAI::Models::Realtime::RealtimeTranscriptionSessionInputAudioTranscription::model,
31
+ ?prompt: String
32
+ ) -> void
33
+
34
+ def to_hash: -> {
35
+ language: String,
36
+ model: OpenAI::Models::Realtime::RealtimeTranscriptionSessionInputAudioTranscription::model,
37
+ prompt: String
38
+ }
39
+
40
+ type model =
41
+ :"whisper-1"
42
+ | :"gpt-4o-transcribe-latest"
43
+ | :"gpt-4o-mini-transcribe"
44
+ | :"gpt-4o-transcribe"
45
+
46
+ module Model
47
+ extend OpenAI::Internal::Type::Enum
48
+
49
+ WHISPER_1: :"whisper-1"
50
+ GPT_4O_TRANSCRIBE_LATEST: :"gpt-4o-transcribe-latest"
51
+ GPT_4O_MINI_TRANSCRIBE: :"gpt-4o-mini-transcribe"
52
+ GPT_4O_TRANSCRIBE: :"gpt-4o-transcribe"
53
+
54
+ def self?.values: -> ::Array[OpenAI::Models::Realtime::RealtimeTranscriptionSessionInputAudioTranscription::model]
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end