openai 0.117.0 → 0.119.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 (154) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +23 -0
  3. data/README.md +1 -1
  4. data/lib/openai/client.rb +1 -1
  5. data/lib/openai/helpers/data_residency.rb +4 -1
  6. data/lib/openai/models/admin/organization/projects/project_optional_service_tier.rb +24 -0
  7. data/lib/openai/models/admin/organization/projects/project_service_tier_settings.rb +88 -0
  8. data/lib/openai/models/admin/organization/projects/service_tier_setting_retrieve_params.rb +29 -0
  9. data/lib/openai/models/admin/organization/projects/service_tier_setting_update_params.rb +92 -0
  10. data/lib/openai/models/all_models.rb +1 -0
  11. data/lib/openai/models/beta/beta_compacted_response.rb +34 -1
  12. data/lib/openai/models/beta/beta_response.rb +35 -1
  13. data/lib/openai/models/beta/beta_response_input_item.rb +45 -1
  14. data/lib/openai/models/beta/beta_response_item.rb +45 -1
  15. data/lib/openai/models/beta/beta_response_output_item.rb +45 -1
  16. data/lib/openai/models/beta/beta_response_tool_search_output_item_param.rb +186 -13
  17. data/lib/openai/models/beta/beta_response_usage.rb +33 -1
  18. data/lib/openai/models/beta/beta_responses_client_event.rb +58 -10
  19. data/lib/openai/models/beta/beta_tool.rb +164 -13
  20. data/lib/openai/models/beta/response_compact_params.rb +47 -4
  21. data/lib/openai/models/beta/response_create_params.rb +54 -10
  22. data/lib/openai/models/beta/session_turn_error.rb +3 -0
  23. data/lib/openai/models/chat/completion_create_params.rb +3 -3
  24. data/lib/openai/models/conversations/conversation_item.rb +45 -1
  25. data/lib/openai/models/image_edit_params.rb +72 -16
  26. data/lib/openai/models/image_generate_params.rb +160 -8
  27. data/lib/openai/models/image_model.rb +2 -0
  28. data/lib/openai/models/images_response.rb +55 -4
  29. data/lib/openai/models/realtime/realtime_audio_config_input.rb +14 -1
  30. data/lib/openai/models/realtime/realtime_session_create_response.rb +14 -1
  31. data/lib/openai/models/realtime/realtime_transcription_session_audio_input.rb +14 -1
  32. data/lib/openai/models/realtime/realtime_transcription_session_create_response.rb +14 -1
  33. data/lib/openai/models/realtime/realtime_translation_session.rb +14 -1
  34. data/lib/openai/models/realtime/realtime_translation_session_create_request.rb +14 -1
  35. data/lib/openai/models/realtime/realtime_translation_session_update_request.rb +14 -1
  36. data/lib/openai/models/responses/compacted_response.rb +37 -1
  37. data/lib/openai/models/responses/response.rb +35 -1
  38. data/lib/openai/models/responses/response_compact_params.rb +53 -4
  39. data/lib/openai/models/responses/response_create_params.rb +57 -10
  40. data/lib/openai/models/responses/response_input_item.rb +45 -1
  41. data/lib/openai/models/responses/response_item.rb +45 -1
  42. data/lib/openai/models/responses/response_output_item.rb +45 -1
  43. data/lib/openai/models/responses/response_tool_search_output_item_param.rb +186 -13
  44. data/lib/openai/models/responses/response_usage.rb +33 -1
  45. data/lib/openai/models/responses/responses_client_event.rb +58 -10
  46. data/lib/openai/models/responses/tool.rb +164 -13
  47. data/lib/openai/models/responses_model.rb +1 -0
  48. data/lib/openai/resources/admin/organization/projects/service_tier_settings.rb +77 -0
  49. data/lib/openai/resources/admin/organization/projects.rb +6 -0
  50. data/lib/openai/resources/admin/organization.rb +6 -6
  51. data/lib/openai/resources/beta/responses.rb +18 -9
  52. data/lib/openai/resources/chat/completions.rb +2 -2
  53. data/lib/openai/resources/images.rb +102 -18
  54. data/lib/openai/resources/responses.rb +15 -6
  55. data/lib/openai/version.rb +1 -1
  56. data/lib/openai.rb +5 -0
  57. data/rbi/openai/models/admin/organization/projects/project_optional_service_tier.rbi +45 -0
  58. data/rbi/openai/models/admin/organization/projects/project_service_tier_settings.rbi +143 -0
  59. data/rbi/openai/models/admin/organization/projects/service_tier_setting_retrieve_params.rbi +63 -0
  60. data/rbi/openai/models/admin/organization/projects/service_tier_setting_update_params.rbi +183 -0
  61. data/rbi/openai/models/all_models.rbi +1 -0
  62. data/rbi/openai/models/beta/beta_compacted_response.rbi +67 -1
  63. data/rbi/openai/models/beta/beta_response.rbi +63 -0
  64. data/rbi/openai/models/beta/beta_response_input_item.rbi +82 -1
  65. data/rbi/openai/models/beta/beta_response_item.rbi +82 -1
  66. data/rbi/openai/models/beta/beta_response_output_item.rbi +82 -1
  67. data/rbi/openai/models/beta/beta_response_tool_search_output_item_param.rbi +338 -13
  68. data/rbi/openai/models/beta/beta_response_usage.rbi +66 -3
  69. data/rbi/openai/models/beta/beta_responses_client_event.rbi +118 -9
  70. data/rbi/openai/models/beta/beta_tool.rbi +245 -13
  71. data/rbi/openai/models/beta/response_compact_params.rbi +84 -3
  72. data/rbi/openai/models/beta/response_create_params.rbi +91 -9
  73. data/rbi/openai/models/beta/session_turn_error.rbi +3 -0
  74. data/rbi/openai/models/chat/completion_create_params.rbi +3 -3
  75. data/rbi/openai/models/conversations/conversation_item.rbi +84 -1
  76. data/rbi/openai/models/image_edit_params.rbi +76 -14
  77. data/rbi/openai/models/image_generate_params.rbi +218 -6
  78. data/rbi/openai/models/image_model.rbi +2 -0
  79. data/rbi/openai/models/images_response.rbi +90 -3
  80. data/rbi/openai/models/realtime/realtime_audio_config_input.rbi +17 -1
  81. data/rbi/openai/models/realtime/realtime_session_create_response.rbi +17 -1
  82. data/rbi/openai/models/realtime/realtime_transcription_session_audio_input.rbi +17 -1
  83. data/rbi/openai/models/realtime/realtime_transcription_session_create_response.rbi +17 -1
  84. data/rbi/openai/models/realtime/realtime_translation_session.rbi +19 -3
  85. data/rbi/openai/models/realtime/realtime_translation_session_create_request.rbi +19 -3
  86. data/rbi/openai/models/realtime/realtime_translation_session_update_request.rbi +19 -3
  87. data/rbi/openai/models/responses/compacted_response.rbi +67 -1
  88. data/rbi/openai/models/responses/response.rbi +63 -0
  89. data/rbi/openai/models/responses/response_compact_params.rbi +91 -3
  90. data/rbi/openai/models/responses/response_create_params.rbi +97 -9
  91. data/rbi/openai/models/responses/response_input_item.rbi +82 -1
  92. data/rbi/openai/models/responses/response_item.rbi +82 -1
  93. data/rbi/openai/models/responses/response_output_item.rbi +82 -1
  94. data/rbi/openai/models/responses/response_tool_search_output_item_param.rbi +340 -13
  95. data/rbi/openai/models/responses/response_usage.rbi +66 -3
  96. data/rbi/openai/models/responses/responses_client_event.rbi +118 -9
  97. data/rbi/openai/models/responses/tool.rbi +248 -13
  98. data/rbi/openai/models/responses_model.rbi +1 -0
  99. data/rbi/openai/resources/admin/organization/projects/service_tier_settings.rbi +67 -0
  100. data/rbi/openai/resources/admin/organization/projects.rbi +3 -0
  101. data/rbi/openai/resources/admin/organization.rbi +3 -3
  102. data/rbi/openai/resources/beta/responses.rbi +15 -6
  103. data/rbi/openai/resources/chat/completions.rbi +2 -2
  104. data/rbi/openai/resources/images.rbi +98 -14
  105. data/rbi/openai/resources/responses.rbi +14 -3
  106. data/sig/openai/models/admin/organization/projects/project_optional_service_tier.rbs +23 -0
  107. data/sig/openai/models/admin/organization/projects/project_service_tier_settings.rbs +72 -0
  108. data/sig/openai/models/admin/organization/projects/service_tier_setting_retrieve_params.rbs +32 -0
  109. data/sig/openai/models/admin/organization/projects/service_tier_setting_update_params.rbs +91 -0
  110. data/sig/openai/models/all_models.rbs +2 -0
  111. data/sig/openai/models/beta/beta_compacted_response.rbs +42 -2
  112. data/sig/openai/models/beta/beta_response.rbs +42 -1
  113. data/sig/openai/models/beta/beta_response_input_item.rbs +51 -3
  114. data/sig/openai/models/beta/beta_response_item.rbs +51 -3
  115. data/sig/openai/models/beta/beta_response_output_item.rbs +51 -3
  116. data/sig/openai/models/beta/beta_response_tool_search_output_item_param.rbs +188 -15
  117. data/sig/openai/models/beta/beta_response_usage.rbs +40 -3
  118. data/sig/openai/models/beta/beta_responses_client_event.rbs +67 -10
  119. data/sig/openai/models/beta/beta_tool.rbs +188 -15
  120. data/sig/openai/models/beta/response_compact_params.rbs +58 -2
  121. data/sig/openai/models/beta/response_create_params.rbs +67 -10
  122. data/sig/openai/models/beta/session_turn_error.rbs +4 -0
  123. data/sig/openai/models/chat/completion_create_params.rbs +3 -3
  124. data/sig/openai/models/conversations/conversation_item.rbs +51 -3
  125. data/sig/openai/models/image_edit_params.rbs +63 -12
  126. data/sig/openai/models/image_generate_params.rbs +150 -5
  127. data/sig/openai/models/image_model.rbs +4 -0
  128. data/sig/openai/models/images_response.rbs +59 -4
  129. data/sig/openai/models/realtime/realtime_audio_config_input.rbs +20 -1
  130. data/sig/openai/models/realtime/realtime_session_create_response.rbs +20 -1
  131. data/sig/openai/models/realtime/realtime_transcription_session_audio_input.rbs +20 -1
  132. data/sig/openai/models/realtime/realtime_transcription_session_create_response.rbs +20 -1
  133. data/sig/openai/models/realtime/realtime_translation_session.rbs +22 -3
  134. data/sig/openai/models/realtime/realtime_translation_session_create_request.rbs +22 -3
  135. data/sig/openai/models/realtime/realtime_translation_session_update_request.rbs +22 -3
  136. data/sig/openai/models/responses/compacted_response.rbs +42 -2
  137. data/sig/openai/models/responses/response.rbs +42 -1
  138. data/sig/openai/models/responses/response_compact_params.rbs +60 -2
  139. data/sig/openai/models/responses/response_create_params.rbs +67 -10
  140. data/sig/openai/models/responses/response_input_item.rbs +51 -3
  141. data/sig/openai/models/responses/response_item.rbs +51 -3
  142. data/sig/openai/models/responses/response_output_item.rbs +51 -3
  143. data/sig/openai/models/responses/response_tool_search_output_item_param.rbs +188 -15
  144. data/sig/openai/models/responses/response_usage.rbs +40 -3
  145. data/sig/openai/models/responses/responses_client_event.rbs +67 -10
  146. data/sig/openai/models/responses/tool.rbs +188 -15
  147. data/sig/openai/models/responses_model.rbs +2 -0
  148. data/sig/openai/resources/admin/organization/projects/service_tier_settings.rbs +25 -0
  149. data/sig/openai/resources/admin/organization/projects.rbs +2 -0
  150. data/sig/openai/resources/admin/organization.rbs +2 -2
  151. data/sig/openai/resources/beta/responses.rbs +3 -0
  152. data/sig/openai/resources/images.rbs +14 -0
  153. data/sig/openai/resources/responses.rbs +4 -0
  154. metadata +16 -1
@@ -9,6 +9,7 @@ module OpenAI
9
9
  ?quality: OpenAI::Models::ImagesResponse::quality,
10
10
  ?safety_identifier: String?,
11
11
  ?size: OpenAI::Models::ImagesResponse::size,
12
+ ?svg_usage: OpenAI::ImagesResponse::SvgUsage,
12
13
  ?usage: OpenAI::ImagesResponse::Usage
13
14
  }
14
15
 
@@ -32,10 +33,10 @@ module OpenAI
32
33
  # The list of generated images.
33
34
  def data=: (::Array[OpenAI::Image]) -> ::Array[OpenAI::Image]
34
35
 
35
- # The output format of the image generation. Either `png`, `webp`, or `jpeg`.
36
+ # The output format of the generated image.
36
37
  attr_reader output_format: OpenAI::Models::ImagesResponse::output_format?
37
38
 
38
- # The output format of the image generation. Either `png`, `webp`, or `jpeg`.
39
+ # The output format of the generated image.
39
40
  def output_format=: (
40
41
  OpenAI::Models::ImagesResponse::output_format
41
42
  ) -> OpenAI::Models::ImagesResponse::output_format
@@ -63,6 +64,16 @@ module OpenAI
63
64
  OpenAI::Models::ImagesResponse::size
64
65
  ) -> OpenAI::Models::ImagesResponse::size
65
66
 
67
+ # Token usage for the model that authored the SVG, separate from image rendering
68
+ # usage.
69
+ attr_reader svg_usage: OpenAI::ImagesResponse::SvgUsage?
70
+
71
+ # Token usage for the model that authored the SVG, separate from image rendering
72
+ # usage.
73
+ def svg_usage=: (
74
+ OpenAI::ImagesResponse::SvgUsage
75
+ ) -> OpenAI::ImagesResponse::SvgUsage
76
+
66
77
  # For `gpt-image-1` only, the token usage information for the image generation.
67
78
  attr_reader usage: OpenAI::ImagesResponse::Usage?
68
79
 
@@ -79,7 +90,7 @@ module OpenAI
79
90
  # @param data
80
91
  # The list of generated images.
81
92
  # @param output_format
82
- # The output format of the image generation. Either `png`, `webp`, or `jpeg`.
93
+ # The output format of the generated image.
83
94
  # @param quality
84
95
  # The quality of the image generated. One of `low`, `medium`, `high`, `xhigh`, or
85
96
  # `max`.
@@ -89,6 +100,9 @@ module OpenAI
89
100
  # `user` value when `safety_identifier` is omitted, null, or empty.
90
101
  # @param size
91
102
  # The image dimensions as a `WIDTHxHEIGHT` string, for example `1536x864`.
103
+ # @param svg_usage
104
+ # Token usage for the model that authored the SVG, separate from image rendering
105
+ # usage.
92
106
  # @param usage
93
107
  # For `gpt-image-1` only, the token usage information for the image generation.
94
108
  def initialize: (
@@ -99,6 +113,7 @@ module OpenAI
99
113
  ?quality: OpenAI::Models::ImagesResponse::quality,
100
114
  ?safety_identifier: String?,
101
115
  ?size: OpenAI::Models::ImagesResponse::size,
116
+ ?svg_usage: OpenAI::ImagesResponse::SvgUsage,
102
117
  ?usage: OpenAI::ImagesResponse::Usage
103
118
  ) -> void
104
119
 
@@ -110,6 +125,7 @@ module OpenAI
110
125
  ?quality: OpenAI::Models::ImagesResponse::quality,
111
126
  ?safety_identifier: String?,
112
127
  ?size: OpenAI::Models::ImagesResponse::size,
128
+ ?svg_usage: OpenAI::ImagesResponse::SvgUsage,
113
129
  ?usage: OpenAI::ImagesResponse::Usage
114
130
  }
115
131
 
@@ -124,7 +140,7 @@ module OpenAI
124
140
  def self?.values: -> ::Array[OpenAI::Models::ImagesResponse::background]
125
141
  end
126
142
 
127
- type output_format = :png | :webp | :jpeg
143
+ type output_format = :png | :webp | :jpeg | :gif | :svg
128
144
 
129
145
  module OutputFormat
130
146
  extend OpenAI::Internal::Type::Enum
@@ -132,6 +148,8 @@ module OpenAI
132
148
  PNG: :png
133
149
  WEBP: :webp
134
150
  JPEG: :jpeg
151
+ GIF: :gif
152
+ SVG: :svg
135
153
 
136
154
  def self?.values: -> ::Array[OpenAI::Models::ImagesResponse::output_format]
137
155
  end
@@ -166,6 +184,43 @@ module OpenAI
166
184
  | :"1536x1024")]
167
185
  end
168
186
 
187
+ type svg_usage =
188
+ {
189
+ input_tokens: Integer,
190
+ model: String,
191
+ output_tokens: Integer,
192
+ reasoning_tokens: Integer,
193
+ total_tokens: Integer
194
+ }
195
+
196
+ class SvgUsage < OpenAI::Internal::Type::BaseModel
197
+ attr_accessor input_tokens: Integer
198
+
199
+ attr_accessor model: String
200
+
201
+ attr_accessor output_tokens: Integer
202
+
203
+ attr_accessor reasoning_tokens: Integer
204
+
205
+ attr_accessor total_tokens: Integer
206
+
207
+ def initialize: (
208
+ input_tokens: Integer,
209
+ model: String,
210
+ output_tokens: Integer,
211
+ reasoning_tokens: Integer,
212
+ total_tokens: Integer
213
+ ) -> void
214
+
215
+ def to_hash: -> {
216
+ input_tokens: Integer,
217
+ model: String,
218
+ output_tokens: Integer,
219
+ reasoning_tokens: Integer,
220
+ total_tokens: Integer
221
+ }
222
+ end
223
+
169
224
  type usage =
170
225
  {
171
226
  input_tokens: Integer,
@@ -123,9 +123,22 @@ module OpenAI
123
123
  }
124
124
 
125
125
  type noise_reduction =
126
- { ?type: OpenAI::Models::Realtime::noise_reduction_type }
126
+ {
127
+ ?strength: Float,
128
+ ?type: OpenAI::Models::Realtime::noise_reduction_type
129
+ }
127
130
 
128
131
  class NoiseReduction < OpenAI::Internal::Type::BaseModel
132
+ # Input noise suppression strength. Higher values apply more suppression. Defaults
133
+ # to 1 when noise reduction is first enabled. Omitting strength from a session
134
+ # update preserves the current strength.
135
+ attr_reader strength: Float?
136
+
137
+ # Input noise suppression strength. Higher values apply more suppression. Defaults
138
+ # to 1 when noise reduction is first enabled. Omitting strength from a session
139
+ # update preserves the current strength.
140
+ def strength=: (Float) -> Float
141
+
129
142
  # Type of noise reduction. `near_field` is for close-talking microphones such as
130
143
  # headphones, `far_field` is for far-field microphones such as laptop or
131
144
  # conference room microphones.
@@ -138,15 +151,21 @@ module OpenAI
138
151
  OpenAI::Models::Realtime::noise_reduction_type
139
152
  ) -> OpenAI::Models::Realtime::noise_reduction_type
140
153
 
154
+ # @param strength
155
+ # Input noise suppression strength. Higher values apply more suppression. Defaults
156
+ # to 1 when noise reduction is first enabled. Omitting strength from a session
157
+ # update preserves the current strength.
141
158
  # @param type
142
159
  # Type of noise reduction. `near_field` is for close-talking microphones such as
143
160
  # headphones, `far_field` is for far-field microphones such as laptop or
144
161
  # conference room microphones.
145
162
  def initialize: (
163
+ ?strength: Float,
146
164
  ?type: OpenAI::Models::Realtime::noise_reduction_type
147
165
  ) -> void
148
166
 
149
167
  def to_hash: -> {
168
+ ?strength: Float,
150
169
  ?type: OpenAI::Models::Realtime::noise_reduction_type
151
170
  }
152
171
  end
@@ -441,9 +441,22 @@ module OpenAI
441
441
  }
442
442
 
443
443
  type noise_reduction =
444
- { ?type: OpenAI::Models::Realtime::noise_reduction_type }
444
+ {
445
+ ?strength: Float,
446
+ ?type: OpenAI::Models::Realtime::noise_reduction_type
447
+ }
445
448
 
446
449
  class NoiseReduction < OpenAI::Internal::Type::BaseModel
450
+ # Input noise suppression strength. Higher values apply more suppression. Defaults
451
+ # to 1 when noise reduction is first enabled. Omitting strength from a session
452
+ # update preserves the current strength.
453
+ attr_reader strength: Float?
454
+
455
+ # Input noise suppression strength. Higher values apply more suppression. Defaults
456
+ # to 1 when noise reduction is first enabled. Omitting strength from a session
457
+ # update preserves the current strength.
458
+ def strength=: (Float) -> Float
459
+
447
460
  # Type of noise reduction. `near_field` is for close-talking microphones such as
448
461
  # headphones, `far_field` is for far-field microphones such as laptop or
449
462
  # conference room microphones.
@@ -456,15 +469,21 @@ module OpenAI
456
469
  OpenAI::Models::Realtime::noise_reduction_type
457
470
  ) -> OpenAI::Models::Realtime::noise_reduction_type
458
471
 
472
+ # @param strength
473
+ # Input noise suppression strength. Higher values apply more suppression. Defaults
474
+ # to 1 when noise reduction is first enabled. Omitting strength from a session
475
+ # update preserves the current strength.
459
476
  # @param type
460
477
  # Type of noise reduction. `near_field` is for close-talking microphones such as
461
478
  # headphones, `far_field` is for far-field microphones such as laptop or
462
479
  # conference room microphones.
463
480
  def initialize: (
481
+ ?strength: Float,
464
482
  ?type: OpenAI::Models::Realtime::noise_reduction_type
465
483
  ) -> void
466
484
 
467
485
  def to_hash: -> {
486
+ ?strength: Float,
468
487
  ?type: OpenAI::Models::Realtime::noise_reduction_type
469
488
  }
470
489
  end
@@ -123,9 +123,22 @@ module OpenAI
123
123
  }
124
124
 
125
125
  type noise_reduction =
126
- { ?type: OpenAI::Models::Realtime::noise_reduction_type }
126
+ {
127
+ ?strength: Float,
128
+ ?type: OpenAI::Models::Realtime::noise_reduction_type
129
+ }
127
130
 
128
131
  class NoiseReduction < OpenAI::Internal::Type::BaseModel
132
+ # Input noise suppression strength. Higher values apply more suppression. Defaults
133
+ # to 1 when noise reduction is first enabled. Omitting strength from a session
134
+ # update preserves the current strength.
135
+ attr_reader strength: Float?
136
+
137
+ # Input noise suppression strength. Higher values apply more suppression. Defaults
138
+ # to 1 when noise reduction is first enabled. Omitting strength from a session
139
+ # update preserves the current strength.
140
+ def strength=: (Float) -> Float
141
+
129
142
  # Type of noise reduction. `near_field` is for close-talking microphones such as
130
143
  # headphones, `far_field` is for far-field microphones such as laptop or
131
144
  # conference room microphones.
@@ -138,15 +151,21 @@ module OpenAI
138
151
  OpenAI::Models::Realtime::noise_reduction_type
139
152
  ) -> OpenAI::Models::Realtime::noise_reduction_type
140
153
 
154
+ # @param strength
155
+ # Input noise suppression strength. Higher values apply more suppression. Defaults
156
+ # to 1 when noise reduction is first enabled. Omitting strength from a session
157
+ # update preserves the current strength.
141
158
  # @param type
142
159
  # Type of noise reduction. `near_field` is for close-talking microphones such as
143
160
  # headphones, `far_field` is for far-field microphones such as laptop or
144
161
  # conference room microphones.
145
162
  def initialize: (
163
+ ?strength: Float,
146
164
  ?type: OpenAI::Models::Realtime::noise_reduction_type
147
165
  ) -> void
148
166
 
149
167
  def to_hash: -> {
168
+ ?strength: Float,
150
169
  ?type: OpenAI::Models::Realtime::noise_reduction_type
151
170
  }
152
171
  end
@@ -165,9 +165,22 @@ module OpenAI
165
165
  }
166
166
 
167
167
  type noise_reduction =
168
- { ?type: OpenAI::Models::Realtime::noise_reduction_type }
168
+ {
169
+ ?strength: Float,
170
+ ?type: OpenAI::Models::Realtime::noise_reduction_type
171
+ }
169
172
 
170
173
  class NoiseReduction < OpenAI::Internal::Type::BaseModel
174
+ # Input noise suppression strength. Higher values apply more suppression. Defaults
175
+ # to 1 when noise reduction is first enabled. Omitting strength from a session
176
+ # update preserves the current strength.
177
+ attr_reader strength: Float?
178
+
179
+ # Input noise suppression strength. Higher values apply more suppression. Defaults
180
+ # to 1 when noise reduction is first enabled. Omitting strength from a session
181
+ # update preserves the current strength.
182
+ def strength=: (Float) -> Float
183
+
171
184
  # Type of noise reduction. `near_field` is for close-talking microphones such as
172
185
  # headphones, `far_field` is for far-field microphones such as laptop or
173
186
  # conference room microphones.
@@ -180,15 +193,21 @@ module OpenAI
180
193
  OpenAI::Models::Realtime::noise_reduction_type
181
194
  ) -> OpenAI::Models::Realtime::noise_reduction_type
182
195
 
196
+ # @param strength
197
+ # Input noise suppression strength. Higher values apply more suppression. Defaults
198
+ # to 1 when noise reduction is first enabled. Omitting strength from a session
199
+ # update preserves the current strength.
183
200
  # @param type
184
201
  # Type of noise reduction. `near_field` is for close-talking microphones such as
185
202
  # headphones, `far_field` is for far-field microphones such as laptop or
186
203
  # conference room microphones.
187
204
  def initialize: (
205
+ ?strength: Float,
188
206
  ?type: OpenAI::Models::Realtime::noise_reduction_type
189
207
  ) -> void
190
208
 
191
209
  def to_hash: -> {
210
+ ?strength: Float,
192
211
  ?type: OpenAI::Models::Realtime::noise_reduction_type
193
212
  }
194
213
  end
@@ -115,7 +115,10 @@ module OpenAI
115
115
  }
116
116
 
117
117
  type noise_reduction =
118
- { type: OpenAI::Models::Realtime::noise_reduction_type }
118
+ {
119
+ type: OpenAI::Models::Realtime::noise_reduction_type,
120
+ ?strength: Float
121
+ }
119
122
 
120
123
  class NoiseReduction < OpenAI::Internal::Type::BaseModel
121
124
  # Type of noise reduction. `near_field` is for close-talking microphones such as
@@ -123,16 +126,32 @@ module OpenAI
123
126
  # conference room microphones.
124
127
  attr_accessor type: OpenAI::Models::Realtime::noise_reduction_type
125
128
 
129
+ # Input noise suppression strength. Higher values apply more suppression. Defaults
130
+ # to 1 when noise reduction is first enabled. Omitting strength from a session
131
+ # update preserves the current strength.
132
+ attr_reader strength: Float?
133
+
134
+ # Input noise suppression strength. Higher values apply more suppression. Defaults
135
+ # to 1 when noise reduction is first enabled. Omitting strength from a session
136
+ # update preserves the current strength.
137
+ def strength=: (Float) -> Float
138
+
126
139
  # @param type
127
140
  # Type of noise reduction. `near_field` is for close-talking microphones such as
128
141
  # headphones, `far_field` is for far-field microphones such as laptop or
129
142
  # conference room microphones.
143
+ # @param strength
144
+ # Input noise suppression strength. Higher values apply more suppression. Defaults
145
+ # to 1 when noise reduction is first enabled. Omitting strength from a session
146
+ # update preserves the current strength.
130
147
  def initialize: (
131
- type: OpenAI::Models::Realtime::noise_reduction_type
148
+ type: OpenAI::Models::Realtime::noise_reduction_type,
149
+ ?strength: Float
132
150
  ) -> void
133
151
 
134
152
  def to_hash: -> {
135
- type: OpenAI::Models::Realtime::noise_reduction_type
153
+ type: OpenAI::Models::Realtime::noise_reduction_type,
154
+ ?strength: Float
136
155
  }
137
156
  end
138
157
 
@@ -94,7 +94,10 @@ module OpenAI
94
94
  }
95
95
 
96
96
  type noise_reduction =
97
- { type: OpenAI::Models::Realtime::noise_reduction_type }
97
+ {
98
+ type: OpenAI::Models::Realtime::noise_reduction_type,
99
+ ?strength: Float
100
+ }
98
101
 
99
102
  class NoiseReduction < OpenAI::Internal::Type::BaseModel
100
103
  # Type of noise reduction. `near_field` is for close-talking microphones such as
@@ -102,16 +105,32 @@ module OpenAI
102
105
  # conference room microphones.
103
106
  attr_accessor type: OpenAI::Models::Realtime::noise_reduction_type
104
107
 
108
+ # Input noise suppression strength. Higher values apply more suppression. Defaults
109
+ # to 1 when noise reduction is first enabled. Omitting strength from a session
110
+ # update preserves the current strength.
111
+ attr_reader strength: Float?
112
+
113
+ # Input noise suppression strength. Higher values apply more suppression. Defaults
114
+ # to 1 when noise reduction is first enabled. Omitting strength from a session
115
+ # update preserves the current strength.
116
+ def strength=: (Float) -> Float
117
+
105
118
  # @param type
106
119
  # Type of noise reduction. `near_field` is for close-talking microphones such as
107
120
  # headphones, `far_field` is for far-field microphones such as laptop or
108
121
  # conference room microphones.
122
+ # @param strength
123
+ # Input noise suppression strength. Higher values apply more suppression. Defaults
124
+ # to 1 when noise reduction is first enabled. Omitting strength from a session
125
+ # update preserves the current strength.
109
126
  def initialize: (
110
- type: OpenAI::Models::Realtime::noise_reduction_type
127
+ type: OpenAI::Models::Realtime::noise_reduction_type,
128
+ ?strength: Float
111
129
  ) -> void
112
130
 
113
131
  def to_hash: -> {
114
- type: OpenAI::Models::Realtime::noise_reduction_type
132
+ type: OpenAI::Models::Realtime::noise_reduction_type,
133
+ ?strength: Float
115
134
  }
116
135
  end
117
136
 
@@ -86,7 +86,10 @@ module OpenAI
86
86
  }
87
87
 
88
88
  type noise_reduction =
89
- { type: OpenAI::Models::Realtime::noise_reduction_type }
89
+ {
90
+ type: OpenAI::Models::Realtime::noise_reduction_type,
91
+ ?strength: Float
92
+ }
90
93
 
91
94
  class NoiseReduction < OpenAI::Internal::Type::BaseModel
92
95
  # Type of noise reduction. `near_field` is for close-talking microphones such as
@@ -94,16 +97,32 @@ module OpenAI
94
97
  # conference room microphones.
95
98
  attr_accessor type: OpenAI::Models::Realtime::noise_reduction_type
96
99
 
100
+ # Input noise suppression strength. Higher values apply more suppression. Defaults
101
+ # to 1 when noise reduction is first enabled. Omitting strength from a session
102
+ # update preserves the current strength.
103
+ attr_reader strength: Float?
104
+
105
+ # Input noise suppression strength. Higher values apply more suppression. Defaults
106
+ # to 1 when noise reduction is first enabled. Omitting strength from a session
107
+ # update preserves the current strength.
108
+ def strength=: (Float) -> Float
109
+
97
110
  # @param type
98
111
  # Type of noise reduction. `near_field` is for close-talking microphones such as
99
112
  # headphones, `far_field` is for far-field microphones such as laptop or
100
113
  # conference room microphones.
114
+ # @param strength
115
+ # Input noise suppression strength. Higher values apply more suppression. Defaults
116
+ # to 1 when noise reduction is first enabled. Omitting strength from a session
117
+ # update preserves the current strength.
101
118
  def initialize: (
102
- type: OpenAI::Models::Realtime::noise_reduction_type
119
+ type: OpenAI::Models::Realtime::noise_reduction_type,
120
+ ?strength: Float
103
121
  ) -> void
104
122
 
105
123
  def to_hash: -> {
106
- type: OpenAI::Models::Realtime::noise_reduction_type
124
+ type: OpenAI::Models::Realtime::noise_reduction_type,
125
+ ?strength: Float
107
126
  }
108
127
  end
109
128
 
@@ -7,7 +7,8 @@ module OpenAI
7
7
  created_at: Integer,
8
8
  ?object: :"response.compaction",
9
9
  output: ::Array[OpenAI::Models::Responses::response_output_item],
10
- usage: OpenAI::Responses::ResponseUsage
10
+ usage: OpenAI::Responses::ResponseUsage,
11
+ ?image: OpenAI::Responses::CompactedResponse::Image
11
12
  }
12
13
 
13
14
  class CompactedResponse < OpenAI::Internal::Type::BaseModel
@@ -28,6 +29,12 @@ module OpenAI
28
29
  # tokens.
29
30
  attr_accessor usage: OpenAI::Responses::ResponseUsage
30
31
 
32
+ attr_reader image: OpenAI::Responses::CompactedResponse::Image?
33
+
34
+ def image=: (
35
+ OpenAI::Responses::CompactedResponse::Image
36
+ ) -> OpenAI::Responses::CompactedResponse::Image
37
+
31
38
  # @param id
32
39
  # The unique identifier for the compacted response.
33
40
  # @param created_at
@@ -45,6 +52,7 @@ module OpenAI
45
52
  created_at: Integer,
46
53
  output: ::Array[OpenAI::Models::Responses::response_output_item],
47
54
  usage: OpenAI::Responses::ResponseUsage,
55
+ ?image: OpenAI::Responses::CompactedResponse::Image,
48
56
  ?object: :"response.compaction"
49
57
  ) -> void
50
58
 
@@ -53,8 +61,40 @@ module OpenAI
53
61
  created_at: Integer,
54
62
  ?object: :"response.compaction",
55
63
  output: ::Array[OpenAI::Models::Responses::response_output_item],
56
- usage: OpenAI::Responses::ResponseUsage
64
+ usage: OpenAI::Responses::ResponseUsage,
65
+ ?image: OpenAI::Responses::CompactedResponse::Image
57
66
  }
67
+
68
+ type image =
69
+ {
70
+ context_compression: OpenAI::Models::Responses::CompactedResponse::Image::context_compression
71
+ }
72
+
73
+ class Image < OpenAI::Internal::Type::BaseModel
74
+ # Effective image context optimization policy.
75
+ attr_accessor context_compression: OpenAI::Models::Responses::CompactedResponse::Image::context_compression
76
+
77
+ # @param context_compression
78
+ # Effective image context optimization policy.
79
+ def initialize: (
80
+ context_compression: OpenAI::Models::Responses::CompactedResponse::Image::context_compression
81
+ ) -> void
82
+
83
+ def to_hash: -> {
84
+ context_compression: OpenAI::Models::Responses::CompactedResponse::Image::context_compression
85
+ }
86
+
87
+ type context_compression = :enabled | :disabled
88
+
89
+ module ContextCompression
90
+ extend OpenAI::Internal::Type::Enum
91
+
92
+ ENABLED: :enabled
93
+ DISABLED: :disabled
94
+
95
+ def self?.values: -> ::Array[OpenAI::Models::Responses::CompactedResponse::Image::context_compression]
96
+ end
97
+ end
58
98
  end
59
99
  end
60
100
  end
@@ -21,6 +21,7 @@ module OpenAI
21
21
  ?background: bool?,
22
22
  ?completed_at: Float?,
23
23
  ?conversation: OpenAI::Responses::Response::Conversation?,
24
+ ?image: OpenAI::Responses::Response::Image,
24
25
  ?max_output_tokens: Integer?,
25
26
  ?max_tool_calls: Integer?,
26
27
  ?moderation: OpenAI::Responses::Response::Moderation?,
@@ -146,6 +147,12 @@ module OpenAI
146
147
  # from this response were automatically added to this conversation.
147
148
  attr_accessor conversation: OpenAI::Responses::Response::Conversation?
148
149
 
150
+ attr_reader image: OpenAI::Responses::Response::Image?
151
+
152
+ def image=: (
153
+ OpenAI::Responses::Response::Image
154
+ ) -> OpenAI::Responses::Response::Image
155
+
149
156
  # An upper bound for the number of tokens that can be generated for a response,
150
157
  # including visible output tokens and
151
158
  # [reasoning tokens](https://developers.openai.com/api/docs/guides/reasoning).
@@ -576,6 +583,7 @@ module OpenAI
576
583
  ?background: bool?,
577
584
  ?completed_at: Float?,
578
585
  ?conversation: OpenAI::Responses::Response::Conversation?,
586
+ ?image: OpenAI::Responses::Response::Image,
579
587
  ?max_output_tokens: Integer?,
580
588
  ?max_tool_calls: Integer?,
581
589
  ?moderation: OpenAI::Responses::Response::Moderation?,
@@ -617,6 +625,7 @@ module OpenAI
617
625
  ?background: bool?,
618
626
  ?completed_at: Float?,
619
627
  ?conversation: OpenAI::Responses::Response::Conversation?,
628
+ ?image: OpenAI::Responses::Response::Image,
620
629
  ?max_output_tokens: Integer?,
621
630
  ?max_tool_calls: Integer?,
622
631
  ?moderation: OpenAI::Responses::Response::Moderation?,
@@ -768,6 +777,37 @@ module OpenAI
768
777
  def to_hash: -> { id: String }
769
778
  end
770
779
 
780
+ type image =
781
+ {
782
+ context_compression: OpenAI::Models::Responses::Response::Image::context_compression
783
+ }
784
+
785
+ class Image < OpenAI::Internal::Type::BaseModel
786
+ # Effective image context optimization policy.
787
+ attr_accessor context_compression: OpenAI::Models::Responses::Response::Image::context_compression
788
+
789
+ # @param context_compression
790
+ # Effective image context optimization policy.
791
+ def initialize: (
792
+ context_compression: OpenAI::Models::Responses::Response::Image::context_compression
793
+ ) -> void
794
+
795
+ def to_hash: -> {
796
+ context_compression: OpenAI::Models::Responses::Response::Image::context_compression
797
+ }
798
+
799
+ type context_compression = :enabled | :disabled
800
+
801
+ module ContextCompression
802
+ extend OpenAI::Internal::Type::Enum
803
+
804
+ ENABLED: :enabled
805
+ DISABLED: :disabled
806
+
807
+ def self?.values: -> ::Array[OpenAI::Models::Responses::Response::Image::context_compression]
808
+ end
809
+ end
810
+
771
811
  type moderation =
772
812
  {
773
813
  input: OpenAI::Models::Responses::Response::Moderation::input,
@@ -1182,12 +1222,13 @@ module OpenAI
1182
1222
  def self?.values: -> ::Array[OpenAI::Models::Responses::Response::PromptCacheOptions::mode]
1183
1223
  end
1184
1224
 
1185
- type ttl = :"30m"
1225
+ type ttl = :"30m" | :"12h"
1186
1226
 
1187
1227
  module Ttl
1188
1228
  extend OpenAI::Internal::Type::Enum
1189
1229
 
1190
1230
  TTL_30M: :"30m"
1231
+ TTL_12H: :"12h"
1191
1232
 
1192
1233
  def self?.values: -> ::Array[OpenAI::Models::Responses::Response::PromptCacheOptions::ttl]
1193
1234
  end