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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +25 -0
- data/README.md +1 -1
- data/lib/openai/models/audio/speech_create_params.rb +32 -8
- data/lib/openai/models/chat/chat_completion_audio_param.rb +30 -6
- data/lib/openai/models/image_input_reference_param.rb +23 -0
- data/lib/openai/models/realtime/realtime_audio_config_output.rb +34 -8
- data/lib/openai/models/realtime/realtime_response_create_audio_output.rb +34 -8
- data/lib/openai/models/responses/response_input_file.rb +1 -24
- data/lib/openai/models/responses/response_input_file_content.rb +1 -27
- data/lib/openai/models/video_create_character_params.rb +30 -0
- data/lib/openai/models/video_create_character_response.rb +33 -0
- data/lib/openai/models/video_create_params.rb +17 -4
- data/lib/openai/models/video_edit_params.rb +57 -0
- data/lib/openai/models/video_extend_params.rb +69 -0
- data/lib/openai/models/video_get_character_params.rb +20 -0
- data/lib/openai/models/video_get_character_response.rb +33 -0
- data/lib/openai/models.rb +10 -0
- data/lib/openai/resources/audio/speech.rb +1 -1
- data/lib/openai/resources/videos.rb +102 -1
- data/lib/openai/version.rb +1 -1
- data/lib/openai.rb +7 -0
- data/rbi/openai/client.rbi +6 -0
- data/rbi/openai/models/audio/speech_create_params.rbi +49 -10
- data/rbi/openai/models/chat/chat_completion_audio_param.rbi +40 -7
- data/rbi/openai/models/image_input_reference_param.rbi +39 -0
- data/rbi/openai/models/realtime/realtime_audio_config_output.rbi +48 -11
- data/rbi/openai/models/realtime/realtime_response_create_audio_output.rbi +48 -11
- data/rbi/openai/models/responses/response_input_file.rbi +0 -54
- data/rbi/openai/models/responses/response_input_file_content.rbi +0 -59
- data/rbi/openai/models/video_create_character_params.rbi +51 -0
- data/rbi/openai/models/video_create_character_response.rbi +56 -0
- data/rbi/openai/models/video_create_params.rbi +44 -6
- data/rbi/openai/models/video_edit_params.rbi +111 -0
- data/rbi/openai/models/video_extend_params.rbi +121 -0
- data/rbi/openai/models/video_get_character_params.rbi +35 -0
- data/rbi/openai/models/video_get_character_response.rbi +56 -0
- data/rbi/openai/models.rbi +10 -0
- data/rbi/openai/resources/audio/speech.rbi +8 -3
- data/rbi/openai/resources/videos.rbi +84 -2
- data/sig/openai/client.rbs +3 -0
- data/sig/openai/models/audio/speech_create_params.rbs +11 -0
- data/sig/openai/models/chat/chat_completion_audio_param.rbs +11 -0
- data/sig/openai/models/image_input_reference_param.rbs +19 -0
- data/sig/openai/models/realtime/realtime_audio_config_output.rbs +11 -0
- data/sig/openai/models/realtime/realtime_response_create_audio_output.rbs +11 -0
- data/sig/openai/models/responses/response_input_file.rbs +0 -20
- data/sig/openai/models/responses/response_input_file_content.rbs +0 -20
- data/sig/openai/models/video_create_character_params.rbs +28 -0
- data/sig/openai/models/video_create_character_response.rbs +18 -0
- data/sig/openai/models/video_create_params.rbs +15 -6
- data/sig/openai/models/video_edit_params.rbs +48 -0
- data/sig/openai/models/video_extend_params.rbs +56 -0
- data/sig/openai/models/video_get_character_params.rbs +23 -0
- data/sig/openai/models/video_get_character_response.rbs +18 -0
- data/sig/openai/models.rbs +10 -0
- data/sig/openai/resources/videos.rbs +25 -1
- metadata +23 -2
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
# @see OpenAI::Resources::Videos#extend_
|
|
6
|
+
class VideoExtendParams < OpenAI::Internal::Type::BaseModel
|
|
7
|
+
extend OpenAI::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include OpenAI::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
# @!attribute prompt
|
|
11
|
+
# Updated text prompt that directs the extension generation.
|
|
12
|
+
#
|
|
13
|
+
# @return [String]
|
|
14
|
+
required :prompt, String
|
|
15
|
+
|
|
16
|
+
# @!attribute seconds
|
|
17
|
+
# Length of the newly generated extension segment in seconds (allowed values: 4,
|
|
18
|
+
# 8, 12, 16, 20).
|
|
19
|
+
#
|
|
20
|
+
# @return [Symbol, OpenAI::Models::VideoSeconds]
|
|
21
|
+
required :seconds, enum: -> { OpenAI::VideoSeconds }
|
|
22
|
+
|
|
23
|
+
# @!attribute video
|
|
24
|
+
# Reference to the completed video to extend.
|
|
25
|
+
#
|
|
26
|
+
# @return [Pathname, StringIO, IO, String, OpenAI::FilePart, OpenAI::Models::VideoExtendParams::Video::VideoReferenceInputParam]
|
|
27
|
+
required :video, union: -> { OpenAI::VideoExtendParams::Video }
|
|
28
|
+
|
|
29
|
+
# @!method initialize(prompt:, seconds:, video:, request_options: {})
|
|
30
|
+
# Some parameter documentations has been truncated, see
|
|
31
|
+
# {OpenAI::Models::VideoExtendParams} for more details.
|
|
32
|
+
#
|
|
33
|
+
# @param prompt [String] Updated text prompt that directs the extension generation.
|
|
34
|
+
#
|
|
35
|
+
# @param seconds [Symbol, OpenAI::Models::VideoSeconds] Length of the newly generated extension segment in seconds (allowed values: 4, 8
|
|
36
|
+
#
|
|
37
|
+
# @param video [Pathname, StringIO, IO, String, OpenAI::FilePart, OpenAI::Models::VideoExtendParams::Video::VideoReferenceInputParam] Reference to the completed video to extend.
|
|
38
|
+
#
|
|
39
|
+
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
|
|
40
|
+
|
|
41
|
+
# Reference to the completed video to extend.
|
|
42
|
+
module Video
|
|
43
|
+
extend OpenAI::Internal::Type::Union
|
|
44
|
+
|
|
45
|
+
# Reference to the completed video to extend.
|
|
46
|
+
variant OpenAI::Internal::Type::FileInput
|
|
47
|
+
|
|
48
|
+
# Reference to the completed video.
|
|
49
|
+
variant -> { OpenAI::VideoExtendParams::Video::VideoReferenceInputParam }
|
|
50
|
+
|
|
51
|
+
class VideoReferenceInputParam < OpenAI::Internal::Type::BaseModel
|
|
52
|
+
# @!attribute id
|
|
53
|
+
# The identifier of the completed video.
|
|
54
|
+
#
|
|
55
|
+
# @return [String]
|
|
56
|
+
required :id, String
|
|
57
|
+
|
|
58
|
+
# @!method initialize(id:)
|
|
59
|
+
# Reference to the completed video.
|
|
60
|
+
#
|
|
61
|
+
# @param id [String] The identifier of the completed video.
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
# @!method self.variants
|
|
65
|
+
# @return [Array(StringIO, OpenAI::Models::VideoExtendParams::Video::VideoReferenceInputParam)]
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
@@ -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
|
|
@@ -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
|
data/lib/openai/models.rb
CHANGED
|
@@ -176,6 +176,8 @@ module OpenAI
|
|
|
176
176
|
|
|
177
177
|
ImageGenStreamEvent = OpenAI::Models::ImageGenStreamEvent
|
|
178
178
|
|
|
179
|
+
ImageInputReferenceParam = OpenAI::Models::ImageInputReferenceParam
|
|
180
|
+
|
|
179
181
|
ImageModel = OpenAI::Models::ImageModel
|
|
180
182
|
|
|
181
183
|
ImagesResponse = OpenAI::Models::ImagesResponse
|
|
@@ -279,6 +281,8 @@ module OpenAI
|
|
|
279
281
|
|
|
280
282
|
Video = OpenAI::Models::Video
|
|
281
283
|
|
|
284
|
+
VideoCreateCharacterParams = OpenAI::Models::VideoCreateCharacterParams
|
|
285
|
+
|
|
282
286
|
VideoCreateError = OpenAI::Models::VideoCreateError
|
|
283
287
|
|
|
284
288
|
VideoCreateParams = OpenAI::Models::VideoCreateParams
|
|
@@ -287,6 +291,12 @@ module OpenAI
|
|
|
287
291
|
|
|
288
292
|
VideoDownloadContentParams = OpenAI::Models::VideoDownloadContentParams
|
|
289
293
|
|
|
294
|
+
VideoEditParams = OpenAI::Models::VideoEditParams
|
|
295
|
+
|
|
296
|
+
VideoExtendParams = OpenAI::Models::VideoExtendParams
|
|
297
|
+
|
|
298
|
+
VideoGetCharacterParams = OpenAI::Models::VideoGetCharacterParams
|
|
299
|
+
|
|
290
300
|
VideoListParams = OpenAI::Models::VideoListParams
|
|
291
301
|
|
|
292
302
|
VideoModel = OpenAI::Models::VideoModel
|
|
@@ -18,7 +18,7 @@ module OpenAI
|
|
|
18
18
|
#
|
|
19
19
|
# @param model [String, Symbol, OpenAI::Models::Audio::SpeechModel] One of the available [TTS models](https://platform.openai.com/docs/models#tts):
|
|
20
20
|
#
|
|
21
|
-
# @param voice [String, Symbol, OpenAI::Models::Audio::SpeechCreateParams::Voice] The voice to use when generating the audio. Supported built-in voices are `alloy
|
|
21
|
+
# @param voice [String, Symbol, OpenAI::Models::Audio::SpeechCreateParams::Voice::ID, OpenAI::Models::Audio::SpeechCreateParams::Voice] The voice to use when generating the audio. Supported built-in voices are `alloy
|
|
22
22
|
#
|
|
23
23
|
# @param instructions [String] Control the voice of your generated audio with additional instructions. Does not
|
|
24
24
|
#
|
|
@@ -12,7 +12,7 @@ module OpenAI
|
|
|
12
12
|
#
|
|
13
13
|
# @param prompt [String] Text prompt that describes the video to generate.
|
|
14
14
|
#
|
|
15
|
-
# @param input_reference [Pathname, StringIO, IO, String, OpenAI::FilePart] Optional
|
|
15
|
+
# @param input_reference [Pathname, StringIO, IO, String, OpenAI::FilePart, OpenAI::Models::ImageInputReferenceParam] Optional reference asset upload or reference object that guides generation.
|
|
16
16
|
#
|
|
17
17
|
# @param model [String, Symbol, OpenAI::Models::VideoModel] The video generation model to use (allowed values: sora-2, sora-2-pro). Defaults
|
|
18
18
|
#
|
|
@@ -108,6 +108,31 @@ module OpenAI
|
|
|
108
108
|
)
|
|
109
109
|
end
|
|
110
110
|
|
|
111
|
+
# Create a character from an uploaded video.
|
|
112
|
+
#
|
|
113
|
+
# @overload create_character(name:, video:, request_options: {})
|
|
114
|
+
#
|
|
115
|
+
# @param name [String] Display name for this API character.
|
|
116
|
+
#
|
|
117
|
+
# @param video [Pathname, StringIO, IO, String, OpenAI::FilePart] Video file used to create a character.
|
|
118
|
+
#
|
|
119
|
+
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
120
|
+
#
|
|
121
|
+
# @return [OpenAI::Models::VideoCreateCharacterResponse]
|
|
122
|
+
#
|
|
123
|
+
# @see OpenAI::Models::VideoCreateCharacterParams
|
|
124
|
+
def create_character(params)
|
|
125
|
+
parsed, options = OpenAI::VideoCreateCharacterParams.dump_request(params)
|
|
126
|
+
@client.request(
|
|
127
|
+
method: :post,
|
|
128
|
+
path: "videos/characters",
|
|
129
|
+
headers: {"content-type" => "multipart/form-data"},
|
|
130
|
+
body: parsed,
|
|
131
|
+
model: OpenAI::Models::VideoCreateCharacterResponse,
|
|
132
|
+
options: options
|
|
133
|
+
)
|
|
134
|
+
end
|
|
135
|
+
|
|
111
136
|
# Download the generated video bytes or a derived preview asset.
|
|
112
137
|
#
|
|
113
138
|
# Streams the rendered video content for the specified video job.
|
|
@@ -136,6 +161,82 @@ module OpenAI
|
|
|
136
161
|
)
|
|
137
162
|
end
|
|
138
163
|
|
|
164
|
+
# Create a new video generation job by editing a source video or existing
|
|
165
|
+
# generated video.
|
|
166
|
+
#
|
|
167
|
+
# @overload edit(prompt:, video:, request_options: {})
|
|
168
|
+
#
|
|
169
|
+
# @param prompt [String] Text prompt that describes how to edit the source video.
|
|
170
|
+
#
|
|
171
|
+
# @param video [Pathname, StringIO, IO, String, OpenAI::FilePart, OpenAI::Models::VideoEditParams::Video::VideoReferenceInputParam] Reference to the completed video to edit.
|
|
172
|
+
#
|
|
173
|
+
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
174
|
+
#
|
|
175
|
+
# @return [OpenAI::Models::Video]
|
|
176
|
+
#
|
|
177
|
+
# @see OpenAI::Models::VideoEditParams
|
|
178
|
+
def edit(params)
|
|
179
|
+
parsed, options = OpenAI::VideoEditParams.dump_request(params)
|
|
180
|
+
@client.request(
|
|
181
|
+
method: :post,
|
|
182
|
+
path: "videos/edits",
|
|
183
|
+
headers: {"content-type" => "multipart/form-data"},
|
|
184
|
+
body: parsed,
|
|
185
|
+
model: OpenAI::Video,
|
|
186
|
+
options: options
|
|
187
|
+
)
|
|
188
|
+
end
|
|
189
|
+
|
|
190
|
+
# Some parameter documentations has been truncated, see
|
|
191
|
+
# {OpenAI::Models::VideoExtendParams} for more details.
|
|
192
|
+
#
|
|
193
|
+
# Create an extension of a completed video.
|
|
194
|
+
#
|
|
195
|
+
# @overload extend_(prompt:, seconds:, video:, request_options: {})
|
|
196
|
+
#
|
|
197
|
+
# @param prompt [String] Updated text prompt that directs the extension generation.
|
|
198
|
+
#
|
|
199
|
+
# @param seconds [Symbol, OpenAI::Models::VideoSeconds] Length of the newly generated extension segment in seconds (allowed values: 4, 8
|
|
200
|
+
#
|
|
201
|
+
# @param video [Pathname, StringIO, IO, String, OpenAI::FilePart, OpenAI::Models::VideoExtendParams::Video::VideoReferenceInputParam] Reference to the completed video to extend.
|
|
202
|
+
#
|
|
203
|
+
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
204
|
+
#
|
|
205
|
+
# @return [OpenAI::Models::Video]
|
|
206
|
+
#
|
|
207
|
+
# @see OpenAI::Models::VideoExtendParams
|
|
208
|
+
def extend_(params)
|
|
209
|
+
parsed, options = OpenAI::VideoExtendParams.dump_request(params)
|
|
210
|
+
@client.request(
|
|
211
|
+
method: :post,
|
|
212
|
+
path: "videos/extensions",
|
|
213
|
+
headers: {"content-type" => "multipart/form-data"},
|
|
214
|
+
body: parsed,
|
|
215
|
+
model: OpenAI::Video,
|
|
216
|
+
options: options
|
|
217
|
+
)
|
|
218
|
+
end
|
|
219
|
+
|
|
220
|
+
# Fetch a character.
|
|
221
|
+
#
|
|
222
|
+
# @overload get_character(character_id, request_options: {})
|
|
223
|
+
#
|
|
224
|
+
# @param character_id [String] The identifier of the character to retrieve.
|
|
225
|
+
#
|
|
226
|
+
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
227
|
+
#
|
|
228
|
+
# @return [OpenAI::Models::VideoGetCharacterResponse]
|
|
229
|
+
#
|
|
230
|
+
# @see OpenAI::Models::VideoGetCharacterParams
|
|
231
|
+
def get_character(character_id, params = {})
|
|
232
|
+
@client.request(
|
|
233
|
+
method: :get,
|
|
234
|
+
path: ["videos/characters/%1$s", character_id],
|
|
235
|
+
model: OpenAI::Models::VideoGetCharacterResponse,
|
|
236
|
+
options: params[:request_options]
|
|
237
|
+
)
|
|
238
|
+
end
|
|
239
|
+
|
|
139
240
|
# Create a remix of a completed video using a refreshed prompt.
|
|
140
241
|
#
|
|
141
242
|
# @overload remix(video_id, prompt:, request_options: {})
|
data/lib/openai/version.rb
CHANGED
data/lib/openai.rb
CHANGED
|
@@ -403,6 +403,7 @@ require_relative "openai/models/image_gen_completed_event"
|
|
|
403
403
|
require_relative "openai/models/image_generate_params"
|
|
404
404
|
require_relative "openai/models/image_gen_partial_image_event"
|
|
405
405
|
require_relative "openai/models/image_gen_stream_event"
|
|
406
|
+
require_relative "openai/models/image_input_reference_param"
|
|
406
407
|
require_relative "openai/models/image_model"
|
|
407
408
|
require_relative "openai/models/images_response"
|
|
408
409
|
require_relative "openai/models/metadata"
|
|
@@ -733,11 +734,17 @@ require_relative "openai/models/vector_store_search_params"
|
|
|
733
734
|
require_relative "openai/models/vector_store_search_response"
|
|
734
735
|
require_relative "openai/models/vector_store_update_params"
|
|
735
736
|
require_relative "openai/models/video"
|
|
737
|
+
require_relative "openai/models/video_create_character_params"
|
|
738
|
+
require_relative "openai/models/video_create_character_response"
|
|
736
739
|
require_relative "openai/models/video_create_error"
|
|
737
740
|
require_relative "openai/models/video_create_params"
|
|
738
741
|
require_relative "openai/models/video_delete_params"
|
|
739
742
|
require_relative "openai/models/video_delete_response"
|
|
740
743
|
require_relative "openai/models/video_download_content_params"
|
|
744
|
+
require_relative "openai/models/video_edit_params"
|
|
745
|
+
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"
|
|
741
748
|
require_relative "openai/models/video_list_params"
|
|
742
749
|
require_relative "openai/models/video_model"
|
|
743
750
|
require_relative "openai/models/video_remix_params"
|
data/rbi/openai/client.rbi
CHANGED
|
@@ -19,6 +19,9 @@ module OpenAI
|
|
|
19
19
|
sig { returns(T.nilable(String)) }
|
|
20
20
|
attr_reader :project
|
|
21
21
|
|
|
22
|
+
sig { returns(T.nilable(String)) }
|
|
23
|
+
attr_reader :webhook_secret
|
|
24
|
+
|
|
22
25
|
# Given a prompt, the model will return one or more predicted completions, and can
|
|
23
26
|
# also return the probabilities of alternative tokens at each position.
|
|
24
27
|
sig { returns(OpenAI::Resources::Completions) }
|
|
@@ -110,6 +113,7 @@ module OpenAI
|
|
|
110
113
|
api_key: T.nilable(String),
|
|
111
114
|
organization: T.nilable(String),
|
|
112
115
|
project: T.nilable(String),
|
|
116
|
+
webhook_secret: T.nilable(String),
|
|
113
117
|
base_url: T.nilable(String),
|
|
114
118
|
max_retries: Integer,
|
|
115
119
|
timeout: Float,
|
|
@@ -124,6 +128,8 @@ module OpenAI
|
|
|
124
128
|
organization: ENV["OPENAI_ORG_ID"],
|
|
125
129
|
# Defaults to `ENV["OPENAI_PROJECT_ID"]`
|
|
126
130
|
project: ENV["OPENAI_PROJECT_ID"],
|
|
131
|
+
# Defaults to `ENV["OPENAI_WEBHOOK_SECRET"]`
|
|
132
|
+
webhook_secret: ENV["OPENAI_WEBHOOK_SECRET"],
|
|
127
133
|
# Override the default base URL for the API, e.g.,
|
|
128
134
|
# `"https://api.example.com/v2/"`. Defaults to `ENV["OPENAI_BASE_URL"]`
|
|
129
135
|
base_url: ENV["OPENAI_BASE_URL"],
|
|
@@ -23,12 +23,17 @@ module OpenAI
|
|
|
23
23
|
|
|
24
24
|
# The voice to use when generating the audio. Supported built-in voices are
|
|
25
25
|
# `alloy`, `ash`, `ballad`, `coral`, `echo`, `fable`, `onyx`, `nova`, `sage`,
|
|
26
|
-
# `shimmer`, `verse`, `marin`, and `cedar`.
|
|
27
|
-
#
|
|
26
|
+
# `shimmer`, `verse`, `marin`, and `cedar`. You may also provide a custom voice
|
|
27
|
+
# object with an `id`, for example `{ "id": "voice_1234" }`. Previews of the
|
|
28
|
+
# voices are available in the
|
|
28
29
|
# [Text to speech guide](https://platform.openai.com/docs/guides/text-to-speech#voice-options).
|
|
29
30
|
sig do
|
|
30
31
|
returns(
|
|
31
|
-
T.any(
|
|
32
|
+
T.any(
|
|
33
|
+
String,
|
|
34
|
+
OpenAI::Audio::SpeechCreateParams::Voice::OrSymbol,
|
|
35
|
+
OpenAI::Audio::SpeechCreateParams::Voice::ID
|
|
36
|
+
)
|
|
32
37
|
)
|
|
33
38
|
end
|
|
34
39
|
attr_accessor :voice
|
|
@@ -90,7 +95,11 @@ module OpenAI
|
|
|
90
95
|
input: String,
|
|
91
96
|
model: T.any(String, OpenAI::Audio::SpeechModel::OrSymbol),
|
|
92
97
|
voice:
|
|
93
|
-
T.any(
|
|
98
|
+
T.any(
|
|
99
|
+
String,
|
|
100
|
+
OpenAI::Audio::SpeechCreateParams::Voice::OrSymbol,
|
|
101
|
+
OpenAI::Audio::SpeechCreateParams::Voice::ID::OrHash
|
|
102
|
+
),
|
|
94
103
|
instructions: String,
|
|
95
104
|
response_format:
|
|
96
105
|
OpenAI::Audio::SpeechCreateParams::ResponseFormat::OrSymbol,
|
|
@@ -108,8 +117,9 @@ module OpenAI
|
|
|
108
117
|
model:,
|
|
109
118
|
# The voice to use when generating the audio. Supported built-in voices are
|
|
110
119
|
# `alloy`, `ash`, `ballad`, `coral`, `echo`, `fable`, `onyx`, `nova`, `sage`,
|
|
111
|
-
# `shimmer`, `verse`, `marin`, and `cedar`.
|
|
112
|
-
#
|
|
120
|
+
# `shimmer`, `verse`, `marin`, and `cedar`. You may also provide a custom voice
|
|
121
|
+
# object with an `id`, for example `{ "id": "voice_1234" }`. Previews of the
|
|
122
|
+
# voices are available in the
|
|
113
123
|
# [Text to speech guide](https://platform.openai.com/docs/guides/text-to-speech#voice-options).
|
|
114
124
|
voice:,
|
|
115
125
|
# Control the voice of your generated audio with additional instructions. Does not
|
|
@@ -136,7 +146,8 @@ module OpenAI
|
|
|
136
146
|
voice:
|
|
137
147
|
T.any(
|
|
138
148
|
String,
|
|
139
|
-
OpenAI::Audio::SpeechCreateParams::Voice::OrSymbol
|
|
149
|
+
OpenAI::Audio::SpeechCreateParams::Voice::OrSymbol,
|
|
150
|
+
OpenAI::Audio::SpeechCreateParams::Voice::ID
|
|
140
151
|
),
|
|
141
152
|
instructions: String,
|
|
142
153
|
response_format:
|
|
@@ -172,8 +183,9 @@ module OpenAI
|
|
|
172
183
|
|
|
173
184
|
# The voice to use when generating the audio. Supported built-in voices are
|
|
174
185
|
# `alloy`, `ash`, `ballad`, `coral`, `echo`, `fable`, `onyx`, `nova`, `sage`,
|
|
175
|
-
# `shimmer`, `verse`, `marin`, and `cedar`.
|
|
176
|
-
#
|
|
186
|
+
# `shimmer`, `verse`, `marin`, and `cedar`. You may also provide a custom voice
|
|
187
|
+
# object with an `id`, for example `{ "id": "voice_1234" }`. Previews of the
|
|
188
|
+
# voices are available in the
|
|
177
189
|
# [Text to speech guide](https://platform.openai.com/docs/guides/text-to-speech#voice-options).
|
|
178
190
|
module Voice
|
|
179
191
|
extend OpenAI::Internal::Type::Union
|
|
@@ -182,10 +194,37 @@ module OpenAI
|
|
|
182
194
|
T.type_alias do
|
|
183
195
|
T.any(
|
|
184
196
|
String,
|
|
185
|
-
OpenAI::Audio::SpeechCreateParams::Voice::TaggedSymbol
|
|
197
|
+
OpenAI::Audio::SpeechCreateParams::Voice::TaggedSymbol,
|
|
198
|
+
OpenAI::Audio::SpeechCreateParams::Voice::ID
|
|
186
199
|
)
|
|
187
200
|
end
|
|
188
201
|
|
|
202
|
+
class ID < OpenAI::Internal::Type::BaseModel
|
|
203
|
+
OrHash =
|
|
204
|
+
T.type_alias do
|
|
205
|
+
T.any(
|
|
206
|
+
OpenAI::Audio::SpeechCreateParams::Voice::ID,
|
|
207
|
+
OpenAI::Internal::AnyHash
|
|
208
|
+
)
|
|
209
|
+
end
|
|
210
|
+
|
|
211
|
+
# The custom voice ID, e.g. `voice_1234`.
|
|
212
|
+
sig { returns(String) }
|
|
213
|
+
attr_accessor :id
|
|
214
|
+
|
|
215
|
+
# Custom voice reference.
|
|
216
|
+
sig { params(id: String).returns(T.attached_class) }
|
|
217
|
+
def self.new(
|
|
218
|
+
# The custom voice ID, e.g. `voice_1234`.
|
|
219
|
+
id:
|
|
220
|
+
)
|
|
221
|
+
end
|
|
222
|
+
|
|
223
|
+
sig { override.returns({ id: String }) }
|
|
224
|
+
def to_hash
|
|
225
|
+
end
|
|
226
|
+
end
|
|
227
|
+
|
|
189
228
|
sig do
|
|
190
229
|
override.returns(
|
|
191
230
|
T::Array[OpenAI::Audio::SpeechCreateParams::Voice::Variants]
|
|
@@ -23,12 +23,14 @@ module OpenAI
|
|
|
23
23
|
|
|
24
24
|
# The voice the model uses to respond. Supported built-in voices are `alloy`,
|
|
25
25
|
# `ash`, `ballad`, `coral`, `echo`, `fable`, `nova`, `onyx`, `sage`, `shimmer`,
|
|
26
|
-
# `marin`, and `cedar`.
|
|
26
|
+
# `marin`, and `cedar`. You may also provide a custom voice object with an `id`,
|
|
27
|
+
# for example `{ "id": "voice_1234" }`.
|
|
27
28
|
sig do
|
|
28
29
|
returns(
|
|
29
30
|
T.any(
|
|
30
31
|
String,
|
|
31
|
-
OpenAI::Chat::ChatCompletionAudioParam::Voice::OrSymbol
|
|
32
|
+
OpenAI::Chat::ChatCompletionAudioParam::Voice::OrSymbol,
|
|
33
|
+
OpenAI::Chat::ChatCompletionAudioParam::Voice::ID
|
|
32
34
|
)
|
|
33
35
|
)
|
|
34
36
|
end
|
|
@@ -43,7 +45,8 @@ module OpenAI
|
|
|
43
45
|
voice:
|
|
44
46
|
T.any(
|
|
45
47
|
String,
|
|
46
|
-
OpenAI::Chat::ChatCompletionAudioParam::Voice::OrSymbol
|
|
48
|
+
OpenAI::Chat::ChatCompletionAudioParam::Voice::OrSymbol,
|
|
49
|
+
OpenAI::Chat::ChatCompletionAudioParam::Voice::ID::OrHash
|
|
47
50
|
)
|
|
48
51
|
).returns(T.attached_class)
|
|
49
52
|
end
|
|
@@ -53,7 +56,8 @@ module OpenAI
|
|
|
53
56
|
format_:,
|
|
54
57
|
# The voice the model uses to respond. Supported built-in voices are `alloy`,
|
|
55
58
|
# `ash`, `ballad`, `coral`, `echo`, `fable`, `nova`, `onyx`, `sage`, `shimmer`,
|
|
56
|
-
# `marin`, and `cedar`.
|
|
59
|
+
# `marin`, and `cedar`. You may also provide a custom voice object with an `id`,
|
|
60
|
+
# for example `{ "id": "voice_1234" }`.
|
|
57
61
|
voice:
|
|
58
62
|
)
|
|
59
63
|
end
|
|
@@ -65,7 +69,8 @@ module OpenAI
|
|
|
65
69
|
voice:
|
|
66
70
|
T.any(
|
|
67
71
|
String,
|
|
68
|
-
OpenAI::Chat::ChatCompletionAudioParam::Voice::OrSymbol
|
|
72
|
+
OpenAI::Chat::ChatCompletionAudioParam::Voice::OrSymbol,
|
|
73
|
+
OpenAI::Chat::ChatCompletionAudioParam::Voice::ID
|
|
69
74
|
)
|
|
70
75
|
}
|
|
71
76
|
)
|
|
@@ -128,7 +133,8 @@ module OpenAI
|
|
|
128
133
|
|
|
129
134
|
# The voice the model uses to respond. Supported built-in voices are `alloy`,
|
|
130
135
|
# `ash`, `ballad`, `coral`, `echo`, `fable`, `nova`, `onyx`, `sage`, `shimmer`,
|
|
131
|
-
# `marin`, and `cedar`.
|
|
136
|
+
# `marin`, and `cedar`. You may also provide a custom voice object with an `id`,
|
|
137
|
+
# for example `{ "id": "voice_1234" }`.
|
|
132
138
|
module Voice
|
|
133
139
|
extend OpenAI::Internal::Type::Union
|
|
134
140
|
|
|
@@ -136,10 +142,37 @@ module OpenAI
|
|
|
136
142
|
T.type_alias do
|
|
137
143
|
T.any(
|
|
138
144
|
String,
|
|
139
|
-
OpenAI::Chat::ChatCompletionAudioParam::Voice::TaggedSymbol
|
|
145
|
+
OpenAI::Chat::ChatCompletionAudioParam::Voice::TaggedSymbol,
|
|
146
|
+
OpenAI::Chat::ChatCompletionAudioParam::Voice::ID
|
|
140
147
|
)
|
|
141
148
|
end
|
|
142
149
|
|
|
150
|
+
class ID < OpenAI::Internal::Type::BaseModel
|
|
151
|
+
OrHash =
|
|
152
|
+
T.type_alias do
|
|
153
|
+
T.any(
|
|
154
|
+
OpenAI::Chat::ChatCompletionAudioParam::Voice::ID,
|
|
155
|
+
OpenAI::Internal::AnyHash
|
|
156
|
+
)
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
# The custom voice ID, e.g. `voice_1234`.
|
|
160
|
+
sig { returns(String) }
|
|
161
|
+
attr_accessor :id
|
|
162
|
+
|
|
163
|
+
# Custom voice reference.
|
|
164
|
+
sig { params(id: String).returns(T.attached_class) }
|
|
165
|
+
def self.new(
|
|
166
|
+
# The custom voice ID, e.g. `voice_1234`.
|
|
167
|
+
id:
|
|
168
|
+
)
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
sig { override.returns({ id: String }) }
|
|
172
|
+
def to_hash
|
|
173
|
+
end
|
|
174
|
+
end
|
|
175
|
+
|
|
143
176
|
sig do
|
|
144
177
|
override.returns(
|
|
145
178
|
T::Array[OpenAI::Chat::ChatCompletionAudioParam::Voice::Variants]
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
class ImageInputReferenceParam < OpenAI::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(OpenAI::ImageInputReferenceParam, OpenAI::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
sig { returns(T.nilable(String)) }
|
|
12
|
+
attr_reader :file_id
|
|
13
|
+
|
|
14
|
+
sig { params(file_id: String).void }
|
|
15
|
+
attr_writer :file_id
|
|
16
|
+
|
|
17
|
+
# A fully qualified URL or base64-encoded data URL.
|
|
18
|
+
sig { returns(T.nilable(String)) }
|
|
19
|
+
attr_reader :image_url
|
|
20
|
+
|
|
21
|
+
sig { params(image_url: String).void }
|
|
22
|
+
attr_writer :image_url
|
|
23
|
+
|
|
24
|
+
sig do
|
|
25
|
+
params(file_id: String, image_url: String).returns(T.attached_class)
|
|
26
|
+
end
|
|
27
|
+
def self.new(
|
|
28
|
+
file_id: nil,
|
|
29
|
+
# A fully qualified URL or base64-encoded data URL.
|
|
30
|
+
image_url: nil
|
|
31
|
+
)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
sig { override.returns({ file_id: String, image_url: String }) }
|
|
35
|
+
def to_hash
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|