openai 0.29.0 → 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 (178) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -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/realtime_session.rb +4 -0
  40. data/lib/openai/models/realtime/realtime_session_create_request.rb +12 -0
  41. data/lib/openai/models/realtime/realtime_session_create_response.rb +12 -0
  42. data/lib/openai/models/responses/tool.rb +5 -2
  43. data/lib/openai/models/responses_model.rb +2 -0
  44. data/lib/openai/models/video.rb +122 -0
  45. data/lib/openai/models/video_create_error.rb +21 -0
  46. data/lib/openai/models/video_create_params.rb +54 -0
  47. data/lib/openai/models/video_delete_params.rb +14 -0
  48. data/lib/openai/models/video_delete_response.rb +35 -0
  49. data/lib/openai/models/video_download_content_params.rb +34 -0
  50. data/lib/openai/models/video_list_params.rb +54 -0
  51. data/lib/openai/models/video_model.rb +15 -0
  52. data/lib/openai/models/video_remix_params.rb +22 -0
  53. data/lib/openai/models/video_retrieve_params.rb +14 -0
  54. data/lib/openai/models/video_seconds.rb +16 -0
  55. data/lib/openai/models/video_size.rb +17 -0
  56. data/lib/openai/models.rb +22 -0
  57. data/lib/openai/resources/beta/chatkit/sessions.rb +71 -0
  58. data/lib/openai/resources/beta/chatkit/threads.rb +126 -0
  59. data/lib/openai/resources/beta/chatkit.rb +50 -0
  60. data/lib/openai/resources/beta.rb +4 -0
  61. data/lib/openai/resources/videos.rb +165 -0
  62. data/lib/openai/version.rb +1 -1
  63. data/lib/openai.rb +46 -0
  64. data/rbi/openai/client.rbi +3 -0
  65. data/rbi/openai/models/all_models.rbi +10 -0
  66. data/rbi/openai/models/beta/chatkit/chat_session.rbi +141 -0
  67. data/rbi/openai/models/beta/chatkit/chat_session_automatic_thread_titling.rbi +35 -0
  68. data/rbi/openai/models/beta/chatkit/chat_session_chatkit_configuration.rbi +87 -0
  69. data/rbi/openai/models/beta/chatkit/chat_session_chatkit_configuration_param.rbi +256 -0
  70. data/rbi/openai/models/beta/chatkit/chat_session_expires_after_param.rbi +43 -0
  71. data/rbi/openai/models/beta/chatkit/chat_session_file_upload.rbi +61 -0
  72. data/rbi/openai/models/beta/chatkit/chat_session_history.rbi +52 -0
  73. data/rbi/openai/models/beta/chatkit/chat_session_rate_limits.rbi +37 -0
  74. data/rbi/openai/models/beta/chatkit/chat_session_rate_limits_param.rbi +40 -0
  75. data/rbi/openai/models/beta/chatkit/chat_session_status.rbi +43 -0
  76. data/rbi/openai/models/beta/chatkit/chat_session_workflow_param.rbi +166 -0
  77. data/rbi/openai/models/beta/chatkit/chatkit_attachment.rbi +116 -0
  78. data/rbi/openai/models/beta/chatkit/chatkit_response_output_text.rbi +287 -0
  79. data/rbi/openai/models/beta/chatkit/chatkit_thread.rbi +220 -0
  80. data/rbi/openai/models/beta/chatkit/chatkit_thread_assistant_message_item.rbi +94 -0
  81. data/rbi/openai/models/beta/chatkit/chatkit_thread_item_list.rbi +590 -0
  82. data/rbi/openai/models/beta/chatkit/chatkit_thread_user_message_item.rbi +324 -0
  83. data/rbi/openai/models/beta/chatkit/chatkit_widget_item.rbi +87 -0
  84. data/rbi/openai/models/beta/chatkit/session_cancel_params.rbi +34 -0
  85. data/rbi/openai/models/beta/chatkit/session_create_params.rbi +136 -0
  86. data/rbi/openai/models/beta/chatkit/thread_delete_params.rbi +34 -0
  87. data/rbi/openai/models/beta/chatkit/thread_delete_response.rbi +55 -0
  88. data/rbi/openai/models/beta/chatkit/thread_list_items_params.rbi +138 -0
  89. data/rbi/openai/models/beta/chatkit/thread_list_params.rbi +145 -0
  90. data/rbi/openai/models/beta/chatkit/thread_retrieve_params.rbi +34 -0
  91. data/rbi/openai/models/beta/chatkit_upload_file_params.rbi +50 -0
  92. data/rbi/openai/models/beta/chatkit_upload_file_response.rbi +25 -0
  93. data/rbi/openai/models/beta/chatkit_workflow.rbi +134 -0
  94. data/rbi/openai/models/beta/file_part.rbi +74 -0
  95. data/rbi/openai/models/beta/image_part.rbi +82 -0
  96. data/rbi/openai/models/image_edit_params.rbi +6 -3
  97. data/rbi/openai/models/image_model.rbi +2 -0
  98. data/rbi/openai/models/realtime/realtime_session.rbi +20 -0
  99. data/rbi/openai/models/realtime/realtime_session_create_request.rbi +20 -0
  100. data/rbi/openai/models/realtime/realtime_session_create_response.rbi +20 -0
  101. data/rbi/openai/models/responses/tool.rbi +11 -3
  102. data/rbi/openai/models/responses_model.rbi +10 -0
  103. data/rbi/openai/models/video.rbi +143 -0
  104. data/rbi/openai/models/video_create_error.rbi +26 -0
  105. data/rbi/openai/models/video_create_params.rbi +87 -0
  106. data/rbi/openai/models/video_delete_params.rbi +27 -0
  107. data/rbi/openai/models/video_delete_response.rbi +46 -0
  108. data/rbi/openai/models/video_download_content_params.rbi +89 -0
  109. data/rbi/openai/models/video_list_params.rbi +91 -0
  110. data/rbi/openai/models/video_model.rbi +19 -0
  111. data/rbi/openai/models/video_remix_params.rbi +40 -0
  112. data/rbi/openai/models/video_retrieve_params.rbi +27 -0
  113. data/rbi/openai/models/video_seconds.rbi +20 -0
  114. data/rbi/openai/models/video_size.rbi +23 -0
  115. data/rbi/openai/models.rbi +22 -0
  116. data/rbi/openai/resources/beta/chatkit/sessions.rbi +61 -0
  117. data/rbi/openai/resources/beta/chatkit/threads.rbi +110 -0
  118. data/rbi/openai/resources/beta/chatkit.rbi +35 -0
  119. data/rbi/openai/resources/beta.rbi +3 -0
  120. data/rbi/openai/resources/images.rbi +4 -2
  121. data/rbi/openai/resources/videos.rbi +121 -0
  122. data/sig/openai/client.rbs +2 -0
  123. data/sig/openai/models/all_models.rbs +4 -0
  124. data/sig/openai/models/beta/chatkit/chat_session.rbs +69 -0
  125. data/sig/openai/models/beta/chatkit/chat_session_automatic_thread_titling.rbs +17 -0
  126. data/sig/openai/models/beta/chatkit/chat_session_chatkit_configuration.rbs +34 -0
  127. data/sig/openai/models/beta/chatkit/chat_session_chatkit_configuration_param.rbs +103 -0
  128. data/sig/openai/models/beta/chatkit/chat_session_expires_after_param.rbs +20 -0
  129. data/sig/openai/models/beta/chatkit/chat_session_file_upload.rbs +30 -0
  130. data/sig/openai/models/beta/chatkit/chat_session_history.rbs +19 -0
  131. data/sig/openai/models/beta/chatkit/chat_session_rate_limits.rbs +18 -0
  132. data/sig/openai/models/beta/chatkit/chat_session_rate_limits_param.rbs +20 -0
  133. data/sig/openai/models/beta/chatkit/chat_session_status.rbs +19 -0
  134. data/sig/openai/models/beta/chatkit/chat_session_workflow_param.rbs +69 -0
  135. data/sig/openai/models/beta/chatkit/chatkit_attachment.rbs +57 -0
  136. data/sig/openai/models/beta/chatkit/chatkit_response_output_text.rbs +114 -0
  137. data/sig/openai/models/beta/chatkit/chatkit_thread.rbs +96 -0
  138. data/sig/openai/models/beta/chatkit/chatkit_thread_assistant_message_item.rbs +51 -0
  139. data/sig/openai/models/beta/chatkit/chatkit_thread_item_list.rbs +276 -0
  140. data/sig/openai/models/beta/chatkit/chatkit_thread_user_message_item.rbs +127 -0
  141. data/sig/openai/models/beta/chatkit/chatkit_widget_item.rbs +51 -0
  142. data/sig/openai/models/beta/chatkit/session_cancel_params.rbs +19 -0
  143. data/sig/openai/models/beta/chatkit/session_create_params.rbs +62 -0
  144. data/sig/openai/models/beta/chatkit/thread_delete_params.rbs +19 -0
  145. data/sig/openai/models/beta/chatkit/thread_delete_response.rbs +30 -0
  146. data/sig/openai/models/beta/chatkit/thread_list_items_params.rbs +66 -0
  147. data/sig/openai/models/beta/chatkit/thread_list_params.rbs +73 -0
  148. data/sig/openai/models/beta/chatkit/thread_retrieve_params.rbs +19 -0
  149. data/sig/openai/models/beta/chatkit_upload_file_params.rbs +26 -0
  150. data/sig/openai/models/beta/chatkit_upload_file_response.rbs +14 -0
  151. data/sig/openai/models/beta/chatkit_workflow.rbs +55 -0
  152. data/sig/openai/models/beta/file_part.rbs +42 -0
  153. data/sig/openai/models/beta/image_part.rbs +47 -0
  154. data/sig/openai/models/image_model.rbs +3 -1
  155. data/sig/openai/models/realtime/realtime_session.rbs +8 -0
  156. data/sig/openai/models/realtime/realtime_session_create_request.rbs +8 -0
  157. data/sig/openai/models/realtime/realtime_session_create_response.rbs +8 -0
  158. data/sig/openai/models/responses/tool.rbs +2 -1
  159. data/sig/openai/models/responses_model.rbs +4 -0
  160. data/sig/openai/models/video.rbs +88 -0
  161. data/sig/openai/models/video_create_error.rbs +15 -0
  162. data/sig/openai/models/video_create_params.rbs +58 -0
  163. data/sig/openai/models/video_delete_params.rbs +14 -0
  164. data/sig/openai/models/video_delete_response.rbs +22 -0
  165. data/sig/openai/models/video_download_content_params.rbs +40 -0
  166. data/sig/openai/models/video_list_params.rbs +55 -0
  167. data/sig/openai/models/video_model.rbs +14 -0
  168. data/sig/openai/models/video_remix_params.rbs +23 -0
  169. data/sig/openai/models/video_retrieve_params.rbs +15 -0
  170. data/sig/openai/models/video_seconds.rbs +15 -0
  171. data/sig/openai/models/video_size.rbs +16 -0
  172. data/sig/openai/models.rbs +22 -0
  173. data/sig/openai/resources/beta/chatkit/sessions.rbs +25 -0
  174. data/sig/openai/resources/beta/chatkit/threads.rbs +39 -0
  175. data/sig/openai/resources/beta/chatkit.rbs +18 -0
  176. data/sig/openai/resources/beta.rbs +2 -0
  177. data/sig/openai/resources/videos.rbs +45 -0
  178. metadata +140 -2
@@ -0,0 +1,73 @@
1
+ module OpenAI
2
+ module Models
3
+ module Beta
4
+ module ChatKit
5
+ type thread_list_params =
6
+ {
7
+ after: String,
8
+ before: String,
9
+ limit: Integer,
10
+ order: OpenAI::Models::Beta::ChatKit::ThreadListParams::order,
11
+ user: String
12
+ }
13
+ & OpenAI::Internal::Type::request_parameters
14
+
15
+ class ThreadListParams < OpenAI::Internal::Type::BaseModel
16
+ extend OpenAI::Internal::Type::RequestParameters::Converter
17
+ include OpenAI::Internal::Type::RequestParameters
18
+
19
+ attr_reader after: String?
20
+
21
+ def after=: (String) -> String
22
+
23
+ attr_reader before: String?
24
+
25
+ def before=: (String) -> String
26
+
27
+ attr_reader limit: Integer?
28
+
29
+ def limit=: (Integer) -> Integer
30
+
31
+ attr_reader order: OpenAI::Models::Beta::ChatKit::ThreadListParams::order?
32
+
33
+ def order=: (
34
+ OpenAI::Models::Beta::ChatKit::ThreadListParams::order
35
+ ) -> OpenAI::Models::Beta::ChatKit::ThreadListParams::order
36
+
37
+ attr_reader user: String?
38
+
39
+ def user=: (String) -> String
40
+
41
+ def initialize: (
42
+ ?after: String,
43
+ ?before: String,
44
+ ?limit: Integer,
45
+ ?order: OpenAI::Models::Beta::ChatKit::ThreadListParams::order,
46
+ ?user: String,
47
+ ?request_options: OpenAI::request_opts
48
+ ) -> void
49
+
50
+ def to_hash: -> {
51
+ after: String,
52
+ before: String,
53
+ limit: Integer,
54
+ order: OpenAI::Models::Beta::ChatKit::ThreadListParams::order,
55
+ user: String,
56
+ request_options: OpenAI::RequestOptions
57
+ }
58
+
59
+ type order = :asc | :desc
60
+
61
+ module Order
62
+ extend OpenAI::Internal::Type::Enum
63
+
64
+ ASC: :asc
65
+ DESC: :desc
66
+
67
+ def self?.values: -> ::Array[OpenAI::Models::Beta::ChatKit::ThreadListParams::order]
68
+ end
69
+ end
70
+ end
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,19 @@
1
+ module OpenAI
2
+ module Models
3
+ module Beta
4
+ module ChatKit
5
+ type thread_retrieve_params =
6
+ { } & OpenAI::Internal::Type::request_parameters
7
+
8
+ class ThreadRetrieveParams < OpenAI::Internal::Type::BaseModel
9
+ extend OpenAI::Internal::Type::RequestParameters::Converter
10
+ include OpenAI::Internal::Type::RequestParameters
11
+
12
+ def initialize: (?request_options: OpenAI::request_opts) -> void
13
+
14
+ def to_hash: -> { request_options: OpenAI::RequestOptions }
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,26 @@
1
+ module OpenAI
2
+ module Models
3
+ module Beta
4
+ type chatkit_upload_file_params =
5
+ { file: OpenAI::Internal::file_input }
6
+ & OpenAI::Internal::Type::request_parameters
7
+
8
+ class ChatKitUploadFileParams < OpenAI::Internal::Type::BaseModel
9
+ extend OpenAI::Internal::Type::RequestParameters::Converter
10
+ include OpenAI::Internal::Type::RequestParameters
11
+
12
+ attr_accessor file: OpenAI::Internal::file_input
13
+
14
+ def initialize: (
15
+ file: OpenAI::Internal::file_input,
16
+ ?request_options: OpenAI::request_opts
17
+ ) -> void
18
+
19
+ def to_hash: -> {
20
+ file: OpenAI::Internal::file_input,
21
+ request_options: OpenAI::RequestOptions
22
+ }
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,14 @@
1
+ module OpenAI
2
+ module Models
3
+ module Beta
4
+ type chatkit_upload_file_response =
5
+ OpenAI::Beta::FilePart | OpenAI::Beta::ImagePart
6
+
7
+ module ChatKitUploadFileResponse
8
+ extend OpenAI::Internal::Type::Union
9
+
10
+ def self?.variants: -> ::Array[OpenAI::Models::Beta::chatkit_upload_file_response]
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,55 @@
1
+ module OpenAI
2
+ module Models
3
+ module Beta
4
+ type chatkit_workflow =
5
+ {
6
+ id: String,
7
+ state_variables: ::Hash[Symbol, OpenAI::Models::Beta::ChatKitWorkflow::state_variable]?,
8
+ tracing: OpenAI::Beta::ChatKitWorkflow::Tracing,
9
+ version: String?
10
+ }
11
+
12
+ class ChatKitWorkflow < OpenAI::Internal::Type::BaseModel
13
+ attr_accessor id: String
14
+
15
+ attr_accessor state_variables: ::Hash[Symbol, OpenAI::Models::Beta::ChatKitWorkflow::state_variable]?
16
+
17
+ attr_accessor tracing: OpenAI::Beta::ChatKitWorkflow::Tracing
18
+
19
+ attr_accessor version: String?
20
+
21
+ def initialize: (
22
+ id: String,
23
+ state_variables: ::Hash[Symbol, OpenAI::Models::Beta::ChatKitWorkflow::state_variable]?,
24
+ tracing: OpenAI::Beta::ChatKitWorkflow::Tracing,
25
+ version: String?
26
+ ) -> void
27
+
28
+ def to_hash: -> {
29
+ id: String,
30
+ state_variables: ::Hash[Symbol, OpenAI::Models::Beta::ChatKitWorkflow::state_variable]?,
31
+ tracing: OpenAI::Beta::ChatKitWorkflow::Tracing,
32
+ version: String?
33
+ }
34
+
35
+ type state_variable = String | bool | Float
36
+
37
+ module StateVariable
38
+ extend OpenAI::Internal::Type::Union
39
+
40
+ def self?.variants: -> ::Array[OpenAI::Models::Beta::ChatKitWorkflow::state_variable]
41
+ end
42
+
43
+ type tracing = { enabled: bool }
44
+
45
+ class Tracing < OpenAI::Internal::Type::BaseModel
46
+ attr_accessor enabled: bool
47
+
48
+ def initialize: (enabled: bool) -> void
49
+
50
+ def to_hash: -> { enabled: bool }
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,42 @@
1
+ module OpenAI
2
+ module Models
3
+ module Beta
4
+ type file_part =
5
+ {
6
+ id: String,
7
+ mime_type: String?,
8
+ name: String?,
9
+ type: :file,
10
+ upload_url: String?
11
+ }
12
+
13
+ class FilePart < OpenAI::Internal::Type::BaseModel
14
+ attr_accessor id: String
15
+
16
+ attr_accessor mime_type: String?
17
+
18
+ attr_accessor name: String?
19
+
20
+ attr_accessor type: :file
21
+
22
+ attr_accessor upload_url: String?
23
+
24
+ def initialize: (
25
+ id: String,
26
+ mime_type: String?,
27
+ name: String?,
28
+ upload_url: String?,
29
+ ?type: :file
30
+ ) -> void
31
+
32
+ def to_hash: -> {
33
+ id: String,
34
+ mime_type: String?,
35
+ name: String?,
36
+ type: :file,
37
+ upload_url: String?
38
+ }
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,47 @@
1
+ module OpenAI
2
+ module Models
3
+ module Beta
4
+ type image_part =
5
+ {
6
+ id: String,
7
+ mime_type: String,
8
+ name: String?,
9
+ preview_url: String,
10
+ type: :image,
11
+ upload_url: String?
12
+ }
13
+
14
+ class ImagePart < OpenAI::Internal::Type::BaseModel
15
+ attr_accessor id: String
16
+
17
+ attr_accessor mime_type: String
18
+
19
+ attr_accessor name: String?
20
+
21
+ attr_accessor preview_url: String
22
+
23
+ attr_accessor type: :image
24
+
25
+ attr_accessor upload_url: String?
26
+
27
+ def initialize: (
28
+ id: String,
29
+ mime_type: String,
30
+ name: String?,
31
+ preview_url: String,
32
+ upload_url: String?,
33
+ ?type: :image
34
+ ) -> void
35
+
36
+ def to_hash: -> {
37
+ id: String,
38
+ mime_type: String,
39
+ name: String?,
40
+ preview_url: String,
41
+ type: :image,
42
+ upload_url: String?
43
+ }
44
+ end
45
+ end
46
+ end
47
+ end
@@ -1,6 +1,7 @@
1
1
  module OpenAI
2
2
  module Models
3
- type image_model = :"dall-e-2" | :"dall-e-3" | :"gpt-image-1"
3
+ type image_model =
4
+ :"dall-e-2" | :"dall-e-3" | :"gpt-image-1" | :"gpt-image-1-mini"
4
5
 
5
6
  module ImageModel
6
7
  extend OpenAI::Internal::Type::Enum
@@ -8,6 +9,7 @@ module OpenAI
8
9
  DALL_E_2: :"dall-e-2"
9
10
  DALL_E_3: :"dall-e-3"
10
11
  GPT_IMAGE_1: :"gpt-image-1"
12
+ GPT_IMAGE_1_MINI: :"gpt-image-1-mini"
11
13
 
12
14
  def self?.values: -> ::Array[OpenAI::Models::image_model]
13
15
  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