openai 0.61.0 → 0.63.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 +26 -0
- data/README.md +2 -5
- data/lib/openai/auth/workload_identity.rb +2 -2
- data/lib/openai/auth/workload_identity_auth.rb +4 -3
- data/lib/openai/models/admin/organization/usage_audio_speeches_response.rb +10 -1
- data/lib/openai/models/admin/organization/usage_audio_transcriptions_response.rb +10 -1
- data/lib/openai/models/admin/organization/usage_code_interpreter_sessions_response.rb +10 -1
- data/lib/openai/models/admin/organization/usage_completions_response.rb +10 -1
- data/lib/openai/models/admin/organization/usage_costs_response.rb +10 -1
- data/lib/openai/models/admin/organization/usage_embeddings_response.rb +10 -1
- data/lib/openai/models/admin/organization/usage_images_response.rb +10 -1
- data/lib/openai/models/admin/organization/usage_moderations_response.rb +10 -1
- data/lib/openai/models/admin/organization/usage_vector_stores_response.rb +10 -1
- data/lib/openai/models/chat/chat_completion_token_logprob.rb +1 -2
- data/lib/openai/models/chat/completion_create_params.rb +4 -3
- data/lib/openai/models/image_edit_params.rb +85 -31
- data/lib/openai/models/image_generate_params.rb +78 -26
- data/lib/openai/models/image_model.rb +5 -2
- data/lib/openai/models/realtime/audio_transcription.rb +37 -5
- data/lib/openai/models/realtime/client_secret_create_response.rb +1 -2
- data/lib/openai/models/realtime/realtime_audio_config_input.rb +3 -0
- data/lib/openai/models/realtime/realtime_audio_input_turn_detection.rb +3 -0
- data/lib/openai/models/realtime/realtime_reasoning.rb +24 -0
- data/lib/openai/models/realtime/realtime_reasoning_effort.rb +22 -0
- data/lib/openai/models/realtime/realtime_response_create_params.rb +18 -1
- data/lib/openai/models/realtime/realtime_session.rb +6 -0
- data/lib/openai/models/realtime/realtime_session_create_request.rb +21 -1
- data/lib/openai/models/realtime/realtime_session_create_response.rb +41 -17
- data/lib/openai/models/realtime/realtime_transcription_session_audio_input.rb +3 -0
- data/lib/openai/models/realtime/realtime_transcription_session_audio_input_turn_detection.rb +3 -0
- data/lib/openai/models/realtime/realtime_transcription_session_create_response.rb +9 -5
- data/lib/openai/models/realtime/realtime_transcription_session_turn_detection.rb +2 -1
- data/lib/openai/models/realtime/realtime_translation_client_event.rb +45 -0
- data/lib/openai/models/realtime/realtime_translation_client_secret_create_request.rb +85 -0
- data/lib/openai/models/realtime/realtime_translation_client_secret_create_response.rb +42 -0
- data/lib/openai/models/realtime/realtime_translation_input_audio_buffer_append_event.rb +51 -0
- data/lib/openai/models/realtime/realtime_translation_input_transcript_delta_event.rb +55 -0
- data/lib/openai/models/realtime/realtime_translation_output_audio_delta_event.rb +89 -0
- data/lib/openai/models/realtime/realtime_translation_output_transcript_delta_event.rb +54 -0
- data/lib/openai/models/realtime/realtime_translation_server_event.rb +53 -0
- data/lib/openai/models/realtime/realtime_translation_session.rb +158 -0
- data/lib/openai/models/realtime/realtime_translation_session_close_event.rb +30 -0
- data/lib/openai/models/realtime/realtime_translation_session_closed_event.rb +28 -0
- data/lib/openai/models/realtime/realtime_translation_session_create_request.rb +138 -0
- data/lib/openai/models/realtime/realtime_translation_session_created_event.rb +38 -0
- data/lib/openai/models/realtime/realtime_translation_session_update_event.rb +43 -0
- data/lib/openai/models/realtime/realtime_translation_session_update_request.rb +129 -0
- data/lib/openai/models/realtime/realtime_translation_session_updated_event.rb +37 -0
- data/lib/openai/models/realtime/transcription_session_updated_event.rb +1 -2
- data/lib/openai/models/responses/response.rb +4 -3
- data/lib/openai/models/responses/response_compact_params.rb +22 -1
- data/lib/openai/models/responses/response_create_params.rb +4 -3
- data/lib/openai/models/responses/response_includable.rb +2 -0
- data/lib/openai/models/responses/response_text_delta_event.rb +2 -2
- data/lib/openai/models/responses/response_text_done_event.rb +2 -2
- data/lib/openai/models/responses/responses_client_event.rb +4 -3
- data/lib/openai/models/responses/tool.rb +81 -16
- data/lib/openai/resources/chat/completions.rb +2 -2
- data/lib/openai/resources/images.rb +6 -6
- data/lib/openai/resources/realtime/calls.rb +5 -1
- data/lib/openai/resources/responses.rb +5 -3
- data/lib/openai/version.rb +1 -1
- data/lib/openai.rb +18 -1
- data/rbi/openai/auth.rbi +3 -3
- data/rbi/openai/models/admin/organization/usage_audio_speeches_response.rbi +11 -1
- data/rbi/openai/models/admin/organization/usage_audio_transcriptions_response.rbi +11 -1
- data/rbi/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbi +11 -1
- data/rbi/openai/models/admin/organization/usage_completions_response.rbi +11 -1
- data/rbi/openai/models/admin/organization/usage_costs_response.rbi +11 -1
- data/rbi/openai/models/admin/organization/usage_embeddings_response.rbi +11 -1
- data/rbi/openai/models/admin/organization/usage_images_response.rbi +11 -1
- data/rbi/openai/models/admin/organization/usage_moderations_response.rbi +11 -1
- data/rbi/openai/models/admin/organization/usage_vector_stores_response.rbi +11 -1
- data/rbi/openai/models/chat/chat_completion_token_logprob.rbi +2 -4
- data/rbi/openai/models/chat/completion_create_params.rbi +6 -4
- data/rbi/openai/models/image_edit_params.rbi +102 -45
- data/rbi/openai/models/image_generate_params.rbi +93 -39
- data/rbi/openai/models/image_model.rbi +8 -3
- data/rbi/openai/models/realtime/audio_transcription.rbi +85 -6
- data/rbi/openai/models/realtime/realtime_audio_config_input.rbi +6 -0
- data/rbi/openai/models/realtime/realtime_audio_input_turn_detection.rbi +3 -0
- data/rbi/openai/models/realtime/realtime_reasoning.rbi +54 -0
- data/rbi/openai/models/realtime/realtime_reasoning_effort.rbi +44 -0
- data/rbi/openai/models/realtime/realtime_response_create_params.rbi +26 -0
- data/rbi/openai/models/realtime/realtime_session.rbi +9 -0
- data/rbi/openai/models/realtime/realtime_session_create_request.rbi +31 -0
- data/rbi/openai/models/realtime/realtime_session_create_response.rbi +53 -32
- data/rbi/openai/models/realtime/realtime_transcription_session_audio_input.rbi +6 -0
- data/rbi/openai/models/realtime/realtime_transcription_session_audio_input_turn_detection.rbi +3 -0
- data/rbi/openai/models/realtime/realtime_transcription_session_create_response.rbi +13 -7
- data/rbi/openai/models/realtime/realtime_transcription_session_turn_detection.rbi +2 -1
- data/rbi/openai/models/realtime/realtime_translation_client_event.rbi +29 -0
- data/rbi/openai/models/realtime/realtime_translation_client_secret_create_request.rbi +193 -0
- data/rbi/openai/models/realtime/realtime_translation_client_secret_create_response.rbi +69 -0
- data/rbi/openai/models/realtime/realtime_translation_input_audio_buffer_append_event.rbi +69 -0
- data/rbi/openai/models/realtime/realtime_translation_input_transcript_delta_event.rbi +77 -0
- data/rbi/openai/models/realtime/realtime_translation_output_audio_delta_event.rbi +148 -0
- data/rbi/openai/models/realtime/realtime_translation_output_transcript_delta_event.rbi +76 -0
- data/rbi/openai/models/realtime/realtime_translation_server_event.rbi +33 -0
- data/rbi/openai/models/realtime/realtime_translation_session.rbi +339 -0
- data/rbi/openai/models/realtime/realtime_translation_session_close_event.rbi +44 -0
- data/rbi/openai/models/realtime/realtime_translation_session_closed_event.rbi +39 -0
- data/rbi/openai/models/realtime/realtime_translation_session_create_request.rbi +322 -0
- data/rbi/openai/models/realtime/realtime_translation_session_created_event.rbi +68 -0
- data/rbi/openai/models/realtime/realtime_translation_session_update_event.rbi +78 -0
- data/rbi/openai/models/realtime/realtime_translation_session_update_request.rbi +313 -0
- data/rbi/openai/models/realtime/realtime_translation_session_updated_event.rbi +67 -0
- data/rbi/openai/models/realtime/transcription_session_updated_event.rbi +0 -2
- data/rbi/openai/models/responses/response.rbi +6 -4
- data/rbi/openai/models/responses/response_compact_params.rbi +65 -0
- data/rbi/openai/models/responses/response_create_params.rbi +6 -4
- data/rbi/openai/models/responses/response_includable.rbi +2 -0
- data/rbi/openai/models/responses/response_text_delta_event.rbi +2 -2
- data/rbi/openai/models/responses/response_text_done_event.rbi +2 -2
- data/rbi/openai/models/responses/responses_client_event.rbi +6 -4
- data/rbi/openai/models/responses/tool.rbi +122 -27
- data/rbi/openai/resources/chat/completions.rbi +6 -4
- data/rbi/openai/resources/images.rbi +110 -44
- data/rbi/openai/resources/realtime/calls.rbi +7 -0
- data/rbi/openai/resources/responses.rbi +12 -4
- data/sig/openai/models/admin/organization/usage_audio_speeches_response.rbs +7 -2
- data/sig/openai/models/admin/organization/usage_audio_transcriptions_response.rbs +7 -2
- data/sig/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbs +7 -2
- data/sig/openai/models/admin/organization/usage_completions_response.rbs +7 -2
- data/sig/openai/models/admin/organization/usage_costs_response.rbs +7 -2
- data/sig/openai/models/admin/organization/usage_embeddings_response.rbs +7 -2
- data/sig/openai/models/admin/organization/usage_images_response.rbs +7 -2
- data/sig/openai/models/admin/organization/usage_moderations_response.rbs +7 -2
- data/sig/openai/models/admin/organization/usage_vector_stores_response.rbs +7 -2
- data/sig/openai/models/image_edit_params.rbs +5 -4
- data/sig/openai/models/image_generate_params.rbs +5 -4
- data/sig/openai/models/image_model.rbs +11 -5
- data/sig/openai/models/realtime/audio_transcription.rbs +25 -0
- data/sig/openai/models/realtime/realtime_reasoning.rbs +24 -0
- data/sig/openai/models/realtime/realtime_reasoning_effort.rbs +20 -0
- data/sig/openai/models/realtime/realtime_response_create_params.rbs +16 -0
- data/sig/openai/models/realtime/realtime_session_create_request.rbs +18 -0
- data/sig/openai/models/realtime/realtime_session_create_response.rbs +27 -4
- data/sig/openai/models/realtime/realtime_transcription_session_create_response.rbs +4 -8
- data/sig/openai/models/realtime/realtime_translation_client_event.rbs +16 -0
- data/sig/openai/models/realtime/realtime_translation_client_secret_create_request.rbs +69 -0
- data/sig/openai/models/realtime/realtime_translation_client_secret_create_response.rbs +32 -0
- data/sig/openai/models/realtime/realtime_translation_input_audio_buffer_append_event.rbs +34 -0
- data/sig/openai/models/realtime/realtime_translation_input_transcript_delta_event.rbs +37 -0
- data/sig/openai/models/realtime/realtime_translation_output_audio_delta_event.rbs +70 -0
- data/sig/openai/models/realtime/realtime_translation_output_transcript_delta_event.rbs +37 -0
- data/sig/openai/models/realtime/realtime_translation_server_event.rbs +20 -0
- data/sig/openai/models/realtime/realtime_translation_session.rbs +131 -0
- data/sig/openai/models/realtime/realtime_translation_session_close_event.rbs +20 -0
- data/sig/openai/models/realtime/realtime_translation_session_closed_event.rbs +18 -0
- data/sig/openai/models/realtime/realtime_translation_session_create_request.rbs +120 -0
- data/sig/openai/models/realtime/realtime_translation_session_created_event.rbs +32 -0
- data/sig/openai/models/realtime/realtime_translation_session_update_event.rbs +34 -0
- data/sig/openai/models/realtime/realtime_translation_session_update_request.rbs +115 -0
- data/sig/openai/models/realtime/realtime_translation_session_updated_event.rbs +32 -0
- data/sig/openai/models/responses/response_compact_params.rbs +19 -1
- data/sig/openai/models/responses/tool.rbs +15 -5
- data/sig/openai/resources/realtime/calls.rbs +2 -0
- data/sig/openai/resources/responses.rbs +1 -0
- metadata +56 -5
- data/lib/openai/models/realtime/realtime_session_client_secret.rb +0 -36
- data/rbi/openai/models/realtime/realtime_session_client_secret.rbi +0 -49
- data/sig/openai/models/realtime/realtime_session_client_secret.rbs +0 -20
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
module Realtime
|
|
6
|
+
class RealtimeTranslationSessionCreateRequest < OpenAI::Internal::Type::BaseModel
|
|
7
|
+
OrHash =
|
|
8
|
+
T.type_alias do
|
|
9
|
+
T.any(
|
|
10
|
+
OpenAI::Realtime::RealtimeTranslationSessionCreateRequest,
|
|
11
|
+
OpenAI::Internal::AnyHash
|
|
12
|
+
)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# The Realtime translation model used for this session.
|
|
16
|
+
sig { returns(String) }
|
|
17
|
+
attr_accessor :model
|
|
18
|
+
|
|
19
|
+
# Configuration for translation input and output audio.
|
|
20
|
+
sig do
|
|
21
|
+
returns(
|
|
22
|
+
T.nilable(
|
|
23
|
+
OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio
|
|
24
|
+
)
|
|
25
|
+
)
|
|
26
|
+
end
|
|
27
|
+
attr_reader :audio
|
|
28
|
+
|
|
29
|
+
sig do
|
|
30
|
+
params(
|
|
31
|
+
audio:
|
|
32
|
+
OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::OrHash
|
|
33
|
+
).void
|
|
34
|
+
end
|
|
35
|
+
attr_writer :audio
|
|
36
|
+
|
|
37
|
+
# Realtime translation session configuration. Translation sessions stream source
|
|
38
|
+
# audio in and translated audio plus transcript deltas out continuously.
|
|
39
|
+
sig do
|
|
40
|
+
params(
|
|
41
|
+
model: String,
|
|
42
|
+
audio:
|
|
43
|
+
OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::OrHash
|
|
44
|
+
).returns(T.attached_class)
|
|
45
|
+
end
|
|
46
|
+
def self.new(
|
|
47
|
+
# The Realtime translation model used for this session.
|
|
48
|
+
model:,
|
|
49
|
+
# Configuration for translation input and output audio.
|
|
50
|
+
audio: nil
|
|
51
|
+
)
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
sig do
|
|
55
|
+
override.returns(
|
|
56
|
+
{
|
|
57
|
+
model: String,
|
|
58
|
+
audio:
|
|
59
|
+
OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio
|
|
60
|
+
}
|
|
61
|
+
)
|
|
62
|
+
end
|
|
63
|
+
def to_hash
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
class Audio < OpenAI::Internal::Type::BaseModel
|
|
67
|
+
OrHash =
|
|
68
|
+
T.type_alias do
|
|
69
|
+
T.any(
|
|
70
|
+
OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio,
|
|
71
|
+
OpenAI::Internal::AnyHash
|
|
72
|
+
)
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
sig do
|
|
76
|
+
returns(
|
|
77
|
+
T.nilable(
|
|
78
|
+
OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Input
|
|
79
|
+
)
|
|
80
|
+
)
|
|
81
|
+
end
|
|
82
|
+
attr_reader :input
|
|
83
|
+
|
|
84
|
+
sig do
|
|
85
|
+
params(
|
|
86
|
+
input:
|
|
87
|
+
OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Input::OrHash
|
|
88
|
+
).void
|
|
89
|
+
end
|
|
90
|
+
attr_writer :input
|
|
91
|
+
|
|
92
|
+
sig do
|
|
93
|
+
returns(
|
|
94
|
+
T.nilable(
|
|
95
|
+
OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Output
|
|
96
|
+
)
|
|
97
|
+
)
|
|
98
|
+
end
|
|
99
|
+
attr_reader :output
|
|
100
|
+
|
|
101
|
+
sig do
|
|
102
|
+
params(
|
|
103
|
+
output:
|
|
104
|
+
OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Output::OrHash
|
|
105
|
+
).void
|
|
106
|
+
end
|
|
107
|
+
attr_writer :output
|
|
108
|
+
|
|
109
|
+
# Configuration for translation input and output audio.
|
|
110
|
+
sig do
|
|
111
|
+
params(
|
|
112
|
+
input:
|
|
113
|
+
OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Input::OrHash,
|
|
114
|
+
output:
|
|
115
|
+
OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Output::OrHash
|
|
116
|
+
).returns(T.attached_class)
|
|
117
|
+
end
|
|
118
|
+
def self.new(input: nil, output: nil)
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
sig do
|
|
122
|
+
override.returns(
|
|
123
|
+
{
|
|
124
|
+
input:
|
|
125
|
+
OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Input,
|
|
126
|
+
output:
|
|
127
|
+
OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Output
|
|
128
|
+
}
|
|
129
|
+
)
|
|
130
|
+
end
|
|
131
|
+
def to_hash
|
|
132
|
+
end
|
|
133
|
+
|
|
134
|
+
class Input < OpenAI::Internal::Type::BaseModel
|
|
135
|
+
OrHash =
|
|
136
|
+
T.type_alias do
|
|
137
|
+
T.any(
|
|
138
|
+
OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Input,
|
|
139
|
+
OpenAI::Internal::AnyHash
|
|
140
|
+
)
|
|
141
|
+
end
|
|
142
|
+
|
|
143
|
+
# Optional input noise reduction. Set to `null` to disable it.
|
|
144
|
+
sig do
|
|
145
|
+
returns(
|
|
146
|
+
T.nilable(
|
|
147
|
+
OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Input::NoiseReduction
|
|
148
|
+
)
|
|
149
|
+
)
|
|
150
|
+
end
|
|
151
|
+
attr_reader :noise_reduction
|
|
152
|
+
|
|
153
|
+
sig do
|
|
154
|
+
params(
|
|
155
|
+
noise_reduction:
|
|
156
|
+
T.nilable(
|
|
157
|
+
OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Input::NoiseReduction::OrHash
|
|
158
|
+
)
|
|
159
|
+
).void
|
|
160
|
+
end
|
|
161
|
+
attr_writer :noise_reduction
|
|
162
|
+
|
|
163
|
+
# Optional source-language transcription. When configured, the server emits
|
|
164
|
+
# `session.input_transcript.delta` events. Translation itself still runs from the
|
|
165
|
+
# input audio stream.
|
|
166
|
+
sig do
|
|
167
|
+
returns(
|
|
168
|
+
T.nilable(
|
|
169
|
+
OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Input::Transcription
|
|
170
|
+
)
|
|
171
|
+
)
|
|
172
|
+
end
|
|
173
|
+
attr_reader :transcription
|
|
174
|
+
|
|
175
|
+
sig do
|
|
176
|
+
params(
|
|
177
|
+
transcription:
|
|
178
|
+
T.nilable(
|
|
179
|
+
OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Input::Transcription::OrHash
|
|
180
|
+
)
|
|
181
|
+
).void
|
|
182
|
+
end
|
|
183
|
+
attr_writer :transcription
|
|
184
|
+
|
|
185
|
+
sig do
|
|
186
|
+
params(
|
|
187
|
+
noise_reduction:
|
|
188
|
+
T.nilable(
|
|
189
|
+
OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Input::NoiseReduction::OrHash
|
|
190
|
+
),
|
|
191
|
+
transcription:
|
|
192
|
+
T.nilable(
|
|
193
|
+
OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Input::Transcription::OrHash
|
|
194
|
+
)
|
|
195
|
+
).returns(T.attached_class)
|
|
196
|
+
end
|
|
197
|
+
def self.new(
|
|
198
|
+
# Optional input noise reduction. Set to `null` to disable it.
|
|
199
|
+
noise_reduction: nil,
|
|
200
|
+
# Optional source-language transcription. When configured, the server emits
|
|
201
|
+
# `session.input_transcript.delta` events. Translation itself still runs from the
|
|
202
|
+
# input audio stream.
|
|
203
|
+
transcription: nil
|
|
204
|
+
)
|
|
205
|
+
end
|
|
206
|
+
|
|
207
|
+
sig do
|
|
208
|
+
override.returns(
|
|
209
|
+
{
|
|
210
|
+
noise_reduction:
|
|
211
|
+
T.nilable(
|
|
212
|
+
OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Input::NoiseReduction
|
|
213
|
+
),
|
|
214
|
+
transcription:
|
|
215
|
+
T.nilable(
|
|
216
|
+
OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Input::Transcription
|
|
217
|
+
)
|
|
218
|
+
}
|
|
219
|
+
)
|
|
220
|
+
end
|
|
221
|
+
def to_hash
|
|
222
|
+
end
|
|
223
|
+
|
|
224
|
+
class NoiseReduction < OpenAI::Internal::Type::BaseModel
|
|
225
|
+
OrHash =
|
|
226
|
+
T.type_alias do
|
|
227
|
+
T.any(
|
|
228
|
+
OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Input::NoiseReduction,
|
|
229
|
+
OpenAI::Internal::AnyHash
|
|
230
|
+
)
|
|
231
|
+
end
|
|
232
|
+
|
|
233
|
+
# Type of noise reduction. `near_field` is for close-talking microphones such as
|
|
234
|
+
# headphones, `far_field` is for far-field microphones such as laptop or
|
|
235
|
+
# conference room microphones.
|
|
236
|
+
sig { returns(OpenAI::Realtime::NoiseReductionType::OrSymbol) }
|
|
237
|
+
attr_accessor :type
|
|
238
|
+
|
|
239
|
+
# Optional input noise reduction. Set to `null` to disable it.
|
|
240
|
+
sig do
|
|
241
|
+
params(
|
|
242
|
+
type: OpenAI::Realtime::NoiseReductionType::OrSymbol
|
|
243
|
+
).returns(T.attached_class)
|
|
244
|
+
end
|
|
245
|
+
def self.new(
|
|
246
|
+
# Type of noise reduction. `near_field` is for close-talking microphones such as
|
|
247
|
+
# headphones, `far_field` is for far-field microphones such as laptop or
|
|
248
|
+
# conference room microphones.
|
|
249
|
+
type:
|
|
250
|
+
)
|
|
251
|
+
end
|
|
252
|
+
|
|
253
|
+
sig do
|
|
254
|
+
override.returns(
|
|
255
|
+
{ type: OpenAI::Realtime::NoiseReductionType::OrSymbol }
|
|
256
|
+
)
|
|
257
|
+
end
|
|
258
|
+
def to_hash
|
|
259
|
+
end
|
|
260
|
+
end
|
|
261
|
+
|
|
262
|
+
class Transcription < OpenAI::Internal::Type::BaseModel
|
|
263
|
+
OrHash =
|
|
264
|
+
T.type_alias do
|
|
265
|
+
T.any(
|
|
266
|
+
OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Input::Transcription,
|
|
267
|
+
OpenAI::Internal::AnyHash
|
|
268
|
+
)
|
|
269
|
+
end
|
|
270
|
+
|
|
271
|
+
# The transcription model to use for source transcript deltas.
|
|
272
|
+
sig { returns(String) }
|
|
273
|
+
attr_accessor :model
|
|
274
|
+
|
|
275
|
+
# Optional source-language transcription. When configured, the server emits
|
|
276
|
+
# `session.input_transcript.delta` events. Translation itself still runs from the
|
|
277
|
+
# input audio stream.
|
|
278
|
+
sig { params(model: String).returns(T.attached_class) }
|
|
279
|
+
def self.new(
|
|
280
|
+
# The transcription model to use for source transcript deltas.
|
|
281
|
+
model:
|
|
282
|
+
)
|
|
283
|
+
end
|
|
284
|
+
|
|
285
|
+
sig { override.returns({ model: String }) }
|
|
286
|
+
def to_hash
|
|
287
|
+
end
|
|
288
|
+
end
|
|
289
|
+
end
|
|
290
|
+
|
|
291
|
+
class Output < OpenAI::Internal::Type::BaseModel
|
|
292
|
+
OrHash =
|
|
293
|
+
T.type_alias do
|
|
294
|
+
T.any(
|
|
295
|
+
OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Output,
|
|
296
|
+
OpenAI::Internal::AnyHash
|
|
297
|
+
)
|
|
298
|
+
end
|
|
299
|
+
|
|
300
|
+
# Target language for translated output audio and transcript deltas.
|
|
301
|
+
sig { returns(T.nilable(String)) }
|
|
302
|
+
attr_reader :language
|
|
303
|
+
|
|
304
|
+
sig { params(language: String).void }
|
|
305
|
+
attr_writer :language
|
|
306
|
+
|
|
307
|
+
sig { params(language: String).returns(T.attached_class) }
|
|
308
|
+
def self.new(
|
|
309
|
+
# Target language for translated output audio and transcript deltas.
|
|
310
|
+
language: nil
|
|
311
|
+
)
|
|
312
|
+
end
|
|
313
|
+
|
|
314
|
+
sig { override.returns({ language: String }) }
|
|
315
|
+
def to_hash
|
|
316
|
+
end
|
|
317
|
+
end
|
|
318
|
+
end
|
|
319
|
+
end
|
|
320
|
+
end
|
|
321
|
+
end
|
|
322
|
+
end
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
module Realtime
|
|
6
|
+
class RealtimeTranslationSessionCreatedEvent < OpenAI::Internal::Type::BaseModel
|
|
7
|
+
OrHash =
|
|
8
|
+
T.type_alias do
|
|
9
|
+
T.any(
|
|
10
|
+
OpenAI::Realtime::RealtimeTranslationSessionCreatedEvent,
|
|
11
|
+
OpenAI::Internal::AnyHash
|
|
12
|
+
)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# The unique ID of the server event.
|
|
16
|
+
sig { returns(String) }
|
|
17
|
+
attr_accessor :event_id
|
|
18
|
+
|
|
19
|
+
# The translation session configuration.
|
|
20
|
+
sig { returns(OpenAI::Realtime::RealtimeTranslationSession) }
|
|
21
|
+
attr_reader :session
|
|
22
|
+
|
|
23
|
+
sig do
|
|
24
|
+
params(
|
|
25
|
+
session: OpenAI::Realtime::RealtimeTranslationSession::OrHash
|
|
26
|
+
).void
|
|
27
|
+
end
|
|
28
|
+
attr_writer :session
|
|
29
|
+
|
|
30
|
+
# The event type, must be `session.created`.
|
|
31
|
+
sig { returns(Symbol) }
|
|
32
|
+
attr_accessor :type
|
|
33
|
+
|
|
34
|
+
# Returned when a translation session is created. Emitted automatically when a new
|
|
35
|
+
# connection is established as the first server event. This event contains the
|
|
36
|
+
# default translation session configuration.
|
|
37
|
+
sig do
|
|
38
|
+
params(
|
|
39
|
+
event_id: String,
|
|
40
|
+
session: OpenAI::Realtime::RealtimeTranslationSession::OrHash,
|
|
41
|
+
type: Symbol
|
|
42
|
+
).returns(T.attached_class)
|
|
43
|
+
end
|
|
44
|
+
def self.new(
|
|
45
|
+
# The unique ID of the server event.
|
|
46
|
+
event_id:,
|
|
47
|
+
# The translation session configuration.
|
|
48
|
+
session:,
|
|
49
|
+
# The event type, must be `session.created`.
|
|
50
|
+
type: :"session.created"
|
|
51
|
+
)
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
sig do
|
|
55
|
+
override.returns(
|
|
56
|
+
{
|
|
57
|
+
event_id: String,
|
|
58
|
+
session: OpenAI::Realtime::RealtimeTranslationSession,
|
|
59
|
+
type: Symbol
|
|
60
|
+
}
|
|
61
|
+
)
|
|
62
|
+
end
|
|
63
|
+
def to_hash
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
end
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
module Realtime
|
|
6
|
+
class RealtimeTranslationSessionUpdateEvent < OpenAI::Internal::Type::BaseModel
|
|
7
|
+
OrHash =
|
|
8
|
+
T.type_alias do
|
|
9
|
+
T.any(
|
|
10
|
+
OpenAI::Realtime::RealtimeTranslationSessionUpdateEvent,
|
|
11
|
+
OpenAI::Internal::AnyHash
|
|
12
|
+
)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# Translation session fields to update. The session `type` and `model` are set at
|
|
16
|
+
# creation and cannot be changed with `session.update`.
|
|
17
|
+
sig do
|
|
18
|
+
returns(OpenAI::Realtime::RealtimeTranslationSessionUpdateRequest)
|
|
19
|
+
end
|
|
20
|
+
attr_reader :session
|
|
21
|
+
|
|
22
|
+
sig do
|
|
23
|
+
params(
|
|
24
|
+
session:
|
|
25
|
+
OpenAI::Realtime::RealtimeTranslationSessionUpdateRequest::OrHash
|
|
26
|
+
).void
|
|
27
|
+
end
|
|
28
|
+
attr_writer :session
|
|
29
|
+
|
|
30
|
+
# The event type, must be `session.update`.
|
|
31
|
+
sig { returns(Symbol) }
|
|
32
|
+
attr_accessor :type
|
|
33
|
+
|
|
34
|
+
# Optional client-generated ID used to identify this event.
|
|
35
|
+
sig { returns(T.nilable(String)) }
|
|
36
|
+
attr_reader :event_id
|
|
37
|
+
|
|
38
|
+
sig { params(event_id: String).void }
|
|
39
|
+
attr_writer :event_id
|
|
40
|
+
|
|
41
|
+
# Send this event to update the translation session configuration. Translation
|
|
42
|
+
# sessions support updates to `audio.output.language`,
|
|
43
|
+
# `audio.input.transcription`, and `audio.input.noise_reduction`.
|
|
44
|
+
sig do
|
|
45
|
+
params(
|
|
46
|
+
session:
|
|
47
|
+
OpenAI::Realtime::RealtimeTranslationSessionUpdateRequest::OrHash,
|
|
48
|
+
event_id: String,
|
|
49
|
+
type: Symbol
|
|
50
|
+
).returns(T.attached_class)
|
|
51
|
+
end
|
|
52
|
+
def self.new(
|
|
53
|
+
# Translation session fields to update. The session `type` and `model` are set at
|
|
54
|
+
# creation and cannot be changed with `session.update`.
|
|
55
|
+
session:,
|
|
56
|
+
# Optional client-generated ID used to identify this event.
|
|
57
|
+
event_id: nil,
|
|
58
|
+
# The event type, must be `session.update`.
|
|
59
|
+
type: :"session.update"
|
|
60
|
+
)
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
sig do
|
|
64
|
+
override.returns(
|
|
65
|
+
{
|
|
66
|
+
session:
|
|
67
|
+
OpenAI::Realtime::RealtimeTranslationSessionUpdateRequest,
|
|
68
|
+
type: Symbol,
|
|
69
|
+
event_id: String
|
|
70
|
+
}
|
|
71
|
+
)
|
|
72
|
+
end
|
|
73
|
+
def to_hash
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
end
|