openai 0.53.0 → 0.55.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 (58) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +25 -0
  3. data/README.md +1 -1
  4. data/lib/openai/models/audio/speech_create_params.rb +32 -8
  5. data/lib/openai/models/chat/chat_completion_audio_param.rb +30 -6
  6. data/lib/openai/models/image_input_reference_param.rb +23 -0
  7. data/lib/openai/models/realtime/realtime_audio_config_output.rb +34 -8
  8. data/lib/openai/models/realtime/realtime_response_create_audio_output.rb +34 -8
  9. data/lib/openai/models/responses/response_input_file.rb +1 -24
  10. data/lib/openai/models/responses/response_input_file_content.rb +1 -27
  11. data/lib/openai/models/video_create_character_params.rb +30 -0
  12. data/lib/openai/models/video_create_character_response.rb +33 -0
  13. data/lib/openai/models/video_create_params.rb +17 -4
  14. data/lib/openai/models/video_edit_params.rb +57 -0
  15. data/lib/openai/models/video_extend_params.rb +69 -0
  16. data/lib/openai/models/video_get_character_params.rb +20 -0
  17. data/lib/openai/models/video_get_character_response.rb +33 -0
  18. data/lib/openai/models.rb +10 -0
  19. data/lib/openai/resources/audio/speech.rb +1 -1
  20. data/lib/openai/resources/videos.rb +102 -1
  21. data/lib/openai/version.rb +1 -1
  22. data/lib/openai.rb +7 -0
  23. data/rbi/openai/client.rbi +6 -0
  24. data/rbi/openai/models/audio/speech_create_params.rbi +49 -10
  25. data/rbi/openai/models/chat/chat_completion_audio_param.rbi +40 -7
  26. data/rbi/openai/models/image_input_reference_param.rbi +39 -0
  27. data/rbi/openai/models/realtime/realtime_audio_config_output.rbi +48 -11
  28. data/rbi/openai/models/realtime/realtime_response_create_audio_output.rbi +48 -11
  29. data/rbi/openai/models/responses/response_input_file.rbi +0 -54
  30. data/rbi/openai/models/responses/response_input_file_content.rbi +0 -59
  31. data/rbi/openai/models/video_create_character_params.rbi +51 -0
  32. data/rbi/openai/models/video_create_character_response.rbi +56 -0
  33. data/rbi/openai/models/video_create_params.rbi +44 -6
  34. data/rbi/openai/models/video_edit_params.rbi +111 -0
  35. data/rbi/openai/models/video_extend_params.rbi +121 -0
  36. data/rbi/openai/models/video_get_character_params.rbi +35 -0
  37. data/rbi/openai/models/video_get_character_response.rbi +56 -0
  38. data/rbi/openai/models.rbi +10 -0
  39. data/rbi/openai/resources/audio/speech.rbi +8 -3
  40. data/rbi/openai/resources/videos.rbi +84 -2
  41. data/sig/openai/client.rbs +3 -0
  42. data/sig/openai/models/audio/speech_create_params.rbs +11 -0
  43. data/sig/openai/models/chat/chat_completion_audio_param.rbs +11 -0
  44. data/sig/openai/models/image_input_reference_param.rbs +19 -0
  45. data/sig/openai/models/realtime/realtime_audio_config_output.rbs +11 -0
  46. data/sig/openai/models/realtime/realtime_response_create_audio_output.rbs +11 -0
  47. data/sig/openai/models/responses/response_input_file.rbs +0 -20
  48. data/sig/openai/models/responses/response_input_file_content.rbs +0 -20
  49. data/sig/openai/models/video_create_character_params.rbs +28 -0
  50. data/sig/openai/models/video_create_character_response.rbs +18 -0
  51. data/sig/openai/models/video_create_params.rbs +15 -6
  52. data/sig/openai/models/video_edit_params.rbs +48 -0
  53. data/sig/openai/models/video_extend_params.rbs +56 -0
  54. data/sig/openai/models/video_get_character_params.rbs +23 -0
  55. data/sig/openai/models/video_get_character_response.rbs +18 -0
  56. data/sig/openai/models.rbs +10 -0
  57. data/sig/openai/resources/videos.rbs +25 -1
  58. metadata +23 -2
@@ -4,7 +4,6 @@ module OpenAI
4
4
  type response_input_file_content =
5
5
  {
6
6
  type: :input_file,
7
- detail: OpenAI::Models::Responses::ResponseInputFileContent::detail,
8
7
  file_data: String?,
9
8
  file_id: String?,
10
9
  file_url: String?,
@@ -14,12 +13,6 @@ module OpenAI
14
13
  class ResponseInputFileContent < OpenAI::Internal::Type::BaseModel
15
14
  attr_accessor type: :input_file
16
15
 
17
- attr_reader detail: OpenAI::Models::Responses::ResponseInputFileContent::detail?
18
-
19
- def detail=: (
20
- OpenAI::Models::Responses::ResponseInputFileContent::detail
21
- ) -> OpenAI::Models::Responses::ResponseInputFileContent::detail
22
-
23
16
  attr_accessor file_data: String?
24
17
 
25
18
  attr_accessor file_id: String?
@@ -29,7 +22,6 @@ module OpenAI
29
22
  attr_accessor filename: String?
30
23
 
31
24
  def initialize: (
32
- ?detail: OpenAI::Models::Responses::ResponseInputFileContent::detail,
33
25
  ?file_data: String?,
34
26
  ?file_id: String?,
35
27
  ?file_url: String?,
@@ -39,23 +31,11 @@ module OpenAI
39
31
 
40
32
  def to_hash: -> {
41
33
  type: :input_file,
42
- detail: OpenAI::Models::Responses::ResponseInputFileContent::detail,
43
34
  file_data: String?,
44
35
  file_id: String?,
45
36
  file_url: String?,
46
37
  filename: String?
47
38
  }
48
-
49
- type detail = :high | :low
50
-
51
- module Detail
52
- extend OpenAI::Internal::Type::Enum
53
-
54
- HIGH: :high
55
- LOW: :low
56
-
57
- def self?.values: -> ::Array[OpenAI::Models::Responses::ResponseInputFileContent::detail]
58
- end
59
39
  end
60
40
  end
61
41
  end
@@ -0,0 +1,28 @@
1
+ module OpenAI
2
+ module Models
3
+ type video_create_character_params =
4
+ { name: String, video: OpenAI::Internal::file_input }
5
+ & OpenAI::Internal::Type::request_parameters
6
+
7
+ class VideoCreateCharacterParams < OpenAI::Internal::Type::BaseModel
8
+ extend OpenAI::Internal::Type::RequestParameters::Converter
9
+ include OpenAI::Internal::Type::RequestParameters
10
+
11
+ attr_accessor name: String
12
+
13
+ attr_accessor video: OpenAI::Internal::file_input
14
+
15
+ def initialize: (
16
+ name: String,
17
+ video: OpenAI::Internal::file_input,
18
+ ?request_options: OpenAI::request_opts
19
+ ) -> void
20
+
21
+ def to_hash: -> {
22
+ name: String,
23
+ video: OpenAI::Internal::file_input,
24
+ request_options: OpenAI::RequestOptions
25
+ }
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,18 @@
1
+ module OpenAI
2
+ module Models
3
+ type video_create_character_response =
4
+ { id: String?, created_at: Integer, name: String? }
5
+
6
+ class VideoCreateCharacterResponse < OpenAI::Internal::Type::BaseModel
7
+ attr_accessor id: String?
8
+
9
+ attr_accessor created_at: Integer
10
+
11
+ attr_accessor name: String?
12
+
13
+ def initialize: (id: String?, created_at: Integer, name: String?) -> void
14
+
15
+ def to_hash: -> { id: String?, created_at: Integer, name: String? }
16
+ end
17
+ end
18
+ end
@@ -3,7 +3,7 @@ module OpenAI
3
3
  type video_create_params =
4
4
  {
5
5
  prompt: String,
6
- input_reference: OpenAI::Internal::file_input,
6
+ input_reference: OpenAI::Models::VideoCreateParams::input_reference,
7
7
  model: OpenAI::Models::video_model,
8
8
  seconds: OpenAI::Models::video_seconds,
9
9
  size: OpenAI::Models::video_size
@@ -16,11 +16,11 @@ module OpenAI
16
16
 
17
17
  attr_accessor prompt: String
18
18
 
19
- attr_reader input_reference: OpenAI::Internal::file_input?
19
+ attr_reader input_reference: OpenAI::Models::VideoCreateParams::input_reference?
20
20
 
21
21
  def input_reference=: (
22
- OpenAI::Internal::file_input
23
- ) -> OpenAI::Internal::file_input
22
+ OpenAI::Models::VideoCreateParams::input_reference
23
+ ) -> OpenAI::Models::VideoCreateParams::input_reference
24
24
 
25
25
  attr_reader model: OpenAI::Models::video_model?
26
26
 
@@ -38,7 +38,7 @@ module OpenAI
38
38
 
39
39
  def initialize: (
40
40
  prompt: String,
41
- ?input_reference: OpenAI::Internal::file_input,
41
+ ?input_reference: OpenAI::Models::VideoCreateParams::input_reference,
42
42
  ?model: OpenAI::Models::video_model,
43
43
  ?seconds: OpenAI::Models::video_seconds,
44
44
  ?size: OpenAI::Models::video_size,
@@ -47,12 +47,21 @@ module OpenAI
47
47
 
48
48
  def to_hash: -> {
49
49
  prompt: String,
50
- input_reference: OpenAI::Internal::file_input,
50
+ input_reference: OpenAI::Models::VideoCreateParams::input_reference,
51
51
  model: OpenAI::Models::video_model,
52
52
  seconds: OpenAI::Models::video_seconds,
53
53
  size: OpenAI::Models::video_size,
54
54
  request_options: OpenAI::RequestOptions
55
55
  }
56
+
57
+ type input_reference =
58
+ OpenAI::Internal::file_input | OpenAI::ImageInputReferenceParam
59
+
60
+ module InputReference
61
+ extend OpenAI::Internal::Type::Union
62
+
63
+ def self?.variants: -> ::Array[OpenAI::Models::VideoCreateParams::input_reference]
64
+ end
56
65
  end
57
66
  end
58
67
  end
@@ -0,0 +1,48 @@
1
+ module OpenAI
2
+ module Models
3
+ type video_edit_params =
4
+ { prompt: String, video: OpenAI::Models::VideoEditParams::video }
5
+ & OpenAI::Internal::Type::request_parameters
6
+
7
+ class VideoEditParams < OpenAI::Internal::Type::BaseModel
8
+ extend OpenAI::Internal::Type::RequestParameters::Converter
9
+ include OpenAI::Internal::Type::RequestParameters
10
+
11
+ attr_accessor prompt: String
12
+
13
+ attr_accessor video: OpenAI::Models::VideoEditParams::video
14
+
15
+ def initialize: (
16
+ prompt: String,
17
+ video: OpenAI::Models::VideoEditParams::video,
18
+ ?request_options: OpenAI::request_opts
19
+ ) -> void
20
+
21
+ def to_hash: -> {
22
+ prompt: String,
23
+ video: OpenAI::Models::VideoEditParams::video,
24
+ request_options: OpenAI::RequestOptions
25
+ }
26
+
27
+ type video =
28
+ OpenAI::Internal::file_input
29
+ | OpenAI::VideoEditParams::Video::VideoReferenceInputParam
30
+
31
+ module Video
32
+ extend OpenAI::Internal::Type::Union
33
+
34
+ type video_reference_input_param = { id: String }
35
+
36
+ class VideoReferenceInputParam < OpenAI::Internal::Type::BaseModel
37
+ attr_accessor id: String
38
+
39
+ def initialize: (id: String) -> void
40
+
41
+ def to_hash: -> { id: String }
42
+ end
43
+
44
+ def self?.variants: -> ::Array[OpenAI::Models::VideoEditParams::video]
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,56 @@
1
+ module OpenAI
2
+ module Models
3
+ type video_extend_params =
4
+ {
5
+ prompt: String,
6
+ seconds: OpenAI::Models::video_seconds,
7
+ video: OpenAI::Models::VideoExtendParams::video
8
+ }
9
+ & OpenAI::Internal::Type::request_parameters
10
+
11
+ class VideoExtendParams < OpenAI::Internal::Type::BaseModel
12
+ extend OpenAI::Internal::Type::RequestParameters::Converter
13
+ include OpenAI::Internal::Type::RequestParameters
14
+
15
+ attr_accessor prompt: String
16
+
17
+ attr_accessor seconds: OpenAI::Models::video_seconds
18
+
19
+ attr_accessor video: OpenAI::Models::VideoExtendParams::video
20
+
21
+ def initialize: (
22
+ prompt: String,
23
+ seconds: OpenAI::Models::video_seconds,
24
+ video: OpenAI::Models::VideoExtendParams::video,
25
+ ?request_options: OpenAI::request_opts
26
+ ) -> void
27
+
28
+ def to_hash: -> {
29
+ prompt: String,
30
+ seconds: OpenAI::Models::video_seconds,
31
+ video: OpenAI::Models::VideoExtendParams::video,
32
+ request_options: OpenAI::RequestOptions
33
+ }
34
+
35
+ type video =
36
+ OpenAI::Internal::file_input
37
+ | OpenAI::VideoExtendParams::Video::VideoReferenceInputParam
38
+
39
+ module Video
40
+ extend OpenAI::Internal::Type::Union
41
+
42
+ type video_reference_input_param = { id: String }
43
+
44
+ class VideoReferenceInputParam < OpenAI::Internal::Type::BaseModel
45
+ attr_accessor id: String
46
+
47
+ def initialize: (id: String) -> void
48
+
49
+ def to_hash: -> { id: String }
50
+ end
51
+
52
+ def self?.variants: -> ::Array[OpenAI::Models::VideoExtendParams::video]
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,23 @@
1
+ module OpenAI
2
+ module Models
3
+ type video_get_character_params =
4
+ { character_id: String } & OpenAI::Internal::Type::request_parameters
5
+
6
+ class VideoGetCharacterParams < OpenAI::Internal::Type::BaseModel
7
+ extend OpenAI::Internal::Type::RequestParameters::Converter
8
+ include OpenAI::Internal::Type::RequestParameters
9
+
10
+ attr_accessor character_id: String
11
+
12
+ def initialize: (
13
+ character_id: String,
14
+ ?request_options: OpenAI::request_opts
15
+ ) -> void
16
+
17
+ def to_hash: -> {
18
+ character_id: String,
19
+ request_options: OpenAI::RequestOptions
20
+ }
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,18 @@
1
+ module OpenAI
2
+ module Models
3
+ type video_get_character_response =
4
+ { id: String?, created_at: Integer, name: String? }
5
+
6
+ class VideoGetCharacterResponse < OpenAI::Internal::Type::BaseModel
7
+ attr_accessor id: String?
8
+
9
+ attr_accessor created_at: Integer
10
+
11
+ attr_accessor name: String?
12
+
13
+ def initialize: (id: String?, created_at: Integer, name: String?) -> void
14
+
15
+ def to_hash: -> { id: String?, created_at: Integer, name: String? }
16
+ end
17
+ end
18
+ end
@@ -135,6 +135,8 @@ module OpenAI
135
135
 
136
136
  module ImageGenStreamEvent = OpenAI::Models::ImageGenStreamEvent
137
137
 
138
+ class ImageInputReferenceParam = OpenAI::Models::ImageInputReferenceParam
139
+
138
140
  module ImageModel = OpenAI::Models::ImageModel
139
141
 
140
142
  class ImagesResponse = OpenAI::Models::ImagesResponse
@@ -237,6 +239,8 @@ module OpenAI
237
239
 
238
240
  class Video = OpenAI::Models::Video
239
241
 
242
+ class VideoCreateCharacterParams = OpenAI::Models::VideoCreateCharacterParams
243
+
240
244
  class VideoCreateError = OpenAI::Models::VideoCreateError
241
245
 
242
246
  class VideoCreateParams = OpenAI::Models::VideoCreateParams
@@ -245,6 +249,12 @@ module OpenAI
245
249
 
246
250
  class VideoDownloadContentParams = OpenAI::Models::VideoDownloadContentParams
247
251
 
252
+ class VideoEditParams = OpenAI::Models::VideoEditParams
253
+
254
+ class VideoExtendParams = OpenAI::Models::VideoExtendParams
255
+
256
+ class VideoGetCharacterParams = OpenAI::Models::VideoGetCharacterParams
257
+
248
258
  class VideoListParams = OpenAI::Models::VideoListParams
249
259
 
250
260
  module VideoModel = OpenAI::Models::VideoModel
@@ -3,7 +3,7 @@ module OpenAI
3
3
  class Videos
4
4
  def create: (
5
5
  prompt: String,
6
- ?input_reference: OpenAI::Internal::file_input,
6
+ ?input_reference: OpenAI::Models::VideoCreateParams::input_reference,
7
7
  ?model: OpenAI::Models::video_model,
8
8
  ?seconds: OpenAI::Models::video_seconds,
9
9
  ?size: OpenAI::Models::video_size,
@@ -27,12 +27,36 @@ module OpenAI
27
27
  ?request_options: OpenAI::request_opts
28
28
  ) -> OpenAI::Models::VideoDeleteResponse
29
29
 
30
+ def create_character: (
31
+ name: String,
32
+ video: OpenAI::Internal::file_input,
33
+ ?request_options: OpenAI::request_opts
34
+ ) -> OpenAI::Models::VideoCreateCharacterResponse
35
+
30
36
  def download_content: (
31
37
  String video_id,
32
38
  ?variant: OpenAI::Models::VideoDownloadContentParams::variant,
33
39
  ?request_options: OpenAI::request_opts
34
40
  ) -> StringIO
35
41
 
42
+ def edit: (
43
+ prompt: String,
44
+ video: OpenAI::Models::VideoEditParams::video,
45
+ ?request_options: OpenAI::request_opts
46
+ ) -> OpenAI::Video
47
+
48
+ def extend_: (
49
+ prompt: String,
50
+ seconds: OpenAI::Models::video_seconds,
51
+ video: OpenAI::Models::VideoExtendParams::video,
52
+ ?request_options: OpenAI::request_opts
53
+ ) -> OpenAI::Video
54
+
55
+ def get_character: (
56
+ String character_id,
57
+ ?request_options: OpenAI::request_opts
58
+ ) -> OpenAI::Models::VideoGetCharacterResponse
59
+
36
60
  def remix: (
37
61
  String video_id,
38
62
  prompt: String,
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openai
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.53.0
4
+ version: 0.55.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenAI
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-03-05 00:00:00.000000000 Z
11
+ date: 2026-03-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: base64
@@ -434,6 +434,7 @@ files:
434
434
  - lib/openai/models/image_gen_partial_image_event.rb
435
435
  - lib/openai/models/image_gen_stream_event.rb
436
436
  - lib/openai/models/image_generate_params.rb
437
+ - lib/openai/models/image_input_reference_param.rb
437
438
  - lib/openai/models/image_model.rb
438
439
  - lib/openai/models/images_response.rb
439
440
  - lib/openai/models/metadata.rb
@@ -772,11 +773,17 @@ files:
772
773
  - lib/openai/models/vector_stores/vector_store_file_batch.rb
773
774
  - lib/openai/models/vector_stores/vector_store_file_deleted.rb
774
775
  - lib/openai/models/video.rb
776
+ - lib/openai/models/video_create_character_params.rb
777
+ - lib/openai/models/video_create_character_response.rb
775
778
  - lib/openai/models/video_create_error.rb
776
779
  - lib/openai/models/video_create_params.rb
777
780
  - lib/openai/models/video_delete_params.rb
778
781
  - lib/openai/models/video_delete_response.rb
779
782
  - lib/openai/models/video_download_content_params.rb
783
+ - lib/openai/models/video_edit_params.rb
784
+ - lib/openai/models/video_extend_params.rb
785
+ - lib/openai/models/video_get_character_params.rb
786
+ - lib/openai/models/video_get_character_response.rb
780
787
  - lib/openai/models/video_list_params.rb
781
788
  - lib/openai/models/video_model.rb
782
789
  - lib/openai/models/video_remix_params.rb
@@ -1228,6 +1235,7 @@ files:
1228
1235
  - rbi/openai/models/image_gen_partial_image_event.rbi
1229
1236
  - rbi/openai/models/image_gen_stream_event.rbi
1230
1237
  - rbi/openai/models/image_generate_params.rbi
1238
+ - rbi/openai/models/image_input_reference_param.rbi
1231
1239
  - rbi/openai/models/image_model.rbi
1232
1240
  - rbi/openai/models/images_response.rbi
1233
1241
  - rbi/openai/models/metadata.rbi
@@ -1566,11 +1574,17 @@ files:
1566
1574
  - rbi/openai/models/vector_stores/vector_store_file_batch.rbi
1567
1575
  - rbi/openai/models/vector_stores/vector_store_file_deleted.rbi
1568
1576
  - rbi/openai/models/video.rbi
1577
+ - rbi/openai/models/video_create_character_params.rbi
1578
+ - rbi/openai/models/video_create_character_response.rbi
1569
1579
  - rbi/openai/models/video_create_error.rbi
1570
1580
  - rbi/openai/models/video_create_params.rbi
1571
1581
  - rbi/openai/models/video_delete_params.rbi
1572
1582
  - rbi/openai/models/video_delete_response.rbi
1573
1583
  - rbi/openai/models/video_download_content_params.rbi
1584
+ - rbi/openai/models/video_edit_params.rbi
1585
+ - rbi/openai/models/video_extend_params.rbi
1586
+ - rbi/openai/models/video_get_character_params.rbi
1587
+ - rbi/openai/models/video_get_character_response.rbi
1574
1588
  - rbi/openai/models/video_list_params.rbi
1575
1589
  - rbi/openai/models/video_model.rbi
1576
1590
  - rbi/openai/models/video_remix_params.rbi
@@ -2012,6 +2026,7 @@ files:
2012
2026
  - sig/openai/models/image_gen_partial_image_event.rbs
2013
2027
  - sig/openai/models/image_gen_stream_event.rbs
2014
2028
  - sig/openai/models/image_generate_params.rbs
2029
+ - sig/openai/models/image_input_reference_param.rbs
2015
2030
  - sig/openai/models/image_model.rbs
2016
2031
  - sig/openai/models/images_response.rbs
2017
2032
  - sig/openai/models/metadata.rbs
@@ -2350,11 +2365,17 @@ files:
2350
2365
  - sig/openai/models/vector_stores/vector_store_file_batch.rbs
2351
2366
  - sig/openai/models/vector_stores/vector_store_file_deleted.rbs
2352
2367
  - sig/openai/models/video.rbs
2368
+ - sig/openai/models/video_create_character_params.rbs
2369
+ - sig/openai/models/video_create_character_response.rbs
2353
2370
  - sig/openai/models/video_create_error.rbs
2354
2371
  - sig/openai/models/video_create_params.rbs
2355
2372
  - sig/openai/models/video_delete_params.rbs
2356
2373
  - sig/openai/models/video_delete_response.rbs
2357
2374
  - sig/openai/models/video_download_content_params.rbs
2375
+ - sig/openai/models/video_edit_params.rbs
2376
+ - sig/openai/models/video_extend_params.rbs
2377
+ - sig/openai/models/video_get_character_params.rbs
2378
+ - sig/openai/models/video_get_character_response.rbs
2358
2379
  - sig/openai/models/video_list_params.rbs
2359
2380
  - sig/openai/models/video_model.rbs
2360
2381
  - sig/openai/models/video_remix_params.rbs