Skip to content

Commit 1d16d82

Browse files
feat(api): sora api improvements: character api, video extensions/edits, higher resolution exports.
1 parent 3979765 commit 1d16d82

48 files changed

Lines changed: 664 additions & 743 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.stats.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 151
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/openai%2Fopenai-8de5b14ece687aac55187d923c8dca4b8c4a4dbaaa38bb1bcfffc975d441aca8.yml
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/openai%2Fopenai-3e207c26eea3b15837c78ef2fe0e1c68937708fd0763971ce749c0bdb7db6376.yml
33
openapi_spec_hash: 626982004d5a594a822fa7883422efb4
4-
config_hash: 8421b0e4dae127df4dcc071c1aa5ea1a
4+
config_hash: 0dda4b3af379312c9c55467a5e1e1ec0

lib/openai.rb

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -403,6 +403,7 @@
403403
require_relative "openai/models/image_generate_params"
404404
require_relative "openai/models/image_gen_partial_image_event"
405405
require_relative "openai/models/image_gen_stream_event"
406+
require_relative "openai/models/image_input_reference_param"
406407
require_relative "openai/models/image_model"
407408
require_relative "openai/models/images_response"
408409
require_relative "openai/models/metadata"
@@ -733,21 +734,21 @@
733734
require_relative "openai/models/vector_store_search_response"
734735
require_relative "openai/models/vector_store_update_params"
735736
require_relative "openai/models/video"
737+
require_relative "openai/models/video_create_character_params"
738+
require_relative "openai/models/video_create_character_response"
736739
require_relative "openai/models/video_create_error"
737740
require_relative "openai/models/video_create_params"
738741
require_relative "openai/models/video_delete_params"
739742
require_relative "openai/models/video_delete_response"
740743
require_relative "openai/models/video_download_content_params"
741744
require_relative "openai/models/video_edit_params"
742745
require_relative "openai/models/video_extend_params"
746+
require_relative "openai/models/video_get_character_params"
747+
require_relative "openai/models/video_get_character_response"
743748
require_relative "openai/models/video_list_params"
744749
require_relative "openai/models/video_model"
745750
require_relative "openai/models/video_remix_params"
746751
require_relative "openai/models/video_retrieve_params"
747-
require_relative "openai/models/videos/character_create_params"
748-
require_relative "openai/models/videos/character_create_response"
749-
require_relative "openai/models/videos/character_get_params"
750-
require_relative "openai/models/videos/character_get_response"
751752
require_relative "openai/models/video_seconds"
752753
require_relative "openai/models/video_size"
753754
require_relative "openai/models/webhooks/batch_cancelled_webhook_event"
@@ -825,7 +826,6 @@
825826
require_relative "openai/resources/vector_stores/file_batches"
826827
require_relative "openai/resources/vector_stores/files"
827828
require_relative "openai/resources/videos"
828-
require_relative "openai/resources/videos/character"
829829
require_relative "openai/resources/webhooks"
830830
require_relative "openai/helpers/streaming/response_events"
831831
require_relative "openai/helpers/streaming/response_stream"

lib/openai/models.rb

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,8 @@ module OpenAI
176176

177177
ImageGenStreamEvent = OpenAI::Models::ImageGenStreamEvent
178178

179+
ImageInputReferenceParam = OpenAI::Models::ImageInputReferenceParam
180+
179181
ImageModel = OpenAI::Models::ImageModel
180182

181183
ImagesResponse = OpenAI::Models::ImagesResponse
@@ -279,6 +281,8 @@ module OpenAI
279281

280282
Video = OpenAI::Models::Video
281283

284+
VideoCreateCharacterParams = OpenAI::Models::VideoCreateCharacterParams
285+
282286
VideoCreateError = OpenAI::Models::VideoCreateError
283287

284288
VideoCreateParams = OpenAI::Models::VideoCreateParams
@@ -291,6 +295,8 @@ module OpenAI
291295

292296
VideoExtendParams = OpenAI::Models::VideoExtendParams
293297

298+
VideoGetCharacterParams = OpenAI::Models::VideoGetCharacterParams
299+
294300
VideoListParams = OpenAI::Models::VideoListParams
295301

296302
VideoModel = OpenAI::Models::VideoModel
@@ -299,8 +305,6 @@ module OpenAI
299305

300306
VideoRetrieveParams = OpenAI::Models::VideoRetrieveParams
301307

302-
Videos = OpenAI::Models::Videos
303-
304308
VideoSeconds = OpenAI::Models::VideoSeconds
305309

306310
VideoSize = OpenAI::Models::VideoSize
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# frozen_string_literal: true
2+
3+
module OpenAI
4+
module Models
5+
class ImageInputReferenceParam < OpenAI::Internal::Type::BaseModel
6+
# @!attribute file_id
7+
#
8+
# @return [String, nil]
9+
optional :file_id, String
10+
11+
# @!attribute image_url
12+
# A fully qualified URL or base64-encoded data URL.
13+
#
14+
# @return [String, nil]
15+
optional :image_url, String
16+
17+
# @!method initialize(file_id: nil, image_url: nil)
18+
# @param file_id [String]
19+
#
20+
# @param image_url [String] A fully qualified URL or base64-encoded data URL.
21+
end
22+
end
23+
end
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# frozen_string_literal: true
2+
3+
module OpenAI
4+
module Models
5+
# @see OpenAI::Resources::Videos#create_character
6+
class VideoCreateCharacterParams < OpenAI::Internal::Type::BaseModel
7+
extend OpenAI::Internal::Type::RequestParameters::Converter
8+
include OpenAI::Internal::Type::RequestParameters
9+
10+
# @!attribute name
11+
# Display name for this API character.
12+
#
13+
# @return [String]
14+
required :name, String
15+
16+
# @!attribute video
17+
# Video file used to create a character.
18+
#
19+
# @return [Pathname, StringIO, IO, String, OpenAI::FilePart]
20+
required :video, OpenAI::Internal::Type::FileInput
21+
22+
# @!method initialize(name:, video:, request_options: {})
23+
# @param name [String] Display name for this API character.
24+
#
25+
# @param video [Pathname, StringIO, IO, String, OpenAI::FilePart] Video file used to create a character.
26+
#
27+
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
28+
end
29+
end
30+
end
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# frozen_string_literal: true
2+
3+
module OpenAI
4+
module Models
5+
# @see OpenAI::Resources::Videos#create_character
6+
class VideoCreateCharacterResponse < OpenAI::Internal::Type::BaseModel
7+
# @!attribute id
8+
# Identifier for the character creation cameo.
9+
#
10+
# @return [String, nil]
11+
required :id, String, nil?: true
12+
13+
# @!attribute created_at
14+
# Unix timestamp (in seconds) when the character was created.
15+
#
16+
# @return [Integer]
17+
required :created_at, Integer
18+
19+
# @!attribute name
20+
# Display name for the character.
21+
#
22+
# @return [String, nil]
23+
required :name, String, nil?: true
24+
25+
# @!method initialize(id:, created_at:, name:)
26+
# @param id [String, nil] Identifier for the character creation cameo.
27+
#
28+
# @param created_at [Integer] Unix timestamp (in seconds) when the character was created.
29+
#
30+
# @param name [String, nil] Display name for the character.
31+
end
32+
end
33+
end

lib/openai/models/video_create_params.rb

Lines changed: 4 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class VideoCreateParams < OpenAI::Internal::Type::BaseModel
1616
# @!attribute input_reference
1717
# Optional reference asset upload or reference object that guides generation.
1818
#
19-
# @return [Pathname, StringIO, IO, String, OpenAI::FilePart, OpenAI::Models::VideoCreateParams::InputReference::ImageRefParam2, nil]
19+
# @return [Pathname, StringIO, IO, String, OpenAI::FilePart, OpenAI::Models::ImageInputReferenceParam, nil]
2020
optional :input_reference, union: -> { OpenAI::VideoCreateParams::InputReference }
2121

2222
# @!attribute model
@@ -45,7 +45,7 @@ class VideoCreateParams < OpenAI::Internal::Type::BaseModel
4545
#
4646
# @param prompt [String] Text prompt that describes the video to generate.
4747
#
48-
# @param input_reference [Pathname, StringIO, IO, String, OpenAI::FilePart, OpenAI::Models::VideoCreateParams::InputReference::ImageRefParam2] Optional reference asset upload or reference object that guides generation.
48+
# @param input_reference [Pathname, StringIO, IO, String, OpenAI::FilePart, OpenAI::Models::ImageInputReferenceParam] Optional reference asset upload or reference object that guides generation.
4949
#
5050
# @param model [String, Symbol, OpenAI::Models::VideoModel] The video generation model to use (allowed values: sora-2, sora-2-pro). Defaults
5151
#
@@ -62,28 +62,10 @@ module InputReference
6262
# Optional reference asset upload or reference object that guides generation.
6363
variant OpenAI::Internal::Type::FileInput
6464

65-
variant -> { OpenAI::VideoCreateParams::InputReference::ImageRefParam2 }
66-
67-
class ImageRefParam2 < OpenAI::Internal::Type::BaseModel
68-
# @!attribute file_id
69-
#
70-
# @return [String, nil]
71-
optional :file_id, String
72-
73-
# @!attribute image_url
74-
# A fully qualified URL or base64-encoded data URL.
75-
#
76-
# @return [String, nil]
77-
optional :image_url, String
78-
79-
# @!method initialize(file_id: nil, image_url: nil)
80-
# @param file_id [String]
81-
#
82-
# @param image_url [String] A fully qualified URL or base64-encoded data URL.
83-
end
65+
variant -> { OpenAI::ImageInputReferenceParam }
8466

8567
# @!method self.variants
86-
# @return [Array(StringIO, OpenAI::Models::VideoCreateParams::InputReference::ImageRefParam2)]
68+
# @return [Array(StringIO, OpenAI::Models::ImageInputReferenceParam)]
8769
end
8870
end
8971
end

lib/openai/models/video_extend_params.rb

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ class VideoExtendParams < OpenAI::Internal::Type::BaseModel
2121
required :seconds, enum: -> { OpenAI::VideoSeconds }
2222

2323
# @!attribute video
24-
# Reference to the completed video.
24+
# Reference to the completed video to extend.
2525
#
26-
# @return [OpenAI::Models::VideoExtendParams::Video::VideoReferenceInputParam, Pathname, StringIO, IO, String, OpenAI::FilePart]
26+
# @return [Pathname, StringIO, IO, String, OpenAI::FilePart, OpenAI::Models::VideoExtendParams::Video::VideoReferenceInputParam]
2727
required :video, union: -> { OpenAI::VideoExtendParams::Video }
2828

2929
# @!method initialize(prompt:, seconds:, video:, request_options: {})
@@ -34,20 +34,20 @@ class VideoExtendParams < OpenAI::Internal::Type::BaseModel
3434
#
3535
# @param seconds [Symbol, OpenAI::Models::VideoSeconds] Length of the newly generated extension segment in seconds (allowed values: 4, 8
3636
#
37-
# @param video [OpenAI::Models::VideoExtendParams::Video::VideoReferenceInputParam, Pathname, StringIO, IO, String, OpenAI::FilePart] Reference to the completed video.
37+
# @param video [Pathname, StringIO, IO, String, OpenAI::FilePart, OpenAI::Models::VideoExtendParams::Video::VideoReferenceInputParam] Reference to the completed video to extend.
3838
#
3939
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
4040

41-
# Reference to the completed video.
41+
# Reference to the completed video to extend.
4242
module Video
4343
extend OpenAI::Internal::Type::Union
4444

45-
# Reference to the completed video.
46-
variant -> { OpenAI::VideoExtendParams::Video::VideoReferenceInputParam }
47-
4845
# Reference to the completed video to extend.
4946
variant OpenAI::Internal::Type::FileInput
5047

48+
# Reference to the completed video.
49+
variant -> { OpenAI::VideoExtendParams::Video::VideoReferenceInputParam }
50+
5151
class VideoReferenceInputParam < OpenAI::Internal::Type::BaseModel
5252
# @!attribute id
5353
# The identifier of the completed video.
@@ -62,7 +62,7 @@ class VideoReferenceInputParam < OpenAI::Internal::Type::BaseModel
6262
end
6363

6464
# @!method self.variants
65-
# @return [Array(OpenAI::Models::VideoExtendParams::Video::VideoReferenceInputParam, StringIO)]
65+
# @return [Array(StringIO, OpenAI::Models::VideoExtendParams::Video::VideoReferenceInputParam)]
6666
end
6767
end
6868
end
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# frozen_string_literal: true
2+
3+
module OpenAI
4+
module Models
5+
# @see OpenAI::Resources::Videos#get_character
6+
class VideoGetCharacterParams < OpenAI::Internal::Type::BaseModel
7+
extend OpenAI::Internal::Type::RequestParameters::Converter
8+
include OpenAI::Internal::Type::RequestParameters
9+
10+
# @!attribute character_id
11+
#
12+
# @return [String]
13+
required :character_id, String
14+
15+
# @!method initialize(character_id:, request_options: {})
16+
# @param character_id [String]
17+
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
18+
end
19+
end
20+
end
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# frozen_string_literal: true
2+
3+
module OpenAI
4+
module Models
5+
# @see OpenAI::Resources::Videos#get_character
6+
class VideoGetCharacterResponse < OpenAI::Internal::Type::BaseModel
7+
# @!attribute id
8+
# Identifier for the character creation cameo.
9+
#
10+
# @return [String, nil]
11+
required :id, String, nil?: true
12+
13+
# @!attribute created_at
14+
# Unix timestamp (in seconds) when the character was created.
15+
#
16+
# @return [Integer]
17+
required :created_at, Integer
18+
19+
# @!attribute name
20+
# Display name for the character.
21+
#
22+
# @return [String, nil]
23+
required :name, String, nil?: true
24+
25+
# @!method initialize(id:, created_at:, name:)
26+
# @param id [String, nil] Identifier for the character creation cameo.
27+
#
28+
# @param created_at [Integer] Unix timestamp (in seconds) when the character was created.
29+
#
30+
# @param name [String, nil] Display name for the character.
31+
end
32+
end
33+
end

0 commit comments

Comments
 (0)