openai 0.28.1 → 0.30.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 (196) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -0
  3. data/README.md +1 -1
  4. data/lib/openai/client.rb +4 -0
  5. data/lib/openai/internal/conversation_cursor_page.rb +2 -2
  6. data/lib/openai/models/all_models.rb +2 -0
  7. data/lib/openai/models/beta/chatkit/chat_session.rb +94 -0
  8. data/lib/openai/models/beta/chatkit/chat_session_automatic_thread_titling.rb +22 -0
  9. data/lib/openai/models/beta/chatkit/chat_session_chatkit_configuration.rb +38 -0
  10. data/lib/openai/models/beta/chatkit/chat_session_chatkit_configuration_param.rb +125 -0
  11. data/lib/openai/models/beta/chatkit/chat_session_expires_after_param.rb +30 -0
  12. data/lib/openai/models/beta/chatkit/chat_session_file_upload.rb +38 -0
  13. data/lib/openai/models/beta/chatkit/chat_session_history.rb +34 -0
  14. data/lib/openai/models/beta/chatkit/chat_session_rate_limits.rb +22 -0
  15. data/lib/openai/models/beta/chatkit/chat_session_rate_limits_param.rb +22 -0
  16. data/lib/openai/models/beta/chatkit/chat_session_status.rb +20 -0
  17. data/lib/openai/models/beta/chatkit/chat_session_workflow_param.rb +80 -0
  18. data/lib/openai/models/beta/chatkit/chatkit_attachment.rb +69 -0
  19. data/lib/openai/models/beta/chatkit/chatkit_response_output_text.rb +143 -0
  20. data/lib/openai/models/beta/chatkit/chatkit_thread.rb +145 -0
  21. data/lib/openai/models/beta/chatkit/chatkit_thread_assistant_message_item.rb +65 -0
  22. data/lib/openai/models/beta/chatkit/chatkit_thread_item_list.rb +374 -0
  23. data/lib/openai/models/beta/chatkit/chatkit_thread_user_message_item.rb +183 -0
  24. data/lib/openai/models/beta/chatkit/chatkit_widget_item.rb +64 -0
  25. data/lib/openai/models/beta/chatkit/session_cancel_params.rb +18 -0
  26. data/lib/openai/models/beta/chatkit/session_create_params.rb +63 -0
  27. data/lib/openai/models/beta/chatkit/thread_delete_params.rb +18 -0
  28. data/lib/openai/models/beta/chatkit/thread_delete_response.rb +39 -0
  29. data/lib/openai/models/beta/chatkit/thread_list_items_params.rb +66 -0
  30. data/lib/openai/models/beta/chatkit/thread_list_params.rb +75 -0
  31. data/lib/openai/models/beta/chatkit/thread_retrieve_params.rb +18 -0
  32. data/lib/openai/models/beta/chatkit_upload_file_params.rb +28 -0
  33. data/lib/openai/models/beta/chatkit_upload_file_response.rb +25 -0
  34. data/lib/openai/models/beta/chatkit_workflow.rb +78 -0
  35. data/lib/openai/models/beta/file_part.rb +56 -0
  36. data/lib/openai/models/beta/image_part.rb +64 -0
  37. data/lib/openai/models/image_edit_params.rb +4 -2
  38. data/lib/openai/models/image_model.rb +1 -0
  39. data/lib/openai/models/realtime/call_accept_params.rb +16 -0
  40. data/lib/openai/models/realtime/call_hangup_params.rb +16 -0
  41. data/lib/openai/models/realtime/call_refer_params.rb +28 -0
  42. data/lib/openai/models/realtime/call_reject_params.rb +28 -0
  43. data/lib/openai/models/realtime/realtime_session.rb +4 -0
  44. data/lib/openai/models/realtime/realtime_session_create_request.rb +12 -0
  45. data/lib/openai/models/realtime/realtime_session_create_response.rb +12 -0
  46. data/lib/openai/models/responses/tool.rb +5 -2
  47. data/lib/openai/models/responses_model.rb +2 -0
  48. data/lib/openai/models/video.rb +122 -0
  49. data/lib/openai/models/video_create_error.rb +21 -0
  50. data/lib/openai/models/video_create_params.rb +54 -0
  51. data/lib/openai/models/video_delete_params.rb +14 -0
  52. data/lib/openai/models/video_delete_response.rb +35 -0
  53. data/lib/openai/models/video_download_content_params.rb +34 -0
  54. data/lib/openai/models/video_list_params.rb +54 -0
  55. data/lib/openai/models/video_model.rb +15 -0
  56. data/lib/openai/models/video_remix_params.rb +22 -0
  57. data/lib/openai/models/video_retrieve_params.rb +14 -0
  58. data/lib/openai/models/video_seconds.rb +16 -0
  59. data/lib/openai/models/video_size.rb +17 -0
  60. data/lib/openai/models.rb +22 -0
  61. data/lib/openai/resources/beta/chatkit/sessions.rb +71 -0
  62. data/lib/openai/resources/beta/chatkit/threads.rb +126 -0
  63. data/lib/openai/resources/beta/chatkit.rb +50 -0
  64. data/lib/openai/resources/beta.rb +4 -0
  65. data/lib/openai/resources/realtime/calls.rb +143 -0
  66. data/lib/openai/resources/realtime.rb +4 -0
  67. data/lib/openai/resources/videos.rb +165 -0
  68. data/lib/openai/version.rb +1 -1
  69. data/lib/openai.rb +52 -1
  70. data/rbi/openai/client.rbi +3 -0
  71. data/rbi/openai/models/all_models.rbi +10 -0
  72. data/rbi/openai/models/beta/chatkit/chat_session.rbi +141 -0
  73. data/rbi/openai/models/beta/chatkit/chat_session_automatic_thread_titling.rbi +35 -0
  74. data/rbi/openai/models/beta/chatkit/chat_session_chatkit_configuration.rbi +87 -0
  75. data/rbi/openai/models/beta/chatkit/chat_session_chatkit_configuration_param.rbi +256 -0
  76. data/rbi/openai/models/beta/chatkit/chat_session_expires_after_param.rbi +43 -0
  77. data/rbi/openai/models/beta/chatkit/chat_session_file_upload.rbi +61 -0
  78. data/rbi/openai/models/beta/chatkit/chat_session_history.rbi +52 -0
  79. data/rbi/openai/models/beta/chatkit/chat_session_rate_limits.rbi +37 -0
  80. data/rbi/openai/models/beta/chatkit/chat_session_rate_limits_param.rbi +40 -0
  81. data/rbi/openai/models/beta/chatkit/chat_session_status.rbi +43 -0
  82. data/rbi/openai/models/beta/chatkit/chat_session_workflow_param.rbi +166 -0
  83. data/rbi/openai/models/beta/chatkit/chatkit_attachment.rbi +116 -0
  84. data/rbi/openai/models/beta/chatkit/chatkit_response_output_text.rbi +287 -0
  85. data/rbi/openai/models/beta/chatkit/chatkit_thread.rbi +220 -0
  86. data/rbi/openai/models/beta/chatkit/chatkit_thread_assistant_message_item.rbi +94 -0
  87. data/rbi/openai/models/beta/chatkit/chatkit_thread_item_list.rbi +590 -0
  88. data/rbi/openai/models/beta/chatkit/chatkit_thread_user_message_item.rbi +324 -0
  89. data/rbi/openai/models/beta/chatkit/chatkit_widget_item.rbi +87 -0
  90. data/rbi/openai/models/beta/chatkit/session_cancel_params.rbi +34 -0
  91. data/rbi/openai/models/beta/chatkit/session_create_params.rbi +136 -0
  92. data/rbi/openai/models/beta/chatkit/thread_delete_params.rbi +34 -0
  93. data/rbi/openai/models/beta/chatkit/thread_delete_response.rbi +55 -0
  94. data/rbi/openai/models/beta/chatkit/thread_list_items_params.rbi +138 -0
  95. data/rbi/openai/models/beta/chatkit/thread_list_params.rbi +145 -0
  96. data/rbi/openai/models/beta/chatkit/thread_retrieve_params.rbi +34 -0
  97. data/rbi/openai/models/beta/chatkit_upload_file_params.rbi +50 -0
  98. data/rbi/openai/models/beta/chatkit_upload_file_response.rbi +25 -0
  99. data/rbi/openai/models/beta/chatkit_workflow.rbi +134 -0
  100. data/rbi/openai/models/beta/file_part.rbi +74 -0
  101. data/rbi/openai/models/beta/image_part.rbi +82 -0
  102. data/rbi/openai/models/image_edit_params.rbi +6 -3
  103. data/rbi/openai/models/image_model.rbi +2 -0
  104. data/rbi/openai/models/realtime/call_accept_params.rbi +29 -0
  105. data/rbi/openai/models/realtime/call_hangup_params.rbi +29 -0
  106. data/rbi/openai/models/realtime/call_refer_params.rbi +44 -0
  107. data/rbi/openai/models/realtime/call_reject_params.rbi +47 -0
  108. data/rbi/openai/models/realtime/realtime_session.rbi +20 -0
  109. data/rbi/openai/models/realtime/realtime_session_create_request.rbi +20 -0
  110. data/rbi/openai/models/realtime/realtime_session_create_response.rbi +20 -0
  111. data/rbi/openai/models/responses/tool.rbi +11 -3
  112. data/rbi/openai/models/responses_model.rbi +10 -0
  113. data/rbi/openai/models/video.rbi +143 -0
  114. data/rbi/openai/models/video_create_error.rbi +26 -0
  115. data/rbi/openai/models/video_create_params.rbi +87 -0
  116. data/rbi/openai/models/video_delete_params.rbi +27 -0
  117. data/rbi/openai/models/video_delete_response.rbi +46 -0
  118. data/rbi/openai/models/video_download_content_params.rbi +89 -0
  119. data/rbi/openai/models/video_list_params.rbi +91 -0
  120. data/rbi/openai/models/video_model.rbi +19 -0
  121. data/rbi/openai/models/video_remix_params.rbi +40 -0
  122. data/rbi/openai/models/video_retrieve_params.rbi +27 -0
  123. data/rbi/openai/models/video_seconds.rbi +20 -0
  124. data/rbi/openai/models/video_size.rbi +23 -0
  125. data/rbi/openai/models.rbi +22 -0
  126. data/rbi/openai/resources/beta/chatkit/sessions.rbi +61 -0
  127. data/rbi/openai/resources/beta/chatkit/threads.rbi +110 -0
  128. data/rbi/openai/resources/beta/chatkit.rbi +35 -0
  129. data/rbi/openai/resources/beta.rbi +3 -0
  130. data/rbi/openai/resources/images.rbi +4 -2
  131. data/rbi/openai/resources/realtime/calls.rbi +182 -0
  132. data/rbi/openai/resources/realtime.rbi +3 -0
  133. data/rbi/openai/resources/videos.rbi +121 -0
  134. data/sig/openai/client.rbs +2 -0
  135. data/sig/openai/models/all_models.rbs +4 -0
  136. data/sig/openai/models/beta/chatkit/chat_session.rbs +69 -0
  137. data/sig/openai/models/beta/chatkit/chat_session_automatic_thread_titling.rbs +17 -0
  138. data/sig/openai/models/beta/chatkit/chat_session_chatkit_configuration.rbs +34 -0
  139. data/sig/openai/models/beta/chatkit/chat_session_chatkit_configuration_param.rbs +103 -0
  140. data/sig/openai/models/beta/chatkit/chat_session_expires_after_param.rbs +20 -0
  141. data/sig/openai/models/beta/chatkit/chat_session_file_upload.rbs +30 -0
  142. data/sig/openai/models/beta/chatkit/chat_session_history.rbs +19 -0
  143. data/sig/openai/models/beta/chatkit/chat_session_rate_limits.rbs +18 -0
  144. data/sig/openai/models/beta/chatkit/chat_session_rate_limits_param.rbs +20 -0
  145. data/sig/openai/models/beta/chatkit/chat_session_status.rbs +19 -0
  146. data/sig/openai/models/beta/chatkit/chat_session_workflow_param.rbs +69 -0
  147. data/sig/openai/models/beta/chatkit/chatkit_attachment.rbs +57 -0
  148. data/sig/openai/models/beta/chatkit/chatkit_response_output_text.rbs +114 -0
  149. data/sig/openai/models/beta/chatkit/chatkit_thread.rbs +96 -0
  150. data/sig/openai/models/beta/chatkit/chatkit_thread_assistant_message_item.rbs +51 -0
  151. data/sig/openai/models/beta/chatkit/chatkit_thread_item_list.rbs +276 -0
  152. data/sig/openai/models/beta/chatkit/chatkit_thread_user_message_item.rbs +127 -0
  153. data/sig/openai/models/beta/chatkit/chatkit_widget_item.rbs +51 -0
  154. data/sig/openai/models/beta/chatkit/session_cancel_params.rbs +19 -0
  155. data/sig/openai/models/beta/chatkit/session_create_params.rbs +62 -0
  156. data/sig/openai/models/beta/chatkit/thread_delete_params.rbs +19 -0
  157. data/sig/openai/models/beta/chatkit/thread_delete_response.rbs +30 -0
  158. data/sig/openai/models/beta/chatkit/thread_list_items_params.rbs +66 -0
  159. data/sig/openai/models/beta/chatkit/thread_list_params.rbs +73 -0
  160. data/sig/openai/models/beta/chatkit/thread_retrieve_params.rbs +19 -0
  161. data/sig/openai/models/beta/chatkit_upload_file_params.rbs +26 -0
  162. data/sig/openai/models/beta/chatkit_upload_file_response.rbs +14 -0
  163. data/sig/openai/models/beta/chatkit_workflow.rbs +55 -0
  164. data/sig/openai/models/beta/file_part.rbs +42 -0
  165. data/sig/openai/models/beta/image_part.rbs +47 -0
  166. data/sig/openai/models/image_model.rbs +3 -1
  167. data/sig/openai/models/realtime/call_accept_params.rbs +17 -0
  168. data/sig/openai/models/realtime/call_hangup_params.rbs +17 -0
  169. data/sig/openai/models/realtime/call_refer_params.rbs +25 -0
  170. data/sig/openai/models/realtime/call_reject_params.rbs +27 -0
  171. data/sig/openai/models/realtime/realtime_session.rbs +8 -0
  172. data/sig/openai/models/realtime/realtime_session_create_request.rbs +8 -0
  173. data/sig/openai/models/realtime/realtime_session_create_response.rbs +8 -0
  174. data/sig/openai/models/responses/tool.rbs +2 -1
  175. data/sig/openai/models/responses_model.rbs +4 -0
  176. data/sig/openai/models/video.rbs +88 -0
  177. data/sig/openai/models/video_create_error.rbs +15 -0
  178. data/sig/openai/models/video_create_params.rbs +58 -0
  179. data/sig/openai/models/video_delete_params.rbs +14 -0
  180. data/sig/openai/models/video_delete_response.rbs +22 -0
  181. data/sig/openai/models/video_download_content_params.rbs +40 -0
  182. data/sig/openai/models/video_list_params.rbs +55 -0
  183. data/sig/openai/models/video_model.rbs +14 -0
  184. data/sig/openai/models/video_remix_params.rbs +23 -0
  185. data/sig/openai/models/video_retrieve_params.rbs +15 -0
  186. data/sig/openai/models/video_seconds.rbs +15 -0
  187. data/sig/openai/models/video_size.rbs +16 -0
  188. data/sig/openai/models.rbs +22 -0
  189. data/sig/openai/resources/beta/chatkit/sessions.rbs +25 -0
  190. data/sig/openai/resources/beta/chatkit/threads.rbs +39 -0
  191. data/sig/openai/resources/beta/chatkit.rbs +18 -0
  192. data/sig/openai/resources/beta.rbs +2 -0
  193. data/sig/openai/resources/realtime/calls.rbs +43 -0
  194. data/sig/openai/resources/realtime.rbs +2 -0
  195. data/sig/openai/resources/videos.rbs +45 -0
  196. metadata +155 -2
@@ -0,0 +1,17 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type call_accept_params =
5
+ { } & OpenAI::Internal::Type::request_parameters
6
+
7
+ class CallAcceptParams < OpenAI::Models::Realtime::RealtimeSessionCreateRequest
8
+ extend OpenAI::Internal::Type::RequestParameters::Converter
9
+ include OpenAI::Internal::Type::RequestParameters
10
+
11
+ def initialize: (?request_options: OpenAI::request_opts) -> void
12
+
13
+ def to_hash: -> { request_options: OpenAI::RequestOptions }
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type call_hangup_params =
5
+ { } & OpenAI::Internal::Type::request_parameters
6
+
7
+ class CallHangupParams < OpenAI::Internal::Type::BaseModel
8
+ extend OpenAI::Internal::Type::RequestParameters::Converter
9
+ include OpenAI::Internal::Type::RequestParameters
10
+
11
+ def initialize: (?request_options: OpenAI::request_opts) -> void
12
+
13
+ def to_hash: -> { request_options: OpenAI::RequestOptions }
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,25 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type call_refer_params =
5
+ { target_uri: String } & OpenAI::Internal::Type::request_parameters
6
+
7
+ class CallReferParams < OpenAI::Internal::Type::BaseModel
8
+ extend OpenAI::Internal::Type::RequestParameters::Converter
9
+ include OpenAI::Internal::Type::RequestParameters
10
+
11
+ attr_accessor target_uri: String
12
+
13
+ def initialize: (
14
+ target_uri: String,
15
+ ?request_options: OpenAI::request_opts
16
+ ) -> void
17
+
18
+ def to_hash: -> {
19
+ target_uri: String,
20
+ request_options: OpenAI::RequestOptions
21
+ }
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,27 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type call_reject_params =
5
+ { status_code: Integer } & OpenAI::Internal::Type::request_parameters
6
+
7
+ class CallRejectParams < OpenAI::Internal::Type::BaseModel
8
+ extend OpenAI::Internal::Type::RequestParameters::Converter
9
+ include OpenAI::Internal::Type::RequestParameters
10
+
11
+ attr_reader status_code: Integer?
12
+
13
+ def status_code=: (Integer) -> Integer
14
+
15
+ def initialize: (
16
+ ?status_code: Integer,
17
+ ?request_options: OpenAI::request_opts
18
+ ) -> void
19
+
20
+ def to_hash: -> {
21
+ status_code: Integer,
22
+ request_options: OpenAI::RequestOptions
23
+ }
24
+ end
25
+ end
26
+ end
27
+ end
@@ -229,6 +229,10 @@ module OpenAI
229
229
  | :"gpt-4o-realtime-preview-2025-06-03"
230
230
  | :"gpt-4o-mini-realtime-preview"
231
231
  | :"gpt-4o-mini-realtime-preview-2024-12-17"
232
+ | :"gpt-realtime-mini"
233
+ | :"gpt-realtime-mini-2025-10-06"
234
+ | :"gpt-audio-mini"
235
+ | :"gpt-audio-mini-2025-10-06"
232
236
 
233
237
  module Model
234
238
  extend OpenAI::Internal::Type::Enum
@@ -241,6 +245,10 @@ module OpenAI
241
245
  GPT_4O_REALTIME_PREVIEW_2025_06_03: :"gpt-4o-realtime-preview-2025-06-03"
242
246
  GPT_4O_MINI_REALTIME_PREVIEW: :"gpt-4o-mini-realtime-preview"
243
247
  GPT_4O_MINI_REALTIME_PREVIEW_2024_12_17: :"gpt-4o-mini-realtime-preview-2024-12-17"
248
+ GPT_REALTIME_MINI: :"gpt-realtime-mini"
249
+ GPT_REALTIME_MINI_2025_10_06: :"gpt-realtime-mini-2025-10-06"
250
+ GPT_AUDIO_MINI: :"gpt-audio-mini"
251
+ GPT_AUDIO_MINI_2025_10_06: :"gpt-audio-mini-2025-10-06"
244
252
 
245
253
  def self?.values: -> ::Array[OpenAI::Models::Realtime::RealtimeSession::model]
246
254
  end
@@ -134,6 +134,10 @@ module OpenAI
134
134
  | :"gpt-4o-realtime-preview-2025-06-03"
135
135
  | :"gpt-4o-mini-realtime-preview"
136
136
  | :"gpt-4o-mini-realtime-preview-2024-12-17"
137
+ | :"gpt-realtime-mini"
138
+ | :"gpt-realtime-mini-2025-10-06"
139
+ | :"gpt-audio-mini"
140
+ | :"gpt-audio-mini-2025-10-06"
137
141
 
138
142
  module Model
139
143
  extend OpenAI::Internal::Type::Union
@@ -148,6 +152,10 @@ module OpenAI
148
152
  GPT_4O_REALTIME_PREVIEW_2025_06_03: :"gpt-4o-realtime-preview-2025-06-03"
149
153
  GPT_4O_MINI_REALTIME_PREVIEW: :"gpt-4o-mini-realtime-preview"
150
154
  GPT_4O_MINI_REALTIME_PREVIEW_2024_12_17: :"gpt-4o-mini-realtime-preview-2024-12-17"
155
+ GPT_REALTIME_MINI: :"gpt-realtime-mini"
156
+ GPT_REALTIME_MINI_2025_10_06: :"gpt-realtime-mini-2025-10-06"
157
+ GPT_AUDIO_MINI: :"gpt-audio-mini"
158
+ GPT_AUDIO_MINI_2025_10_06: :"gpt-audio-mini-2025-10-06"
151
159
  end
152
160
 
153
161
  type output_modality = :text | :audio
@@ -421,6 +421,10 @@ module OpenAI
421
421
  | :"gpt-4o-realtime-preview-2025-06-03"
422
422
  | :"gpt-4o-mini-realtime-preview"
423
423
  | :"gpt-4o-mini-realtime-preview-2024-12-17"
424
+ | :"gpt-realtime-mini"
425
+ | :"gpt-realtime-mini-2025-10-06"
426
+ | :"gpt-audio-mini"
427
+ | :"gpt-audio-mini-2025-10-06"
424
428
 
425
429
  module Model
426
430
  extend OpenAI::Internal::Type::Union
@@ -435,6 +439,10 @@ module OpenAI
435
439
  GPT_4O_REALTIME_PREVIEW_2025_06_03: :"gpt-4o-realtime-preview-2025-06-03"
436
440
  GPT_4O_MINI_REALTIME_PREVIEW: :"gpt-4o-mini-realtime-preview"
437
441
  GPT_4O_MINI_REALTIME_PREVIEW_2024_12_17: :"gpt-4o-mini-realtime-preview-2024-12-17"
442
+ GPT_REALTIME_MINI: :"gpt-realtime-mini"
443
+ GPT_REALTIME_MINI_2025_10_06: :"gpt-realtime-mini-2025-10-06"
444
+ GPT_AUDIO_MINI: :"gpt-audio-mini"
445
+ GPT_AUDIO_MINI_2025_10_06: :"gpt-audio-mini-2025-10-06"
438
446
  end
439
447
 
440
448
  type output_modality = :text | :audio
@@ -413,12 +413,13 @@ module OpenAI
413
413
  def to_hash: -> { file_id: String, image_url: String }
414
414
  end
415
415
 
416
- type model = :"gpt-image-1"
416
+ type model = :"gpt-image-1" | :"gpt-image-1-mini"
417
417
 
418
418
  module Model
419
419
  extend OpenAI::Internal::Type::Enum
420
420
 
421
421
  GPT_IMAGE_1: :"gpt-image-1"
422
+ GPT_IMAGE_1_MINI: :"gpt-image-1-mini"
422
423
 
423
424
  def self?.values: -> ::Array[OpenAI::Models::Responses::Tool::ImageGeneration::model]
424
425
  end
@@ -20,6 +20,8 @@ module OpenAI
20
20
  | :"computer-use-preview"
21
21
  | :"computer-use-preview-2025-03-11"
22
22
  | :"gpt-5-codex"
23
+ | :"gpt-5-pro"
24
+ | :"gpt-5-pro-2025-10-06"
23
25
 
24
26
  module ResponsesOnlyModel
25
27
  extend OpenAI::Internal::Type::Enum
@@ -35,6 +37,8 @@ module OpenAI
35
37
  COMPUTER_USE_PREVIEW: :"computer-use-preview"
36
38
  COMPUTER_USE_PREVIEW_2025_03_11: :"computer-use-preview-2025-03-11"
37
39
  GPT_5_CODEX: :"gpt-5-codex"
40
+ GPT_5_PRO: :"gpt-5-pro"
41
+ GPT_5_PRO_2025_10_06: :"gpt-5-pro-2025-10-06"
38
42
 
39
43
  def self?.values: -> ::Array[OpenAI::Models::ResponsesModel::responses_only_model]
40
44
  end
@@ -0,0 +1,88 @@
1
+ module OpenAI
2
+ module Models
3
+ type video =
4
+ {
5
+ id: String,
6
+ completed_at: Integer?,
7
+ created_at: Integer,
8
+ error: OpenAI::VideoCreateError?,
9
+ expires_at: Integer?,
10
+ model: OpenAI::Models::video_model,
11
+ object: :video,
12
+ progress: Integer,
13
+ remixed_from_video_id: String?,
14
+ seconds: OpenAI::Models::video_seconds,
15
+ size: OpenAI::Models::video_size,
16
+ status: OpenAI::Models::Video::status
17
+ }
18
+
19
+ class Video < OpenAI::Internal::Type::BaseModel
20
+ attr_accessor id: String
21
+
22
+ attr_accessor completed_at: Integer?
23
+
24
+ attr_accessor created_at: Integer
25
+
26
+ attr_accessor error: OpenAI::VideoCreateError?
27
+
28
+ attr_accessor expires_at: Integer?
29
+
30
+ attr_accessor model: OpenAI::Models::video_model
31
+
32
+ attr_accessor object: :video
33
+
34
+ attr_accessor progress: Integer
35
+
36
+ attr_accessor remixed_from_video_id: String?
37
+
38
+ attr_accessor seconds: OpenAI::Models::video_seconds
39
+
40
+ attr_accessor size: OpenAI::Models::video_size
41
+
42
+ attr_accessor status: OpenAI::Models::Video::status
43
+
44
+ def initialize: (
45
+ id: String,
46
+ completed_at: Integer?,
47
+ created_at: Integer,
48
+ error: OpenAI::VideoCreateError?,
49
+ expires_at: Integer?,
50
+ model: OpenAI::Models::video_model,
51
+ progress: Integer,
52
+ remixed_from_video_id: String?,
53
+ seconds: OpenAI::Models::video_seconds,
54
+ size: OpenAI::Models::video_size,
55
+ status: OpenAI::Models::Video::status,
56
+ ?object: :video
57
+ ) -> void
58
+
59
+ def to_hash: -> {
60
+ id: String,
61
+ completed_at: Integer?,
62
+ created_at: Integer,
63
+ error: OpenAI::VideoCreateError?,
64
+ expires_at: Integer?,
65
+ model: OpenAI::Models::video_model,
66
+ object: :video,
67
+ progress: Integer,
68
+ remixed_from_video_id: String?,
69
+ seconds: OpenAI::Models::video_seconds,
70
+ size: OpenAI::Models::video_size,
71
+ status: OpenAI::Models::Video::status
72
+ }
73
+
74
+ type status = :queued | :in_progress | :completed | :failed
75
+
76
+ module Status
77
+ extend OpenAI::Internal::Type::Enum
78
+
79
+ QUEUED: :queued
80
+ IN_PROGRESS: :in_progress
81
+ COMPLETED: :completed
82
+ FAILED: :failed
83
+
84
+ def self?.values: -> ::Array[OpenAI::Models::Video::status]
85
+ end
86
+ end
87
+ end
88
+ end
@@ -0,0 +1,15 @@
1
+ module OpenAI
2
+ module Models
3
+ type video_create_error = { code: String, message: String }
4
+
5
+ class VideoCreateError < OpenAI::Internal::Type::BaseModel
6
+ attr_accessor code: String
7
+
8
+ attr_accessor message: String
9
+
10
+ def initialize: (code: String, message: String) -> void
11
+
12
+ def to_hash: -> { code: String, message: String }
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,58 @@
1
+ module OpenAI
2
+ module Models
3
+ type video_create_params =
4
+ {
5
+ prompt: String,
6
+ input_reference: OpenAI::Internal::file_input,
7
+ model: OpenAI::Models::video_model,
8
+ seconds: OpenAI::Models::video_seconds,
9
+ size: OpenAI::Models::video_size
10
+ }
11
+ & OpenAI::Internal::Type::request_parameters
12
+
13
+ class VideoCreateParams < OpenAI::Internal::Type::BaseModel
14
+ extend OpenAI::Internal::Type::RequestParameters::Converter
15
+ include OpenAI::Internal::Type::RequestParameters
16
+
17
+ attr_accessor prompt: String
18
+
19
+ attr_reader input_reference: OpenAI::Internal::file_input?
20
+
21
+ def input_reference=: (
22
+ OpenAI::Internal::file_input
23
+ ) -> OpenAI::Internal::file_input
24
+
25
+ attr_reader model: OpenAI::Models::video_model?
26
+
27
+ def model=: (OpenAI::Models::video_model) -> OpenAI::Models::video_model
28
+
29
+ attr_reader seconds: OpenAI::Models::video_seconds?
30
+
31
+ def seconds=: (
32
+ OpenAI::Models::video_seconds
33
+ ) -> OpenAI::Models::video_seconds
34
+
35
+ attr_reader size: OpenAI::Models::video_size?
36
+
37
+ def size=: (OpenAI::Models::video_size) -> OpenAI::Models::video_size
38
+
39
+ def initialize: (
40
+ prompt: String,
41
+ ?input_reference: OpenAI::Internal::file_input,
42
+ ?model: OpenAI::Models::video_model,
43
+ ?seconds: OpenAI::Models::video_seconds,
44
+ ?size: OpenAI::Models::video_size,
45
+ ?request_options: OpenAI::request_opts
46
+ ) -> void
47
+
48
+ def to_hash: -> {
49
+ prompt: String,
50
+ input_reference: OpenAI::Internal::file_input,
51
+ model: OpenAI::Models::video_model,
52
+ seconds: OpenAI::Models::video_seconds,
53
+ size: OpenAI::Models::video_size,
54
+ request_options: OpenAI::RequestOptions
55
+ }
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,14 @@
1
+ module OpenAI
2
+ module Models
3
+ type video_delete_params = { } & OpenAI::Internal::Type::request_parameters
4
+
5
+ class VideoDeleteParams < OpenAI::Internal::Type::BaseModel
6
+ extend OpenAI::Internal::Type::RequestParameters::Converter
7
+ include OpenAI::Internal::Type::RequestParameters
8
+
9
+ def initialize: (?request_options: OpenAI::request_opts) -> void
10
+
11
+ def to_hash: -> { request_options: OpenAI::RequestOptions }
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,22 @@
1
+ module OpenAI
2
+ module Models
3
+ type video_delete_response =
4
+ { id: String, deleted: bool, object: :"video.deleted" }
5
+
6
+ class VideoDeleteResponse < OpenAI::Internal::Type::BaseModel
7
+ attr_accessor id: String
8
+
9
+ attr_accessor deleted: bool
10
+
11
+ attr_accessor object: :"video.deleted"
12
+
13
+ def initialize: (
14
+ id: String,
15
+ deleted: bool,
16
+ ?object: :"video.deleted"
17
+ ) -> void
18
+
19
+ def to_hash: -> { id: String, deleted: bool, object: :"video.deleted" }
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,40 @@
1
+ module OpenAI
2
+ module Models
3
+ type video_download_content_params =
4
+ { variant: OpenAI::Models::VideoDownloadContentParams::variant }
5
+ & OpenAI::Internal::Type::request_parameters
6
+
7
+ class VideoDownloadContentParams < OpenAI::Internal::Type::BaseModel
8
+ extend OpenAI::Internal::Type::RequestParameters::Converter
9
+ include OpenAI::Internal::Type::RequestParameters
10
+
11
+ attr_reader variant: OpenAI::Models::VideoDownloadContentParams::variant?
12
+
13
+ def variant=: (
14
+ OpenAI::Models::VideoDownloadContentParams::variant
15
+ ) -> OpenAI::Models::VideoDownloadContentParams::variant
16
+
17
+ def initialize: (
18
+ ?variant: OpenAI::Models::VideoDownloadContentParams::variant,
19
+ ?request_options: OpenAI::request_opts
20
+ ) -> void
21
+
22
+ def to_hash: -> {
23
+ variant: OpenAI::Models::VideoDownloadContentParams::variant,
24
+ request_options: OpenAI::RequestOptions
25
+ }
26
+
27
+ type variant = :video | :thumbnail | :spritesheet
28
+
29
+ module Variant
30
+ extend OpenAI::Internal::Type::Enum
31
+
32
+ VIDEO: :video
33
+ THUMBNAIL: :thumbnail
34
+ SPRITESHEET: :spritesheet
35
+
36
+ def self?.values: -> ::Array[OpenAI::Models::VideoDownloadContentParams::variant]
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,55 @@
1
+ module OpenAI
2
+ module Models
3
+ type video_list_params =
4
+ {
5
+ after: String,
6
+ limit: Integer,
7
+ order: OpenAI::Models::VideoListParams::order
8
+ }
9
+ & OpenAI::Internal::Type::request_parameters
10
+
11
+ class VideoListParams < OpenAI::Internal::Type::BaseModel
12
+ extend OpenAI::Internal::Type::RequestParameters::Converter
13
+ include OpenAI::Internal::Type::RequestParameters
14
+
15
+ attr_reader after: String?
16
+
17
+ def after=: (String) -> String
18
+
19
+ attr_reader limit: Integer?
20
+
21
+ def limit=: (Integer) -> Integer
22
+
23
+ attr_reader order: OpenAI::Models::VideoListParams::order?
24
+
25
+ def order=: (
26
+ OpenAI::Models::VideoListParams::order
27
+ ) -> OpenAI::Models::VideoListParams::order
28
+
29
+ def initialize: (
30
+ ?after: String,
31
+ ?limit: Integer,
32
+ ?order: OpenAI::Models::VideoListParams::order,
33
+ ?request_options: OpenAI::request_opts
34
+ ) -> void
35
+
36
+ def to_hash: -> {
37
+ after: String,
38
+ limit: Integer,
39
+ order: OpenAI::Models::VideoListParams::order,
40
+ request_options: OpenAI::RequestOptions
41
+ }
42
+
43
+ type order = :asc | :desc
44
+
45
+ module Order
46
+ extend OpenAI::Internal::Type::Enum
47
+
48
+ ASC: :asc
49
+ DESC: :desc
50
+
51
+ def self?.values: -> ::Array[OpenAI::Models::VideoListParams::order]
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,14 @@
1
+ module OpenAI
2
+ module Models
3
+ type video_model = :"sora-2" | :"sora-2-pro"
4
+
5
+ module VideoModel
6
+ extend OpenAI::Internal::Type::Enum
7
+
8
+ SORA_2: :"sora-2"
9
+ SORA_2_PRO: :"sora-2-pro"
10
+
11
+ def self?.values: -> ::Array[OpenAI::Models::video_model]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,23 @@
1
+ module OpenAI
2
+ module Models
3
+ type video_remix_params =
4
+ { prompt: String } & OpenAI::Internal::Type::request_parameters
5
+
6
+ class VideoRemixParams < OpenAI::Internal::Type::BaseModel
7
+ extend OpenAI::Internal::Type::RequestParameters::Converter
8
+ include OpenAI::Internal::Type::RequestParameters
9
+
10
+ attr_accessor prompt: String
11
+
12
+ def initialize: (
13
+ prompt: String,
14
+ ?request_options: OpenAI::request_opts
15
+ ) -> void
16
+
17
+ def to_hash: -> {
18
+ prompt: String,
19
+ request_options: OpenAI::RequestOptions
20
+ }
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,15 @@
1
+ module OpenAI
2
+ module Models
3
+ type video_retrieve_params =
4
+ { } & OpenAI::Internal::Type::request_parameters
5
+
6
+ class VideoRetrieveParams < OpenAI::Internal::Type::BaseModel
7
+ extend OpenAI::Internal::Type::RequestParameters::Converter
8
+ include OpenAI::Internal::Type::RequestParameters
9
+
10
+ def initialize: (?request_options: OpenAI::request_opts) -> void
11
+
12
+ def to_hash: -> { request_options: OpenAI::RequestOptions }
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ module OpenAI
2
+ module Models
3
+ type video_seconds = :"4" | :"8" | :"12"
4
+
5
+ module VideoSeconds
6
+ extend OpenAI::Internal::Type::Enum
7
+
8
+ VIDEO_SECONDS_4: :"4"
9
+ VIDEO_SECONDS_8: :"8"
10
+ VIDEO_SECONDS_12: :"12"
11
+
12
+ def self?.values: -> ::Array[OpenAI::Models::video_seconds]
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,16 @@
1
+ module OpenAI
2
+ module Models
3
+ type video_size = :"720x1280" | :"1280x720" | :"1024x1792" | :"1792x1024"
4
+
5
+ module VideoSize
6
+ extend OpenAI::Internal::Type::Enum
7
+
8
+ VIDEO_SIZE_720X1280: :"720x1280"
9
+ VIDEO_SIZE_1280X720: :"1280x720"
10
+ VIDEO_SIZE_1024X1792: :"1024x1792"
11
+ VIDEO_SIZE_1792X1024: :"1792x1024"
12
+
13
+ def self?.values: -> ::Array[OpenAI::Models::video_size]
14
+ end
15
+ end
16
+ end
@@ -217,5 +217,27 @@ module OpenAI
217
217
 
218
218
  class VectorStoreUpdateParams = OpenAI::Models::VectorStoreUpdateParams
219
219
 
220
+ class Video = OpenAI::Models::Video
221
+
222
+ class VideoCreateError = OpenAI::Models::VideoCreateError
223
+
224
+ class VideoCreateParams = OpenAI::Models::VideoCreateParams
225
+
226
+ class VideoDeleteParams = OpenAI::Models::VideoDeleteParams
227
+
228
+ class VideoDownloadContentParams = OpenAI::Models::VideoDownloadContentParams
229
+
230
+ class VideoListParams = OpenAI::Models::VideoListParams
231
+
232
+ module VideoModel = OpenAI::Models::VideoModel
233
+
234
+ class VideoRemixParams = OpenAI::Models::VideoRemixParams
235
+
236
+ class VideoRetrieveParams = OpenAI::Models::VideoRetrieveParams
237
+
238
+ module VideoSeconds = OpenAI::Models::VideoSeconds
239
+
240
+ module VideoSize = OpenAI::Models::VideoSize
241
+
220
242
  module Webhooks = OpenAI::Models::Webhooks
221
243
  end
@@ -0,0 +1,25 @@
1
+ module OpenAI
2
+ module Resources
3
+ class Beta
4
+ class ChatKit
5
+ class Sessions
6
+ def create: (
7
+ user: String,
8
+ workflow: OpenAI::Beta::ChatKit::ChatSessionWorkflowParam,
9
+ ?chatkit_configuration: OpenAI::Beta::ChatKit::ChatSessionChatKitConfigurationParam,
10
+ ?expires_after: OpenAI::Beta::ChatKit::ChatSessionExpiresAfterParam,
11
+ ?rate_limits: OpenAI::Beta::ChatKit::ChatSessionRateLimitsParam,
12
+ ?request_options: OpenAI::request_opts
13
+ ) -> OpenAI::Beta::ChatKit::ChatSession
14
+
15
+ def cancel: (
16
+ String session_id,
17
+ ?request_options: OpenAI::request_opts
18
+ ) -> OpenAI::Beta::ChatKit::ChatSession
19
+
20
+ def initialize: (client: OpenAI::Client) -> void
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,39 @@
1
+ module OpenAI
2
+ module Resources
3
+ class Beta
4
+ class ChatKit
5
+ class Threads
6
+ def retrieve: (
7
+ String thread_id,
8
+ ?request_options: OpenAI::request_opts
9
+ ) -> OpenAI::Beta::ChatKit::ChatKitThread
10
+
11
+ def list: (
12
+ ?after: String,
13
+ ?before: String,
14
+ ?limit: Integer,
15
+ ?order: OpenAI::Models::Beta::ChatKit::ThreadListParams::order,
16
+ ?user: String,
17
+ ?request_options: OpenAI::request_opts
18
+ ) -> OpenAI::Internal::ConversationCursorPage[OpenAI::Beta::ChatKit::ChatKitThread]
19
+
20
+ def delete: (
21
+ String thread_id,
22
+ ?request_options: OpenAI::request_opts
23
+ ) -> OpenAI::Models::Beta::ChatKit::ThreadDeleteResponse
24
+
25
+ def list_items: (
26
+ String thread_id,
27
+ ?after: String,
28
+ ?before: String,
29
+ ?limit: Integer,
30
+ ?order: OpenAI::Models::Beta::ChatKit::ThreadListItemsParams::order,
31
+ ?request_options: OpenAI::request_opts
32
+ ) -> OpenAI::Internal::ConversationCursorPage[OpenAI::Models::Beta::ChatKit::ChatKitThreadItemList::data]
33
+
34
+ def initialize: (client: OpenAI::Client) -> void
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end