openai 0.61.0 → 0.62.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 +18 -0
- data/README.md +1 -1
- 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_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 +2 -2
- data/lib/openai/version.rb +1 -1
- data/lib/openai.rb +18 -1
- 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_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 +6 -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/tool.rbs +15 -5
- data/sig/openai/resources/realtime/calls.rbs +2 -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,76 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
module Realtime
|
|
6
|
+
class RealtimeTranslationOutputTranscriptDeltaEvent < OpenAI::Internal::Type::BaseModel
|
|
7
|
+
OrHash =
|
|
8
|
+
T.type_alias do
|
|
9
|
+
T.any(
|
|
10
|
+
OpenAI::Realtime::RealtimeTranslationOutputTranscriptDeltaEvent,
|
|
11
|
+
OpenAI::Internal::AnyHash
|
|
12
|
+
)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# Append-only transcript text for the translated output audio.
|
|
16
|
+
sig { returns(String) }
|
|
17
|
+
attr_accessor :delta
|
|
18
|
+
|
|
19
|
+
# The unique ID of the server event.
|
|
20
|
+
sig { returns(String) }
|
|
21
|
+
attr_accessor :event_id
|
|
22
|
+
|
|
23
|
+
# The event type, must be `session.output_transcript.delta`.
|
|
24
|
+
sig { returns(Symbol) }
|
|
25
|
+
attr_accessor :type
|
|
26
|
+
|
|
27
|
+
# Timing metadata for stream alignment, derived from the translation frame when
|
|
28
|
+
# available. It advances in 200 ms increments, but multiple transcript deltas may
|
|
29
|
+
# share the same `elapsed_ms`. Treat it as alignment metadata, not a unique
|
|
30
|
+
# transcript-delta identifier.
|
|
31
|
+
sig { returns(T.nilable(Integer)) }
|
|
32
|
+
attr_accessor :elapsed_ms
|
|
33
|
+
|
|
34
|
+
# Returned when translated transcript text is available.
|
|
35
|
+
#
|
|
36
|
+
# Transcript deltas are append-only text fragments. Clients should not insert
|
|
37
|
+
# unconditional spaces between deltas.
|
|
38
|
+
sig do
|
|
39
|
+
params(
|
|
40
|
+
delta: String,
|
|
41
|
+
event_id: String,
|
|
42
|
+
elapsed_ms: T.nilable(Integer),
|
|
43
|
+
type: Symbol
|
|
44
|
+
).returns(T.attached_class)
|
|
45
|
+
end
|
|
46
|
+
def self.new(
|
|
47
|
+
# Append-only transcript text for the translated output audio.
|
|
48
|
+
delta:,
|
|
49
|
+
# The unique ID of the server event.
|
|
50
|
+
event_id:,
|
|
51
|
+
# Timing metadata for stream alignment, derived from the translation frame when
|
|
52
|
+
# available. It advances in 200 ms increments, but multiple transcript deltas may
|
|
53
|
+
# share the same `elapsed_ms`. Treat it as alignment metadata, not a unique
|
|
54
|
+
# transcript-delta identifier.
|
|
55
|
+
elapsed_ms: nil,
|
|
56
|
+
# The event type, must be `session.output_transcript.delta`.
|
|
57
|
+
type: :"session.output_transcript.delta"
|
|
58
|
+
)
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
sig do
|
|
62
|
+
override.returns(
|
|
63
|
+
{
|
|
64
|
+
delta: String,
|
|
65
|
+
event_id: String,
|
|
66
|
+
type: Symbol,
|
|
67
|
+
elapsed_ms: T.nilable(Integer)
|
|
68
|
+
}
|
|
69
|
+
)
|
|
70
|
+
end
|
|
71
|
+
def to_hash
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
module Realtime
|
|
6
|
+
# A Realtime translation server event.
|
|
7
|
+
module RealtimeTranslationServerEvent
|
|
8
|
+
extend OpenAI::Internal::Type::Union
|
|
9
|
+
|
|
10
|
+
Variants =
|
|
11
|
+
T.type_alias do
|
|
12
|
+
T.any(
|
|
13
|
+
OpenAI::Realtime::RealtimeErrorEvent,
|
|
14
|
+
OpenAI::Realtime::RealtimeTranslationSessionCreatedEvent,
|
|
15
|
+
OpenAI::Realtime::RealtimeTranslationSessionUpdatedEvent,
|
|
16
|
+
OpenAI::Realtime::RealtimeTranslationSessionClosedEvent,
|
|
17
|
+
OpenAI::Realtime::RealtimeTranslationInputTranscriptDeltaEvent,
|
|
18
|
+
OpenAI::Realtime::RealtimeTranslationOutputTranscriptDeltaEvent,
|
|
19
|
+
OpenAI::Realtime::RealtimeTranslationOutputAudioDeltaEvent
|
|
20
|
+
)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
sig do
|
|
24
|
+
override.returns(
|
|
25
|
+
T::Array[OpenAI::Realtime::RealtimeTranslationServerEvent::Variants]
|
|
26
|
+
)
|
|
27
|
+
end
|
|
28
|
+
def self.variants
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,339 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
module Realtime
|
|
6
|
+
class RealtimeTranslationSession < OpenAI::Internal::Type::BaseModel
|
|
7
|
+
OrHash =
|
|
8
|
+
T.type_alias do
|
|
9
|
+
T.any(
|
|
10
|
+
OpenAI::Realtime::RealtimeTranslationSession,
|
|
11
|
+
OpenAI::Internal::AnyHash
|
|
12
|
+
)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# Unique identifier for the session that looks like `sess_1234567890abcdef`.
|
|
16
|
+
sig { returns(String) }
|
|
17
|
+
attr_accessor :id
|
|
18
|
+
|
|
19
|
+
# Configuration for translation input and output audio.
|
|
20
|
+
sig { returns(OpenAI::Realtime::RealtimeTranslationSession::Audio) }
|
|
21
|
+
attr_reader :audio
|
|
22
|
+
|
|
23
|
+
sig do
|
|
24
|
+
params(
|
|
25
|
+
audio: OpenAI::Realtime::RealtimeTranslationSession::Audio::OrHash
|
|
26
|
+
).void
|
|
27
|
+
end
|
|
28
|
+
attr_writer :audio
|
|
29
|
+
|
|
30
|
+
# Expiration timestamp for the session, in seconds since epoch.
|
|
31
|
+
sig { returns(Integer) }
|
|
32
|
+
attr_accessor :expires_at
|
|
33
|
+
|
|
34
|
+
# The Realtime translation model used for this session. This field is set at
|
|
35
|
+
# session creation and cannot be changed with `session.update`.
|
|
36
|
+
sig { returns(String) }
|
|
37
|
+
attr_accessor :model
|
|
38
|
+
|
|
39
|
+
# The session type. Always `translation` for Realtime translation sessions.
|
|
40
|
+
sig { returns(Symbol) }
|
|
41
|
+
attr_accessor :type
|
|
42
|
+
|
|
43
|
+
# A Realtime translation session. Translation sessions continuously translate
|
|
44
|
+
# input audio into the configured output language.
|
|
45
|
+
sig do
|
|
46
|
+
params(
|
|
47
|
+
id: String,
|
|
48
|
+
audio: OpenAI::Realtime::RealtimeTranslationSession::Audio::OrHash,
|
|
49
|
+
expires_at: Integer,
|
|
50
|
+
model: String,
|
|
51
|
+
type: Symbol
|
|
52
|
+
).returns(T.attached_class)
|
|
53
|
+
end
|
|
54
|
+
def self.new(
|
|
55
|
+
# Unique identifier for the session that looks like `sess_1234567890abcdef`.
|
|
56
|
+
id:,
|
|
57
|
+
# Configuration for translation input and output audio.
|
|
58
|
+
audio:,
|
|
59
|
+
# Expiration timestamp for the session, in seconds since epoch.
|
|
60
|
+
expires_at:,
|
|
61
|
+
# The Realtime translation model used for this session. This field is set at
|
|
62
|
+
# session creation and cannot be changed with `session.update`.
|
|
63
|
+
model:,
|
|
64
|
+
# The session type. Always `translation` for Realtime translation sessions.
|
|
65
|
+
type: :translation
|
|
66
|
+
)
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
sig do
|
|
70
|
+
override.returns(
|
|
71
|
+
{
|
|
72
|
+
id: String,
|
|
73
|
+
audio: OpenAI::Realtime::RealtimeTranslationSession::Audio,
|
|
74
|
+
expires_at: Integer,
|
|
75
|
+
model: String,
|
|
76
|
+
type: Symbol
|
|
77
|
+
}
|
|
78
|
+
)
|
|
79
|
+
end
|
|
80
|
+
def to_hash
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
class Audio < OpenAI::Internal::Type::BaseModel
|
|
84
|
+
OrHash =
|
|
85
|
+
T.type_alias do
|
|
86
|
+
T.any(
|
|
87
|
+
OpenAI::Realtime::RealtimeTranslationSession::Audio,
|
|
88
|
+
OpenAI::Internal::AnyHash
|
|
89
|
+
)
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
sig do
|
|
93
|
+
returns(
|
|
94
|
+
T.nilable(
|
|
95
|
+
OpenAI::Realtime::RealtimeTranslationSession::Audio::Input
|
|
96
|
+
)
|
|
97
|
+
)
|
|
98
|
+
end
|
|
99
|
+
attr_reader :input
|
|
100
|
+
|
|
101
|
+
sig do
|
|
102
|
+
params(
|
|
103
|
+
input:
|
|
104
|
+
OpenAI::Realtime::RealtimeTranslationSession::Audio::Input::OrHash
|
|
105
|
+
).void
|
|
106
|
+
end
|
|
107
|
+
attr_writer :input
|
|
108
|
+
|
|
109
|
+
sig do
|
|
110
|
+
returns(
|
|
111
|
+
T.nilable(
|
|
112
|
+
OpenAI::Realtime::RealtimeTranslationSession::Audio::Output
|
|
113
|
+
)
|
|
114
|
+
)
|
|
115
|
+
end
|
|
116
|
+
attr_reader :output
|
|
117
|
+
|
|
118
|
+
sig do
|
|
119
|
+
params(
|
|
120
|
+
output:
|
|
121
|
+
OpenAI::Realtime::RealtimeTranslationSession::Audio::Output::OrHash
|
|
122
|
+
).void
|
|
123
|
+
end
|
|
124
|
+
attr_writer :output
|
|
125
|
+
|
|
126
|
+
# Configuration for translation input and output audio.
|
|
127
|
+
sig do
|
|
128
|
+
params(
|
|
129
|
+
input:
|
|
130
|
+
OpenAI::Realtime::RealtimeTranslationSession::Audio::Input::OrHash,
|
|
131
|
+
output:
|
|
132
|
+
OpenAI::Realtime::RealtimeTranslationSession::Audio::Output::OrHash
|
|
133
|
+
).returns(T.attached_class)
|
|
134
|
+
end
|
|
135
|
+
def self.new(input: nil, output: nil)
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
sig do
|
|
139
|
+
override.returns(
|
|
140
|
+
{
|
|
141
|
+
input:
|
|
142
|
+
OpenAI::Realtime::RealtimeTranslationSession::Audio::Input,
|
|
143
|
+
output:
|
|
144
|
+
OpenAI::Realtime::RealtimeTranslationSession::Audio::Output
|
|
145
|
+
}
|
|
146
|
+
)
|
|
147
|
+
end
|
|
148
|
+
def to_hash
|
|
149
|
+
end
|
|
150
|
+
|
|
151
|
+
class Input < OpenAI::Internal::Type::BaseModel
|
|
152
|
+
OrHash =
|
|
153
|
+
T.type_alias do
|
|
154
|
+
T.any(
|
|
155
|
+
OpenAI::Realtime::RealtimeTranslationSession::Audio::Input,
|
|
156
|
+
OpenAI::Internal::AnyHash
|
|
157
|
+
)
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
# Optional input noise reduction.
|
|
161
|
+
sig do
|
|
162
|
+
returns(
|
|
163
|
+
T.nilable(
|
|
164
|
+
OpenAI::Realtime::RealtimeTranslationSession::Audio::Input::NoiseReduction
|
|
165
|
+
)
|
|
166
|
+
)
|
|
167
|
+
end
|
|
168
|
+
attr_reader :noise_reduction
|
|
169
|
+
|
|
170
|
+
sig do
|
|
171
|
+
params(
|
|
172
|
+
noise_reduction:
|
|
173
|
+
T.nilable(
|
|
174
|
+
OpenAI::Realtime::RealtimeTranslationSession::Audio::Input::NoiseReduction::OrHash
|
|
175
|
+
)
|
|
176
|
+
).void
|
|
177
|
+
end
|
|
178
|
+
attr_writer :noise_reduction
|
|
179
|
+
|
|
180
|
+
# Optional source-language transcription. When configured, the server emits
|
|
181
|
+
# `session.input_transcript.delta` events. Translation itself still runs from the
|
|
182
|
+
# input audio stream.
|
|
183
|
+
sig do
|
|
184
|
+
returns(
|
|
185
|
+
T.nilable(
|
|
186
|
+
OpenAI::Realtime::RealtimeTranslationSession::Audio::Input::Transcription
|
|
187
|
+
)
|
|
188
|
+
)
|
|
189
|
+
end
|
|
190
|
+
attr_reader :transcription
|
|
191
|
+
|
|
192
|
+
sig do
|
|
193
|
+
params(
|
|
194
|
+
transcription:
|
|
195
|
+
T.nilable(
|
|
196
|
+
OpenAI::Realtime::RealtimeTranslationSession::Audio::Input::Transcription::OrHash
|
|
197
|
+
)
|
|
198
|
+
).void
|
|
199
|
+
end
|
|
200
|
+
attr_writer :transcription
|
|
201
|
+
|
|
202
|
+
sig do
|
|
203
|
+
params(
|
|
204
|
+
noise_reduction:
|
|
205
|
+
T.nilable(
|
|
206
|
+
OpenAI::Realtime::RealtimeTranslationSession::Audio::Input::NoiseReduction::OrHash
|
|
207
|
+
),
|
|
208
|
+
transcription:
|
|
209
|
+
T.nilable(
|
|
210
|
+
OpenAI::Realtime::RealtimeTranslationSession::Audio::Input::Transcription::OrHash
|
|
211
|
+
)
|
|
212
|
+
).returns(T.attached_class)
|
|
213
|
+
end
|
|
214
|
+
def self.new(
|
|
215
|
+
# Optional input noise reduction.
|
|
216
|
+
noise_reduction: nil,
|
|
217
|
+
# Optional source-language transcription. When configured, the server emits
|
|
218
|
+
# `session.input_transcript.delta` events. Translation itself still runs from the
|
|
219
|
+
# input audio stream.
|
|
220
|
+
transcription: nil
|
|
221
|
+
)
|
|
222
|
+
end
|
|
223
|
+
|
|
224
|
+
sig do
|
|
225
|
+
override.returns(
|
|
226
|
+
{
|
|
227
|
+
noise_reduction:
|
|
228
|
+
T.nilable(
|
|
229
|
+
OpenAI::Realtime::RealtimeTranslationSession::Audio::Input::NoiseReduction
|
|
230
|
+
),
|
|
231
|
+
transcription:
|
|
232
|
+
T.nilable(
|
|
233
|
+
OpenAI::Realtime::RealtimeTranslationSession::Audio::Input::Transcription
|
|
234
|
+
)
|
|
235
|
+
}
|
|
236
|
+
)
|
|
237
|
+
end
|
|
238
|
+
def to_hash
|
|
239
|
+
end
|
|
240
|
+
|
|
241
|
+
class NoiseReduction < OpenAI::Internal::Type::BaseModel
|
|
242
|
+
OrHash =
|
|
243
|
+
T.type_alias do
|
|
244
|
+
T.any(
|
|
245
|
+
OpenAI::Realtime::RealtimeTranslationSession::Audio::Input::NoiseReduction,
|
|
246
|
+
OpenAI::Internal::AnyHash
|
|
247
|
+
)
|
|
248
|
+
end
|
|
249
|
+
|
|
250
|
+
# Type of noise reduction. `near_field` is for close-talking microphones such as
|
|
251
|
+
# headphones, `far_field` is for far-field microphones such as laptop or
|
|
252
|
+
# conference room microphones.
|
|
253
|
+
sig { returns(OpenAI::Realtime::NoiseReductionType::OrSymbol) }
|
|
254
|
+
attr_accessor :type
|
|
255
|
+
|
|
256
|
+
# Optional input noise reduction.
|
|
257
|
+
sig do
|
|
258
|
+
params(
|
|
259
|
+
type: OpenAI::Realtime::NoiseReductionType::OrSymbol
|
|
260
|
+
).returns(T.attached_class)
|
|
261
|
+
end
|
|
262
|
+
def self.new(
|
|
263
|
+
# Type of noise reduction. `near_field` is for close-talking microphones such as
|
|
264
|
+
# headphones, `far_field` is for far-field microphones such as laptop or
|
|
265
|
+
# conference room microphones.
|
|
266
|
+
type:
|
|
267
|
+
)
|
|
268
|
+
end
|
|
269
|
+
|
|
270
|
+
sig do
|
|
271
|
+
override.returns(
|
|
272
|
+
{ type: OpenAI::Realtime::NoiseReductionType::OrSymbol }
|
|
273
|
+
)
|
|
274
|
+
end
|
|
275
|
+
def to_hash
|
|
276
|
+
end
|
|
277
|
+
end
|
|
278
|
+
|
|
279
|
+
class Transcription < OpenAI::Internal::Type::BaseModel
|
|
280
|
+
OrHash =
|
|
281
|
+
T.type_alias do
|
|
282
|
+
T.any(
|
|
283
|
+
OpenAI::Realtime::RealtimeTranslationSession::Audio::Input::Transcription,
|
|
284
|
+
OpenAI::Internal::AnyHash
|
|
285
|
+
)
|
|
286
|
+
end
|
|
287
|
+
|
|
288
|
+
# The transcription model used for source transcript deltas.
|
|
289
|
+
sig { returns(String) }
|
|
290
|
+
attr_accessor :model
|
|
291
|
+
|
|
292
|
+
# Optional source-language transcription. When configured, the server emits
|
|
293
|
+
# `session.input_transcript.delta` events. Translation itself still runs from the
|
|
294
|
+
# input audio stream.
|
|
295
|
+
sig { params(model: String).returns(T.attached_class) }
|
|
296
|
+
def self.new(
|
|
297
|
+
# The transcription model used for source transcript deltas.
|
|
298
|
+
model:
|
|
299
|
+
)
|
|
300
|
+
end
|
|
301
|
+
|
|
302
|
+
sig { override.returns({ model: String }) }
|
|
303
|
+
def to_hash
|
|
304
|
+
end
|
|
305
|
+
end
|
|
306
|
+
end
|
|
307
|
+
|
|
308
|
+
class Output < OpenAI::Internal::Type::BaseModel
|
|
309
|
+
OrHash =
|
|
310
|
+
T.type_alias do
|
|
311
|
+
T.any(
|
|
312
|
+
OpenAI::Realtime::RealtimeTranslationSession::Audio::Output,
|
|
313
|
+
OpenAI::Internal::AnyHash
|
|
314
|
+
)
|
|
315
|
+
end
|
|
316
|
+
|
|
317
|
+
# Target language for translated output audio and transcript deltas.
|
|
318
|
+
sig { returns(T.nilable(String)) }
|
|
319
|
+
attr_reader :language
|
|
320
|
+
|
|
321
|
+
sig { params(language: String).void }
|
|
322
|
+
attr_writer :language
|
|
323
|
+
|
|
324
|
+
sig { params(language: String).returns(T.attached_class) }
|
|
325
|
+
def self.new(
|
|
326
|
+
# Target language for translated output audio and transcript deltas.
|
|
327
|
+
language: nil
|
|
328
|
+
)
|
|
329
|
+
end
|
|
330
|
+
|
|
331
|
+
sig { override.returns({ language: String }) }
|
|
332
|
+
def to_hash
|
|
333
|
+
end
|
|
334
|
+
end
|
|
335
|
+
end
|
|
336
|
+
end
|
|
337
|
+
end
|
|
338
|
+
end
|
|
339
|
+
end
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
module Realtime
|
|
6
|
+
class RealtimeTranslationSessionCloseEvent < OpenAI::Internal::Type::BaseModel
|
|
7
|
+
OrHash =
|
|
8
|
+
T.type_alias do
|
|
9
|
+
T.any(
|
|
10
|
+
OpenAI::Realtime::RealtimeTranslationSessionCloseEvent,
|
|
11
|
+
OpenAI::Internal::AnyHash
|
|
12
|
+
)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# The event type, must be `session.close`.
|
|
16
|
+
sig { returns(Symbol) }
|
|
17
|
+
attr_accessor :type
|
|
18
|
+
|
|
19
|
+
# Optional client-generated ID used to identify this event.
|
|
20
|
+
sig { returns(T.nilable(String)) }
|
|
21
|
+
attr_reader :event_id
|
|
22
|
+
|
|
23
|
+
sig { params(event_id: String).void }
|
|
24
|
+
attr_writer :event_id
|
|
25
|
+
|
|
26
|
+
# Gracefully close the realtime translation session. The server flushes pending
|
|
27
|
+
# input audio and emits any remaining translated output before closing the
|
|
28
|
+
# session.
|
|
29
|
+
sig { params(event_id: String, type: Symbol).returns(T.attached_class) }
|
|
30
|
+
def self.new(
|
|
31
|
+
# Optional client-generated ID used to identify this event.
|
|
32
|
+
event_id: nil,
|
|
33
|
+
# The event type, must be `session.close`.
|
|
34
|
+
type: :"session.close"
|
|
35
|
+
)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
sig { override.returns({ type: Symbol, event_id: String }) }
|
|
39
|
+
def to_hash
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
module Realtime
|
|
6
|
+
class RealtimeTranslationSessionClosedEvent < OpenAI::Internal::Type::BaseModel
|
|
7
|
+
OrHash =
|
|
8
|
+
T.type_alias do
|
|
9
|
+
T.any(
|
|
10
|
+
OpenAI::Realtime::RealtimeTranslationSessionClosedEvent,
|
|
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 event type, must be `session.closed`.
|
|
20
|
+
sig { returns(Symbol) }
|
|
21
|
+
attr_accessor :type
|
|
22
|
+
|
|
23
|
+
# Returned when a realtime translation session is closed.
|
|
24
|
+
sig { params(event_id: String, type: Symbol).returns(T.attached_class) }
|
|
25
|
+
def self.new(
|
|
26
|
+
# The unique ID of the server event.
|
|
27
|
+
event_id:,
|
|
28
|
+
# The event type, must be `session.closed`.
|
|
29
|
+
type: :"session.closed"
|
|
30
|
+
)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
sig { override.returns({ event_id: String, type: Symbol }) }
|
|
34
|
+
def to_hash
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|