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,89 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ class VideoDownloadContentParams < OpenAI::Internal::Type::BaseModel
6
+ extend OpenAI::Internal::Type::RequestParameters::Converter
7
+ include OpenAI::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(OpenAI::VideoDownloadContentParams, OpenAI::Internal::AnyHash)
12
+ end
13
+
14
+ # Which downloadable asset to return. Defaults to the MP4 video.
15
+ sig do
16
+ returns(
17
+ T.nilable(OpenAI::VideoDownloadContentParams::Variant::OrSymbol)
18
+ )
19
+ end
20
+ attr_reader :variant
21
+
22
+ sig do
23
+ params(
24
+ variant: OpenAI::VideoDownloadContentParams::Variant::OrSymbol
25
+ ).void
26
+ end
27
+ attr_writer :variant
28
+
29
+ sig do
30
+ params(
31
+ variant: OpenAI::VideoDownloadContentParams::Variant::OrSymbol,
32
+ request_options: OpenAI::RequestOptions::OrHash
33
+ ).returns(T.attached_class)
34
+ end
35
+ def self.new(
36
+ # Which downloadable asset to return. Defaults to the MP4 video.
37
+ variant: nil,
38
+ request_options: {}
39
+ )
40
+ end
41
+
42
+ sig do
43
+ override.returns(
44
+ {
45
+ variant: OpenAI::VideoDownloadContentParams::Variant::OrSymbol,
46
+ request_options: OpenAI::RequestOptions
47
+ }
48
+ )
49
+ end
50
+ def to_hash
51
+ end
52
+
53
+ # Which downloadable asset to return. Defaults to the MP4 video.
54
+ module Variant
55
+ extend OpenAI::Internal::Type::Enum
56
+
57
+ TaggedSymbol =
58
+ T.type_alias do
59
+ T.all(Symbol, OpenAI::VideoDownloadContentParams::Variant)
60
+ end
61
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
62
+
63
+ VIDEO =
64
+ T.let(
65
+ :video,
66
+ OpenAI::VideoDownloadContentParams::Variant::TaggedSymbol
67
+ )
68
+ THUMBNAIL =
69
+ T.let(
70
+ :thumbnail,
71
+ OpenAI::VideoDownloadContentParams::Variant::TaggedSymbol
72
+ )
73
+ SPRITESHEET =
74
+ T.let(
75
+ :spritesheet,
76
+ OpenAI::VideoDownloadContentParams::Variant::TaggedSymbol
77
+ )
78
+
79
+ sig do
80
+ override.returns(
81
+ T::Array[OpenAI::VideoDownloadContentParams::Variant::TaggedSymbol]
82
+ )
83
+ end
84
+ def self.values
85
+ end
86
+ end
87
+ end
88
+ end
89
+ end
@@ -0,0 +1,91 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ class VideoListParams < OpenAI::Internal::Type::BaseModel
6
+ extend OpenAI::Internal::Type::RequestParameters::Converter
7
+ include OpenAI::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(OpenAI::VideoListParams, OpenAI::Internal::AnyHash)
12
+ end
13
+
14
+ # Identifier for the last item from the previous pagination request
15
+ sig { returns(T.nilable(String)) }
16
+ attr_reader :after
17
+
18
+ sig { params(after: String).void }
19
+ attr_writer :after
20
+
21
+ # Number of items to retrieve
22
+ sig { returns(T.nilable(Integer)) }
23
+ attr_reader :limit
24
+
25
+ sig { params(limit: Integer).void }
26
+ attr_writer :limit
27
+
28
+ # Sort order of results by timestamp. Use `asc` for ascending order or `desc` for
29
+ # descending order.
30
+ sig { returns(T.nilable(OpenAI::VideoListParams::Order::OrSymbol)) }
31
+ attr_reader :order
32
+
33
+ sig { params(order: OpenAI::VideoListParams::Order::OrSymbol).void }
34
+ attr_writer :order
35
+
36
+ sig do
37
+ params(
38
+ after: String,
39
+ limit: Integer,
40
+ order: OpenAI::VideoListParams::Order::OrSymbol,
41
+ request_options: OpenAI::RequestOptions::OrHash
42
+ ).returns(T.attached_class)
43
+ end
44
+ def self.new(
45
+ # Identifier for the last item from the previous pagination request
46
+ after: nil,
47
+ # Number of items to retrieve
48
+ limit: nil,
49
+ # Sort order of results by timestamp. Use `asc` for ascending order or `desc` for
50
+ # descending order.
51
+ order: nil,
52
+ request_options: {}
53
+ )
54
+ end
55
+
56
+ sig do
57
+ override.returns(
58
+ {
59
+ after: String,
60
+ limit: Integer,
61
+ order: OpenAI::VideoListParams::Order::OrSymbol,
62
+ request_options: OpenAI::RequestOptions
63
+ }
64
+ )
65
+ end
66
+ def to_hash
67
+ end
68
+
69
+ # Sort order of results by timestamp. Use `asc` for ascending order or `desc` for
70
+ # descending order.
71
+ module Order
72
+ extend OpenAI::Internal::Type::Enum
73
+
74
+ TaggedSymbol =
75
+ T.type_alias { T.all(Symbol, OpenAI::VideoListParams::Order) }
76
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
77
+
78
+ ASC = T.let(:asc, OpenAI::VideoListParams::Order::TaggedSymbol)
79
+ DESC = T.let(:desc, OpenAI::VideoListParams::Order::TaggedSymbol)
80
+
81
+ sig do
82
+ override.returns(
83
+ T::Array[OpenAI::VideoListParams::Order::TaggedSymbol]
84
+ )
85
+ end
86
+ def self.values
87
+ end
88
+ end
89
+ end
90
+ end
91
+ end
@@ -0,0 +1,19 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module VideoModel
6
+ extend OpenAI::Internal::Type::Enum
7
+
8
+ TaggedSymbol = T.type_alias { T.all(Symbol, OpenAI::VideoModel) }
9
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
10
+
11
+ SORA_2 = T.let(:"sora-2", OpenAI::VideoModel::TaggedSymbol)
12
+ SORA_2_PRO = T.let(:"sora-2-pro", OpenAI::VideoModel::TaggedSymbol)
13
+
14
+ sig { override.returns(T::Array[OpenAI::VideoModel::TaggedSymbol]) }
15
+ def self.values
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,40 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ class VideoRemixParams < OpenAI::Internal::Type::BaseModel
6
+ extend OpenAI::Internal::Type::RequestParameters::Converter
7
+ include OpenAI::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(OpenAI::VideoRemixParams, OpenAI::Internal::AnyHash)
12
+ end
13
+
14
+ # Updated text prompt that directs the remix generation.
15
+ sig { returns(String) }
16
+ attr_accessor :prompt
17
+
18
+ sig do
19
+ params(
20
+ prompt: String,
21
+ request_options: OpenAI::RequestOptions::OrHash
22
+ ).returns(T.attached_class)
23
+ end
24
+ def self.new(
25
+ # Updated text prompt that directs the remix generation.
26
+ prompt:,
27
+ request_options: {}
28
+ )
29
+ end
30
+
31
+ sig do
32
+ override.returns(
33
+ { prompt: String, request_options: OpenAI::RequestOptions }
34
+ )
35
+ end
36
+ def to_hash
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,27 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ class VideoRetrieveParams < OpenAI::Internal::Type::BaseModel
6
+ extend OpenAI::Internal::Type::RequestParameters::Converter
7
+ include OpenAI::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(OpenAI::VideoRetrieveParams, OpenAI::Internal::AnyHash)
12
+ end
13
+
14
+ sig do
15
+ params(request_options: OpenAI::RequestOptions::OrHash).returns(
16
+ T.attached_class
17
+ )
18
+ end
19
+ def self.new(request_options: {})
20
+ end
21
+
22
+ sig { override.returns({ request_options: OpenAI::RequestOptions }) }
23
+ def to_hash
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,20 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module VideoSeconds
6
+ extend OpenAI::Internal::Type::Enum
7
+
8
+ TaggedSymbol = T.type_alias { T.all(Symbol, OpenAI::VideoSeconds) }
9
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
10
+
11
+ VIDEO_SECONDS_4 = T.let(:"4", OpenAI::VideoSeconds::TaggedSymbol)
12
+ VIDEO_SECONDS_8 = T.let(:"8", OpenAI::VideoSeconds::TaggedSymbol)
13
+ VIDEO_SECONDS_12 = T.let(:"12", OpenAI::VideoSeconds::TaggedSymbol)
14
+
15
+ sig { override.returns(T::Array[OpenAI::VideoSeconds::TaggedSymbol]) }
16
+ def self.values
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,23 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module VideoSize
6
+ extend OpenAI::Internal::Type::Enum
7
+
8
+ TaggedSymbol = T.type_alias { T.all(Symbol, OpenAI::VideoSize) }
9
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
10
+
11
+ VIDEO_SIZE_720X1280 = T.let(:"720x1280", OpenAI::VideoSize::TaggedSymbol)
12
+ VIDEO_SIZE_1280X720 = T.let(:"1280x720", OpenAI::VideoSize::TaggedSymbol)
13
+ VIDEO_SIZE_1024X1792 =
14
+ T.let(:"1024x1792", OpenAI::VideoSize::TaggedSymbol)
15
+ VIDEO_SIZE_1792X1024 =
16
+ T.let(:"1792x1024", OpenAI::VideoSize::TaggedSymbol)
17
+
18
+ sig { override.returns(T::Array[OpenAI::VideoSize::TaggedSymbol]) }
19
+ def self.values
20
+ end
21
+ end
22
+ end
23
+ end
@@ -224,5 +224,27 @@ module OpenAI
224
224
 
225
225
  VectorStoreUpdateParams = OpenAI::Models::VectorStoreUpdateParams
226
226
 
227
+ Video = OpenAI::Models::Video
228
+
229
+ VideoCreateError = OpenAI::Models::VideoCreateError
230
+
231
+ VideoCreateParams = OpenAI::Models::VideoCreateParams
232
+
233
+ VideoDeleteParams = OpenAI::Models::VideoDeleteParams
234
+
235
+ VideoDownloadContentParams = OpenAI::Models::VideoDownloadContentParams
236
+
237
+ VideoListParams = OpenAI::Models::VideoListParams
238
+
239
+ VideoModel = OpenAI::Models::VideoModel
240
+
241
+ VideoRemixParams = OpenAI::Models::VideoRemixParams
242
+
243
+ VideoRetrieveParams = OpenAI::Models::VideoRetrieveParams
244
+
245
+ VideoSeconds = OpenAI::Models::VideoSeconds
246
+
247
+ VideoSize = OpenAI::Models::VideoSize
248
+
227
249
  Webhooks = OpenAI::Models::Webhooks
228
250
  end
@@ -0,0 +1,61 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Resources
5
+ class Beta
6
+ class ChatKit
7
+ class Sessions
8
+ # Create a ChatKit session
9
+ sig do
10
+ params(
11
+ user: String,
12
+ workflow: OpenAI::Beta::ChatKit::ChatSessionWorkflowParam::OrHash,
13
+ chatkit_configuration:
14
+ OpenAI::Beta::ChatKit::ChatSessionChatKitConfigurationParam::OrHash,
15
+ expires_after:
16
+ OpenAI::Beta::ChatKit::ChatSessionExpiresAfterParam::OrHash,
17
+ rate_limits:
18
+ OpenAI::Beta::ChatKit::ChatSessionRateLimitsParam::OrHash,
19
+ request_options: OpenAI::RequestOptions::OrHash
20
+ ).returns(OpenAI::Beta::ChatKit::ChatSession)
21
+ end
22
+ def create(
23
+ # A free-form string that identifies your end user; ensures this Session can
24
+ # access other objects that have the same `user` scope.
25
+ user:,
26
+ # Workflow that powers the session.
27
+ workflow:,
28
+ # Optional overrides for ChatKit runtime configuration features
29
+ chatkit_configuration: nil,
30
+ # Optional override for session expiration timing in seconds from creation.
31
+ # Defaults to 10 minutes.
32
+ expires_after: nil,
33
+ # Optional override for per-minute request limits. When omitted, defaults to 10.
34
+ rate_limits: nil,
35
+ request_options: {}
36
+ )
37
+ end
38
+
39
+ # Cancel a ChatKit session
40
+ sig do
41
+ params(
42
+ session_id: String,
43
+ request_options: OpenAI::RequestOptions::OrHash
44
+ ).returns(OpenAI::Beta::ChatKit::ChatSession)
45
+ end
46
+ def cancel(
47
+ # Unique identifier for the ChatKit session to cancel.
48
+ session_id,
49
+ request_options: {}
50
+ )
51
+ end
52
+
53
+ # @api private
54
+ sig { params(client: OpenAI::Client).returns(T.attached_class) }
55
+ def self.new(client:)
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,110 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Resources
5
+ class Beta
6
+ class ChatKit
7
+ class Threads
8
+ # Retrieve a ChatKit thread
9
+ sig do
10
+ params(
11
+ thread_id: String,
12
+ request_options: OpenAI::RequestOptions::OrHash
13
+ ).returns(OpenAI::Beta::ChatKit::ChatKitThread)
14
+ end
15
+ def retrieve(
16
+ # Identifier of the ChatKit thread to retrieve.
17
+ thread_id,
18
+ request_options: {}
19
+ )
20
+ end
21
+
22
+ # List ChatKit threads
23
+ sig do
24
+ params(
25
+ after: String,
26
+ before: String,
27
+ limit: Integer,
28
+ order: OpenAI::Beta::ChatKit::ThreadListParams::Order::OrSymbol,
29
+ user: String,
30
+ request_options: OpenAI::RequestOptions::OrHash
31
+ ).returns(
32
+ OpenAI::Internal::ConversationCursorPage[
33
+ OpenAI::Beta::ChatKit::ChatKitThread
34
+ ]
35
+ )
36
+ end
37
+ def list(
38
+ # List items created after this thread item ID. Defaults to null for the first
39
+ # page.
40
+ after: nil,
41
+ # List items created before this thread item ID. Defaults to null for the newest
42
+ # results.
43
+ before: nil,
44
+ # Maximum number of thread items to return. Defaults to 20.
45
+ limit: nil,
46
+ # Sort order for results by creation time. Defaults to `desc`.
47
+ order: nil,
48
+ # Filter threads that belong to this user identifier. Defaults to null to return
49
+ # all users.
50
+ user: nil,
51
+ request_options: {}
52
+ )
53
+ end
54
+
55
+ # Delete a ChatKit thread
56
+ sig do
57
+ params(
58
+ thread_id: String,
59
+ request_options: OpenAI::RequestOptions::OrHash
60
+ ).returns(OpenAI::Models::Beta::ChatKit::ThreadDeleteResponse)
61
+ end
62
+ def delete(
63
+ # Identifier of the ChatKit thread to delete.
64
+ thread_id,
65
+ request_options: {}
66
+ )
67
+ end
68
+
69
+ # List ChatKit thread items
70
+ sig do
71
+ params(
72
+ thread_id: String,
73
+ after: String,
74
+ before: String,
75
+ limit: Integer,
76
+ order:
77
+ OpenAI::Beta::ChatKit::ThreadListItemsParams::Order::OrSymbol,
78
+ request_options: OpenAI::RequestOptions::OrHash
79
+ ).returns(
80
+ OpenAI::Internal::ConversationCursorPage[
81
+ OpenAI::Beta::ChatKit::ChatKitThreadItemList::Data::Variants
82
+ ]
83
+ )
84
+ end
85
+ def list_items(
86
+ # Identifier of the ChatKit thread whose items are requested.
87
+ thread_id,
88
+ # List items created after this thread item ID. Defaults to null for the first
89
+ # page.
90
+ after: nil,
91
+ # List items created before this thread item ID. Defaults to null for the newest
92
+ # results.
93
+ before: nil,
94
+ # Maximum number of thread items to return. Defaults to 20.
95
+ limit: nil,
96
+ # Sort order for results by creation time. Defaults to `desc`.
97
+ order: nil,
98
+ request_options: {}
99
+ )
100
+ end
101
+
102
+ # @api private
103
+ sig { params(client: OpenAI::Client).returns(T.attached_class) }
104
+ def self.new(client:)
105
+ end
106
+ end
107
+ end
108
+ end
109
+ end
110
+ end
@@ -0,0 +1,35 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Resources
5
+ class Beta
6
+ class ChatKit
7
+ sig { returns(OpenAI::Resources::Beta::ChatKit::Sessions) }
8
+ attr_reader :sessions
9
+
10
+ sig { returns(OpenAI::Resources::Beta::ChatKit::Threads) }
11
+ attr_reader :threads
12
+
13
+ # Upload a ChatKit file
14
+ sig do
15
+ params(
16
+ file: OpenAI::Internal::FileInput,
17
+ request_options: OpenAI::RequestOptions::OrHash
18
+ ).returns(OpenAI::Models::Beta::ChatKitUploadFileResponse::Variants)
19
+ end
20
+ def upload_file(
21
+ # Binary file contents to store with the ChatKit session. Supports PDFs and PNG,
22
+ # JPG, JPEG, GIF, or WEBP images.
23
+ file:,
24
+ request_options: {}
25
+ )
26
+ end
27
+
28
+ # @api private
29
+ sig { params(client: OpenAI::Client).returns(T.attached_class) }
30
+ def self.new(client:)
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
@@ -3,6 +3,9 @@
3
3
  module OpenAI
4
4
  module Resources
5
5
  class Beta
6
+ sig { returns(OpenAI::Resources::Beta::ChatKit) }
7
+ attr_reader :chatkit
8
+
6
9
  sig { returns(OpenAI::Resources::Beta::Assistants) }
7
10
  attr_reader :assistants
8
11
 
@@ -91,7 +91,8 @@ module OpenAI
91
91
  background: nil,
92
92
  # Control how much effort the model will exert to match the style and features,
93
93
  # especially facial features, of input images. This parameter is only supported
94
- # for `gpt-image-1`. Supports `high` and `low`. Defaults to `low`.
94
+ # for `gpt-image-1`. Unsupported for `gpt-image-1-mini`. Supports `high` and
95
+ # `low`. Defaults to `low`.
95
96
  input_fidelity: nil,
96
97
  # An additional image whose fully transparent areas (e.g. where alpha is zero)
97
98
  # indicate where `image` should be edited. If there are multiple images provided,
@@ -194,7 +195,8 @@ module OpenAI
194
195
  background: nil,
195
196
  # Control how much effort the model will exert to match the style and features,
196
197
  # especially facial features, of input images. This parameter is only supported
197
- # for `gpt-image-1`. Supports `high` and `low`. Defaults to `low`.
198
+ # for `gpt-image-1`. Unsupported for `gpt-image-1-mini`. Supports `high` and
199
+ # `low`. Defaults to `low`.
198
200
  input_fidelity: nil,
199
201
  # An additional image whose fully transparent areas (e.g. where alpha is zero)
200
202
  # indicate where `image` should be edited. If there are multiple images provided,