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.
Files changed (164) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +26 -0
  3. data/README.md +2 -5
  4. data/lib/openai/auth/workload_identity.rb +2 -2
  5. data/lib/openai/auth/workload_identity_auth.rb +4 -3
  6. data/lib/openai/models/admin/organization/usage_audio_speeches_response.rb +10 -1
  7. data/lib/openai/models/admin/organization/usage_audio_transcriptions_response.rb +10 -1
  8. data/lib/openai/models/admin/organization/usage_code_interpreter_sessions_response.rb +10 -1
  9. data/lib/openai/models/admin/organization/usage_completions_response.rb +10 -1
  10. data/lib/openai/models/admin/organization/usage_costs_response.rb +10 -1
  11. data/lib/openai/models/admin/organization/usage_embeddings_response.rb +10 -1
  12. data/lib/openai/models/admin/organization/usage_images_response.rb +10 -1
  13. data/lib/openai/models/admin/organization/usage_moderations_response.rb +10 -1
  14. data/lib/openai/models/admin/organization/usage_vector_stores_response.rb +10 -1
  15. data/lib/openai/models/chat/chat_completion_token_logprob.rb +1 -2
  16. data/lib/openai/models/chat/completion_create_params.rb +4 -3
  17. data/lib/openai/models/image_edit_params.rb +85 -31
  18. data/lib/openai/models/image_generate_params.rb +78 -26
  19. data/lib/openai/models/image_model.rb +5 -2
  20. data/lib/openai/models/realtime/audio_transcription.rb +37 -5
  21. data/lib/openai/models/realtime/client_secret_create_response.rb +1 -2
  22. data/lib/openai/models/realtime/realtime_audio_config_input.rb +3 -0
  23. data/lib/openai/models/realtime/realtime_audio_input_turn_detection.rb +3 -0
  24. data/lib/openai/models/realtime/realtime_reasoning.rb +24 -0
  25. data/lib/openai/models/realtime/realtime_reasoning_effort.rb +22 -0
  26. data/lib/openai/models/realtime/realtime_response_create_params.rb +18 -1
  27. data/lib/openai/models/realtime/realtime_session.rb +6 -0
  28. data/lib/openai/models/realtime/realtime_session_create_request.rb +21 -1
  29. data/lib/openai/models/realtime/realtime_session_create_response.rb +41 -17
  30. data/lib/openai/models/realtime/realtime_transcription_session_audio_input.rb +3 -0
  31. data/lib/openai/models/realtime/realtime_transcription_session_audio_input_turn_detection.rb +3 -0
  32. data/lib/openai/models/realtime/realtime_transcription_session_create_response.rb +9 -5
  33. data/lib/openai/models/realtime/realtime_transcription_session_turn_detection.rb +2 -1
  34. data/lib/openai/models/realtime/realtime_translation_client_event.rb +45 -0
  35. data/lib/openai/models/realtime/realtime_translation_client_secret_create_request.rb +85 -0
  36. data/lib/openai/models/realtime/realtime_translation_client_secret_create_response.rb +42 -0
  37. data/lib/openai/models/realtime/realtime_translation_input_audio_buffer_append_event.rb +51 -0
  38. data/lib/openai/models/realtime/realtime_translation_input_transcript_delta_event.rb +55 -0
  39. data/lib/openai/models/realtime/realtime_translation_output_audio_delta_event.rb +89 -0
  40. data/lib/openai/models/realtime/realtime_translation_output_transcript_delta_event.rb +54 -0
  41. data/lib/openai/models/realtime/realtime_translation_server_event.rb +53 -0
  42. data/lib/openai/models/realtime/realtime_translation_session.rb +158 -0
  43. data/lib/openai/models/realtime/realtime_translation_session_close_event.rb +30 -0
  44. data/lib/openai/models/realtime/realtime_translation_session_closed_event.rb +28 -0
  45. data/lib/openai/models/realtime/realtime_translation_session_create_request.rb +138 -0
  46. data/lib/openai/models/realtime/realtime_translation_session_created_event.rb +38 -0
  47. data/lib/openai/models/realtime/realtime_translation_session_update_event.rb +43 -0
  48. data/lib/openai/models/realtime/realtime_translation_session_update_request.rb +129 -0
  49. data/lib/openai/models/realtime/realtime_translation_session_updated_event.rb +37 -0
  50. data/lib/openai/models/realtime/transcription_session_updated_event.rb +1 -2
  51. data/lib/openai/models/responses/response.rb +4 -3
  52. data/lib/openai/models/responses/response_compact_params.rb +22 -1
  53. data/lib/openai/models/responses/response_create_params.rb +4 -3
  54. data/lib/openai/models/responses/response_includable.rb +2 -0
  55. data/lib/openai/models/responses/response_text_delta_event.rb +2 -2
  56. data/lib/openai/models/responses/response_text_done_event.rb +2 -2
  57. data/lib/openai/models/responses/responses_client_event.rb +4 -3
  58. data/lib/openai/models/responses/tool.rb +81 -16
  59. data/lib/openai/resources/chat/completions.rb +2 -2
  60. data/lib/openai/resources/images.rb +6 -6
  61. data/lib/openai/resources/realtime/calls.rb +5 -1
  62. data/lib/openai/resources/responses.rb +5 -3
  63. data/lib/openai/version.rb +1 -1
  64. data/lib/openai.rb +18 -1
  65. data/rbi/openai/auth.rbi +3 -3
  66. data/rbi/openai/models/admin/organization/usage_audio_speeches_response.rbi +11 -1
  67. data/rbi/openai/models/admin/organization/usage_audio_transcriptions_response.rbi +11 -1
  68. data/rbi/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbi +11 -1
  69. data/rbi/openai/models/admin/organization/usage_completions_response.rbi +11 -1
  70. data/rbi/openai/models/admin/organization/usage_costs_response.rbi +11 -1
  71. data/rbi/openai/models/admin/organization/usage_embeddings_response.rbi +11 -1
  72. data/rbi/openai/models/admin/organization/usage_images_response.rbi +11 -1
  73. data/rbi/openai/models/admin/organization/usage_moderations_response.rbi +11 -1
  74. data/rbi/openai/models/admin/organization/usage_vector_stores_response.rbi +11 -1
  75. data/rbi/openai/models/chat/chat_completion_token_logprob.rbi +2 -4
  76. data/rbi/openai/models/chat/completion_create_params.rbi +6 -4
  77. data/rbi/openai/models/image_edit_params.rbi +102 -45
  78. data/rbi/openai/models/image_generate_params.rbi +93 -39
  79. data/rbi/openai/models/image_model.rbi +8 -3
  80. data/rbi/openai/models/realtime/audio_transcription.rbi +85 -6
  81. data/rbi/openai/models/realtime/realtime_audio_config_input.rbi +6 -0
  82. data/rbi/openai/models/realtime/realtime_audio_input_turn_detection.rbi +3 -0
  83. data/rbi/openai/models/realtime/realtime_reasoning.rbi +54 -0
  84. data/rbi/openai/models/realtime/realtime_reasoning_effort.rbi +44 -0
  85. data/rbi/openai/models/realtime/realtime_response_create_params.rbi +26 -0
  86. data/rbi/openai/models/realtime/realtime_session.rbi +9 -0
  87. data/rbi/openai/models/realtime/realtime_session_create_request.rbi +31 -0
  88. data/rbi/openai/models/realtime/realtime_session_create_response.rbi +53 -32
  89. data/rbi/openai/models/realtime/realtime_transcription_session_audio_input.rbi +6 -0
  90. data/rbi/openai/models/realtime/realtime_transcription_session_audio_input_turn_detection.rbi +3 -0
  91. data/rbi/openai/models/realtime/realtime_transcription_session_create_response.rbi +13 -7
  92. data/rbi/openai/models/realtime/realtime_transcription_session_turn_detection.rbi +2 -1
  93. data/rbi/openai/models/realtime/realtime_translation_client_event.rbi +29 -0
  94. data/rbi/openai/models/realtime/realtime_translation_client_secret_create_request.rbi +193 -0
  95. data/rbi/openai/models/realtime/realtime_translation_client_secret_create_response.rbi +69 -0
  96. data/rbi/openai/models/realtime/realtime_translation_input_audio_buffer_append_event.rbi +69 -0
  97. data/rbi/openai/models/realtime/realtime_translation_input_transcript_delta_event.rbi +77 -0
  98. data/rbi/openai/models/realtime/realtime_translation_output_audio_delta_event.rbi +148 -0
  99. data/rbi/openai/models/realtime/realtime_translation_output_transcript_delta_event.rbi +76 -0
  100. data/rbi/openai/models/realtime/realtime_translation_server_event.rbi +33 -0
  101. data/rbi/openai/models/realtime/realtime_translation_session.rbi +339 -0
  102. data/rbi/openai/models/realtime/realtime_translation_session_close_event.rbi +44 -0
  103. data/rbi/openai/models/realtime/realtime_translation_session_closed_event.rbi +39 -0
  104. data/rbi/openai/models/realtime/realtime_translation_session_create_request.rbi +322 -0
  105. data/rbi/openai/models/realtime/realtime_translation_session_created_event.rbi +68 -0
  106. data/rbi/openai/models/realtime/realtime_translation_session_update_event.rbi +78 -0
  107. data/rbi/openai/models/realtime/realtime_translation_session_update_request.rbi +313 -0
  108. data/rbi/openai/models/realtime/realtime_translation_session_updated_event.rbi +67 -0
  109. data/rbi/openai/models/realtime/transcription_session_updated_event.rbi +0 -2
  110. data/rbi/openai/models/responses/response.rbi +6 -4
  111. data/rbi/openai/models/responses/response_compact_params.rbi +65 -0
  112. data/rbi/openai/models/responses/response_create_params.rbi +6 -4
  113. data/rbi/openai/models/responses/response_includable.rbi +2 -0
  114. data/rbi/openai/models/responses/response_text_delta_event.rbi +2 -2
  115. data/rbi/openai/models/responses/response_text_done_event.rbi +2 -2
  116. data/rbi/openai/models/responses/responses_client_event.rbi +6 -4
  117. data/rbi/openai/models/responses/tool.rbi +122 -27
  118. data/rbi/openai/resources/chat/completions.rbi +6 -4
  119. data/rbi/openai/resources/images.rbi +110 -44
  120. data/rbi/openai/resources/realtime/calls.rbi +7 -0
  121. data/rbi/openai/resources/responses.rbi +12 -4
  122. data/sig/openai/models/admin/organization/usage_audio_speeches_response.rbs +7 -2
  123. data/sig/openai/models/admin/organization/usage_audio_transcriptions_response.rbs +7 -2
  124. data/sig/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbs +7 -2
  125. data/sig/openai/models/admin/organization/usage_completions_response.rbs +7 -2
  126. data/sig/openai/models/admin/organization/usage_costs_response.rbs +7 -2
  127. data/sig/openai/models/admin/organization/usage_embeddings_response.rbs +7 -2
  128. data/sig/openai/models/admin/organization/usage_images_response.rbs +7 -2
  129. data/sig/openai/models/admin/organization/usage_moderations_response.rbs +7 -2
  130. data/sig/openai/models/admin/organization/usage_vector_stores_response.rbs +7 -2
  131. data/sig/openai/models/image_edit_params.rbs +5 -4
  132. data/sig/openai/models/image_generate_params.rbs +5 -4
  133. data/sig/openai/models/image_model.rbs +11 -5
  134. data/sig/openai/models/realtime/audio_transcription.rbs +25 -0
  135. data/sig/openai/models/realtime/realtime_reasoning.rbs +24 -0
  136. data/sig/openai/models/realtime/realtime_reasoning_effort.rbs +20 -0
  137. data/sig/openai/models/realtime/realtime_response_create_params.rbs +16 -0
  138. data/sig/openai/models/realtime/realtime_session_create_request.rbs +18 -0
  139. data/sig/openai/models/realtime/realtime_session_create_response.rbs +27 -4
  140. data/sig/openai/models/realtime/realtime_transcription_session_create_response.rbs +4 -8
  141. data/sig/openai/models/realtime/realtime_translation_client_event.rbs +16 -0
  142. data/sig/openai/models/realtime/realtime_translation_client_secret_create_request.rbs +69 -0
  143. data/sig/openai/models/realtime/realtime_translation_client_secret_create_response.rbs +32 -0
  144. data/sig/openai/models/realtime/realtime_translation_input_audio_buffer_append_event.rbs +34 -0
  145. data/sig/openai/models/realtime/realtime_translation_input_transcript_delta_event.rbs +37 -0
  146. data/sig/openai/models/realtime/realtime_translation_output_audio_delta_event.rbs +70 -0
  147. data/sig/openai/models/realtime/realtime_translation_output_transcript_delta_event.rbs +37 -0
  148. data/sig/openai/models/realtime/realtime_translation_server_event.rbs +20 -0
  149. data/sig/openai/models/realtime/realtime_translation_session.rbs +131 -0
  150. data/sig/openai/models/realtime/realtime_translation_session_close_event.rbs +20 -0
  151. data/sig/openai/models/realtime/realtime_translation_session_closed_event.rbs +18 -0
  152. data/sig/openai/models/realtime/realtime_translation_session_create_request.rbs +120 -0
  153. data/sig/openai/models/realtime/realtime_translation_session_created_event.rbs +32 -0
  154. data/sig/openai/models/realtime/realtime_translation_session_update_event.rbs +34 -0
  155. data/sig/openai/models/realtime/realtime_translation_session_update_request.rbs +115 -0
  156. data/sig/openai/models/realtime/realtime_translation_session_updated_event.rbs +32 -0
  157. data/sig/openai/models/responses/response_compact_params.rbs +19 -1
  158. data/sig/openai/models/responses/tool.rbs +15 -5
  159. data/sig/openai/resources/realtime/calls.rbs +2 -0
  160. data/sig/openai/resources/responses.rbs +1 -0
  161. metadata +56 -5
  162. data/lib/openai/models/realtime/realtime_session_client_secret.rb +0 -36
  163. data/rbi/openai/models/realtime/realtime_session_client_secret.rbi +0 -49
  164. data/sig/openai/models/realtime/realtime_session_client_secret.rbs +0 -20
@@ -5,15 +5,18 @@ module OpenAI
5
5
  module Realtime
6
6
  type realtime_session_create_response =
7
7
  {
8
- client_secret: OpenAI::Realtime::RealtimeSessionClientSecret,
8
+ id: String,
9
+ object: :"realtime.session",
9
10
  type: :realtime,
10
11
  audio: OpenAI::Realtime::RealtimeSessionCreateResponse::Audio,
12
+ expires_at: Integer,
11
13
  include: ::Array[OpenAI::Models::Realtime::RealtimeSessionCreateResponse::include_],
12
14
  instructions: String,
13
15
  max_output_tokens: OpenAI::Models::Realtime::RealtimeSessionCreateResponse::max_output_tokens,
14
16
  model: OpenAI::Models::Realtime::RealtimeSessionCreateResponse::model,
15
17
  output_modalities: ::Array[OpenAI::Models::Realtime::RealtimeSessionCreateResponse::output_modality],
16
18
  prompt: OpenAI::Responses::ResponsePrompt?,
19
+ reasoning: OpenAI::Realtime::RealtimeReasoning,
17
20
  tool_choice: OpenAI::Models::Realtime::RealtimeSessionCreateResponse::tool_choice,
18
21
  tools: ::Array[OpenAI::Models::Realtime::RealtimeSessionCreateResponse::tool],
19
22
  tracing: OpenAI::Models::Realtime::RealtimeSessionCreateResponse::tracing?,
@@ -21,7 +24,9 @@ module OpenAI
21
24
  }
22
25
 
23
26
  class RealtimeSessionCreateResponse < OpenAI::Internal::Type::BaseModel
24
- attr_accessor client_secret: OpenAI::Realtime::RealtimeSessionClientSecret
27
+ attr_accessor id: String
28
+
29
+ attr_accessor object: :"realtime.session"
25
30
 
26
31
  attr_accessor type: :realtime
27
32
 
@@ -31,6 +36,10 @@ module OpenAI
31
36
  OpenAI::Realtime::RealtimeSessionCreateResponse::Audio
32
37
  ) -> OpenAI::Realtime::RealtimeSessionCreateResponse::Audio
33
38
 
39
+ attr_reader expires_at: Integer?
40
+
41
+ def expires_at=: (Integer) -> Integer
42
+
34
43
  attr_reader include: ::Array[OpenAI::Models::Realtime::RealtimeSessionCreateResponse::include_]?
35
44
 
36
45
  def include=: (
@@ -61,6 +70,12 @@ module OpenAI
61
70
 
62
71
  attr_accessor prompt: OpenAI::Responses::ResponsePrompt?
63
72
 
73
+ attr_reader reasoning: OpenAI::Realtime::RealtimeReasoning?
74
+
75
+ def reasoning=: (
76
+ OpenAI::Realtime::RealtimeReasoning
77
+ ) -> OpenAI::Realtime::RealtimeReasoning
78
+
64
79
  attr_reader tool_choice: OpenAI::Models::Realtime::RealtimeSessionCreateResponse::tool_choice?
65
80
 
66
81
  def tool_choice=: (
@@ -82,31 +97,37 @@ module OpenAI
82
97
  ) -> OpenAI::Models::Realtime::realtime_truncation
83
98
 
84
99
  def initialize: (
85
- client_secret: OpenAI::Realtime::RealtimeSessionClientSecret,
100
+ id: String,
86
101
  ?audio: OpenAI::Realtime::RealtimeSessionCreateResponse::Audio,
102
+ ?expires_at: Integer,
87
103
  ?include: ::Array[OpenAI::Models::Realtime::RealtimeSessionCreateResponse::include_],
88
104
  ?instructions: String,
89
105
  ?max_output_tokens: OpenAI::Models::Realtime::RealtimeSessionCreateResponse::max_output_tokens,
90
106
  ?model: OpenAI::Models::Realtime::RealtimeSessionCreateResponse::model,
91
107
  ?output_modalities: ::Array[OpenAI::Models::Realtime::RealtimeSessionCreateResponse::output_modality],
92
108
  ?prompt: OpenAI::Responses::ResponsePrompt?,
109
+ ?reasoning: OpenAI::Realtime::RealtimeReasoning,
93
110
  ?tool_choice: OpenAI::Models::Realtime::RealtimeSessionCreateResponse::tool_choice,
94
111
  ?tools: ::Array[OpenAI::Models::Realtime::RealtimeSessionCreateResponse::tool],
95
112
  ?tracing: OpenAI::Models::Realtime::RealtimeSessionCreateResponse::tracing?,
96
113
  ?truncation: OpenAI::Models::Realtime::realtime_truncation,
114
+ ?object: :"realtime.session",
97
115
  ?type: :realtime
98
116
  ) -> void
99
117
 
100
118
  def to_hash: -> {
101
- client_secret: OpenAI::Realtime::RealtimeSessionClientSecret,
119
+ id: String,
120
+ object: :"realtime.session",
102
121
  type: :realtime,
103
122
  audio: OpenAI::Realtime::RealtimeSessionCreateResponse::Audio,
123
+ expires_at: Integer,
104
124
  include: ::Array[OpenAI::Models::Realtime::RealtimeSessionCreateResponse::include_],
105
125
  instructions: String,
106
126
  max_output_tokens: OpenAI::Models::Realtime::RealtimeSessionCreateResponse::max_output_tokens,
107
127
  model: OpenAI::Models::Realtime::RealtimeSessionCreateResponse::model,
108
128
  output_modalities: ::Array[OpenAI::Models::Realtime::RealtimeSessionCreateResponse::output_modality],
109
129
  prompt: OpenAI::Responses::ResponsePrompt?,
130
+ reasoning: OpenAI::Realtime::RealtimeReasoning,
110
131
  tool_choice: OpenAI::Models::Realtime::RealtimeSessionCreateResponse::tool_choice,
111
132
  tools: ::Array[OpenAI::Models::Realtime::RealtimeSessionCreateResponse::tool],
112
133
  tracing: OpenAI::Models::Realtime::RealtimeSessionCreateResponse::tracing?,
@@ -415,6 +436,7 @@ module OpenAI
415
436
  String
416
437
  | :"gpt-realtime"
417
438
  | :"gpt-realtime-1.5"
439
+ | :"gpt-realtime-2"
418
440
  | :"gpt-realtime-2025-08-28"
419
441
  | :"gpt-4o-realtime-preview"
420
442
  | :"gpt-4o-realtime-preview-2024-10-01"
@@ -437,6 +459,7 @@ module OpenAI
437
459
 
438
460
  GPT_REALTIME: :"gpt-realtime"
439
461
  GPT_REALTIME_1_5: :"gpt-realtime-1.5"
462
+ GPT_REALTIME_2: :"gpt-realtime-2"
440
463
  GPT_REALTIME_2025_08_28: :"gpt-realtime-2025-08-28"
441
464
  GPT_4O_REALTIME_PREVIEW: :"gpt-4o-realtime-preview"
442
465
  GPT_4O_REALTIME_PREVIEW_2024_10_01: :"gpt-4o-realtime-preview-2024-10-01"
@@ -79,7 +79,7 @@ module OpenAI
79
79
  format_: OpenAI::Models::Realtime::realtime_audio_formats,
80
80
  noise_reduction: OpenAI::Realtime::RealtimeTranscriptionSessionCreateResponse::Audio::Input::NoiseReduction,
81
81
  transcription: OpenAI::Realtime::AudioTranscription,
82
- turn_detection: OpenAI::Realtime::RealtimeTranscriptionSessionTurnDetection
82
+ turn_detection: OpenAI::Realtime::RealtimeTranscriptionSessionTurnDetection?
83
83
  }
84
84
 
85
85
  class Input < OpenAI::Internal::Type::BaseModel
@@ -101,24 +101,20 @@ module OpenAI
101
101
  OpenAI::Realtime::AudioTranscription
102
102
  ) -> OpenAI::Realtime::AudioTranscription
103
103
 
104
- attr_reader turn_detection: OpenAI::Realtime::RealtimeTranscriptionSessionTurnDetection?
105
-
106
- def turn_detection=: (
107
- OpenAI::Realtime::RealtimeTranscriptionSessionTurnDetection
108
- ) -> OpenAI::Realtime::RealtimeTranscriptionSessionTurnDetection
104
+ attr_accessor turn_detection: OpenAI::Realtime::RealtimeTranscriptionSessionTurnDetection?
109
105
 
110
106
  def initialize: (
111
107
  ?format_: OpenAI::Models::Realtime::realtime_audio_formats,
112
108
  ?noise_reduction: OpenAI::Realtime::RealtimeTranscriptionSessionCreateResponse::Audio::Input::NoiseReduction,
113
109
  ?transcription: OpenAI::Realtime::AudioTranscription,
114
- ?turn_detection: OpenAI::Realtime::RealtimeTranscriptionSessionTurnDetection
110
+ ?turn_detection: OpenAI::Realtime::RealtimeTranscriptionSessionTurnDetection?
115
111
  ) -> void
116
112
 
117
113
  def to_hash: -> {
118
114
  format_: OpenAI::Models::Realtime::realtime_audio_formats,
119
115
  noise_reduction: OpenAI::Realtime::RealtimeTranscriptionSessionCreateResponse::Audio::Input::NoiseReduction,
120
116
  transcription: OpenAI::Realtime::AudioTranscription,
121
- turn_detection: OpenAI::Realtime::RealtimeTranscriptionSessionTurnDetection
117
+ turn_detection: OpenAI::Realtime::RealtimeTranscriptionSessionTurnDetection?
122
118
  }
123
119
 
124
120
  type noise_reduction =
@@ -0,0 +1,16 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type realtime_translation_client_event =
5
+ OpenAI::Realtime::RealtimeTranslationSessionUpdateEvent
6
+ | OpenAI::Realtime::RealtimeTranslationInputAudioBufferAppendEvent
7
+ | OpenAI::Realtime::RealtimeTranslationSessionCloseEvent
8
+
9
+ module RealtimeTranslationClientEvent
10
+ extend OpenAI::Internal::Type::Union
11
+
12
+ def self?.variants: -> ::Array[OpenAI::Models::Realtime::realtime_translation_client_event]
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,69 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type realtime_translation_client_secret_create_request =
5
+ {
6
+ session: OpenAI::Realtime::RealtimeTranslationSessionCreateRequest,
7
+ expires_after: OpenAI::Realtime::RealtimeTranslationClientSecretCreateRequest::ExpiresAfter
8
+ }
9
+
10
+ class RealtimeTranslationClientSecretCreateRequest < OpenAI::Internal::Type::BaseModel
11
+ attr_accessor session: OpenAI::Realtime::RealtimeTranslationSessionCreateRequest
12
+
13
+ attr_reader expires_after: OpenAI::Realtime::RealtimeTranslationClientSecretCreateRequest::ExpiresAfter?
14
+
15
+ def expires_after=: (
16
+ OpenAI::Realtime::RealtimeTranslationClientSecretCreateRequest::ExpiresAfter
17
+ ) -> OpenAI::Realtime::RealtimeTranslationClientSecretCreateRequest::ExpiresAfter
18
+
19
+ def initialize: (
20
+ session: OpenAI::Realtime::RealtimeTranslationSessionCreateRequest,
21
+ ?expires_after: OpenAI::Realtime::RealtimeTranslationClientSecretCreateRequest::ExpiresAfter
22
+ ) -> void
23
+
24
+ def to_hash: -> {
25
+ session: OpenAI::Realtime::RealtimeTranslationSessionCreateRequest,
26
+ expires_after: OpenAI::Realtime::RealtimeTranslationClientSecretCreateRequest::ExpiresAfter
27
+ }
28
+
29
+ type expires_after =
30
+ {
31
+ anchor: OpenAI::Models::Realtime::RealtimeTranslationClientSecretCreateRequest::ExpiresAfter::anchor,
32
+ seconds: Integer
33
+ }
34
+
35
+ class ExpiresAfter < OpenAI::Internal::Type::BaseModel
36
+ attr_reader anchor: OpenAI::Models::Realtime::RealtimeTranslationClientSecretCreateRequest::ExpiresAfter::anchor?
37
+
38
+ def anchor=: (
39
+ OpenAI::Models::Realtime::RealtimeTranslationClientSecretCreateRequest::ExpiresAfter::anchor
40
+ ) -> OpenAI::Models::Realtime::RealtimeTranslationClientSecretCreateRequest::ExpiresAfter::anchor
41
+
42
+ attr_reader seconds: Integer?
43
+
44
+ def seconds=: (Integer) -> Integer
45
+
46
+ def initialize: (
47
+ ?anchor: OpenAI::Models::Realtime::RealtimeTranslationClientSecretCreateRequest::ExpiresAfter::anchor,
48
+ ?seconds: Integer
49
+ ) -> void
50
+
51
+ def to_hash: -> {
52
+ anchor: OpenAI::Models::Realtime::RealtimeTranslationClientSecretCreateRequest::ExpiresAfter::anchor,
53
+ seconds: Integer
54
+ }
55
+
56
+ type anchor = :created_at
57
+
58
+ module Anchor
59
+ extend OpenAI::Internal::Type::Enum
60
+
61
+ CREATED_AT: :created_at
62
+
63
+ def self?.values: -> ::Array[OpenAI::Models::Realtime::RealtimeTranslationClientSecretCreateRequest::ExpiresAfter::anchor]
64
+ end
65
+ end
66
+ end
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,32 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type realtime_translation_client_secret_create_response =
5
+ {
6
+ expires_at: Integer,
7
+ session: OpenAI::Realtime::RealtimeTranslationSession,
8
+ value: String
9
+ }
10
+
11
+ class RealtimeTranslationClientSecretCreateResponse < OpenAI::Internal::Type::BaseModel
12
+ attr_accessor expires_at: Integer
13
+
14
+ attr_accessor session: OpenAI::Realtime::RealtimeTranslationSession
15
+
16
+ attr_accessor value: String
17
+
18
+ def initialize: (
19
+ expires_at: Integer,
20
+ session: OpenAI::Realtime::RealtimeTranslationSession,
21
+ value: String
22
+ ) -> void
23
+
24
+ def to_hash: -> {
25
+ expires_at: Integer,
26
+ session: OpenAI::Realtime::RealtimeTranslationSession,
27
+ value: String
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,34 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type realtime_translation_input_audio_buffer_append_event =
5
+ {
6
+ audio: String,
7
+ type: :"session.input_audio_buffer.append",
8
+ event_id: String
9
+ }
10
+
11
+ class RealtimeTranslationInputAudioBufferAppendEvent < OpenAI::Internal::Type::BaseModel
12
+ attr_accessor audio: String
13
+
14
+ attr_accessor type: :"session.input_audio_buffer.append"
15
+
16
+ attr_reader event_id: String?
17
+
18
+ def event_id=: (String) -> String
19
+
20
+ def initialize: (
21
+ audio: String,
22
+ ?event_id: String,
23
+ ?type: :"session.input_audio_buffer.append"
24
+ ) -> void
25
+
26
+ def to_hash: -> {
27
+ audio: String,
28
+ type: :"session.input_audio_buffer.append",
29
+ event_id: String
30
+ }
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,37 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type realtime_translation_input_transcript_delta_event =
5
+ {
6
+ delta: String,
7
+ event_id: String,
8
+ type: :"session.input_transcript.delta",
9
+ elapsed_ms: Integer?
10
+ }
11
+
12
+ class RealtimeTranslationInputTranscriptDeltaEvent < OpenAI::Internal::Type::BaseModel
13
+ attr_accessor delta: String
14
+
15
+ attr_accessor event_id: String
16
+
17
+ attr_accessor type: :"session.input_transcript.delta"
18
+
19
+ attr_accessor elapsed_ms: Integer?
20
+
21
+ def initialize: (
22
+ delta: String,
23
+ event_id: String,
24
+ ?elapsed_ms: Integer?,
25
+ ?type: :"session.input_transcript.delta"
26
+ ) -> void
27
+
28
+ def to_hash: -> {
29
+ delta: String,
30
+ event_id: String,
31
+ type: :"session.input_transcript.delta",
32
+ elapsed_ms: Integer?
33
+ }
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,70 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type realtime_translation_output_audio_delta_event =
5
+ {
6
+ delta: String,
7
+ event_id: String,
8
+ type: :"session.output_audio.delta",
9
+ channels: Integer,
10
+ elapsed_ms: Integer?,
11
+ format_: OpenAI::Models::Realtime::RealtimeTranslationOutputAudioDeltaEvent::format_,
12
+ sample_rate: Integer
13
+ }
14
+
15
+ class RealtimeTranslationOutputAudioDeltaEvent < OpenAI::Internal::Type::BaseModel
16
+ attr_accessor delta: String
17
+
18
+ attr_accessor event_id: String
19
+
20
+ attr_accessor type: :"session.output_audio.delta"
21
+
22
+ attr_reader channels: Integer?
23
+
24
+ def channels=: (Integer) -> Integer
25
+
26
+ attr_accessor elapsed_ms: Integer?
27
+
28
+ attr_reader format_: OpenAI::Models::Realtime::RealtimeTranslationOutputAudioDeltaEvent::format_?
29
+
30
+ def format_=: (
31
+ OpenAI::Models::Realtime::RealtimeTranslationOutputAudioDeltaEvent::format_
32
+ ) -> OpenAI::Models::Realtime::RealtimeTranslationOutputAudioDeltaEvent::format_
33
+
34
+ attr_reader sample_rate: Integer?
35
+
36
+ def sample_rate=: (Integer) -> Integer
37
+
38
+ def initialize: (
39
+ delta: String,
40
+ event_id: String,
41
+ ?channels: Integer,
42
+ ?elapsed_ms: Integer?,
43
+ ?format_: OpenAI::Models::Realtime::RealtimeTranslationOutputAudioDeltaEvent::format_,
44
+ ?sample_rate: Integer,
45
+ ?type: :"session.output_audio.delta"
46
+ ) -> void
47
+
48
+ def to_hash: -> {
49
+ delta: String,
50
+ event_id: String,
51
+ type: :"session.output_audio.delta",
52
+ channels: Integer,
53
+ elapsed_ms: Integer?,
54
+ format_: OpenAI::Models::Realtime::RealtimeTranslationOutputAudioDeltaEvent::format_,
55
+ sample_rate: Integer
56
+ }
57
+
58
+ type format_ = :pcm16
59
+
60
+ module Format
61
+ extend OpenAI::Internal::Type::Enum
62
+
63
+ PCM16: :pcm16
64
+
65
+ def self?.values: -> ::Array[OpenAI::Models::Realtime::RealtimeTranslationOutputAudioDeltaEvent::format_]
66
+ end
67
+ end
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,37 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type realtime_translation_output_transcript_delta_event =
5
+ {
6
+ delta: String,
7
+ event_id: String,
8
+ type: :"session.output_transcript.delta",
9
+ elapsed_ms: Integer?
10
+ }
11
+
12
+ class RealtimeTranslationOutputTranscriptDeltaEvent < OpenAI::Internal::Type::BaseModel
13
+ attr_accessor delta: String
14
+
15
+ attr_accessor event_id: String
16
+
17
+ attr_accessor type: :"session.output_transcript.delta"
18
+
19
+ attr_accessor elapsed_ms: Integer?
20
+
21
+ def initialize: (
22
+ delta: String,
23
+ event_id: String,
24
+ ?elapsed_ms: Integer?,
25
+ ?type: :"session.output_transcript.delta"
26
+ ) -> void
27
+
28
+ def to_hash: -> {
29
+ delta: String,
30
+ event_id: String,
31
+ type: :"session.output_transcript.delta",
32
+ elapsed_ms: Integer?
33
+ }
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,20 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type realtime_translation_server_event =
5
+ OpenAI::Realtime::RealtimeErrorEvent
6
+ | OpenAI::Realtime::RealtimeTranslationSessionCreatedEvent
7
+ | OpenAI::Realtime::RealtimeTranslationSessionUpdatedEvent
8
+ | OpenAI::Realtime::RealtimeTranslationSessionClosedEvent
9
+ | OpenAI::Realtime::RealtimeTranslationInputTranscriptDeltaEvent
10
+ | OpenAI::Realtime::RealtimeTranslationOutputTranscriptDeltaEvent
11
+ | OpenAI::Realtime::RealtimeTranslationOutputAudioDeltaEvent
12
+
13
+ module RealtimeTranslationServerEvent
14
+ extend OpenAI::Internal::Type::Union
15
+
16
+ def self?.variants: -> ::Array[OpenAI::Models::Realtime::realtime_translation_server_event]
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,131 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type realtime_translation_session =
5
+ {
6
+ id: String,
7
+ audio: OpenAI::Realtime::RealtimeTranslationSession::Audio,
8
+ expires_at: Integer,
9
+ model: String,
10
+ type: :translation
11
+ }
12
+
13
+ class RealtimeTranslationSession < OpenAI::Internal::Type::BaseModel
14
+ attr_accessor id: String
15
+
16
+ attr_accessor audio: OpenAI::Realtime::RealtimeTranslationSession::Audio
17
+
18
+ attr_accessor expires_at: Integer
19
+
20
+ attr_accessor model: String
21
+
22
+ attr_accessor type: :translation
23
+
24
+ def initialize: (
25
+ id: String,
26
+ audio: OpenAI::Realtime::RealtimeTranslationSession::Audio,
27
+ expires_at: Integer,
28
+ model: String,
29
+ ?type: :translation
30
+ ) -> void
31
+
32
+ def to_hash: -> {
33
+ id: String,
34
+ audio: OpenAI::Realtime::RealtimeTranslationSession::Audio,
35
+ expires_at: Integer,
36
+ model: String,
37
+ type: :translation
38
+ }
39
+
40
+ type audio =
41
+ {
42
+ input: OpenAI::Realtime::RealtimeTranslationSession::Audio::Input,
43
+ output: OpenAI::Realtime::RealtimeTranslationSession::Audio::Output
44
+ }
45
+
46
+ class Audio < OpenAI::Internal::Type::BaseModel
47
+ attr_reader input: OpenAI::Realtime::RealtimeTranslationSession::Audio::Input?
48
+
49
+ def input=: (
50
+ OpenAI::Realtime::RealtimeTranslationSession::Audio::Input
51
+ ) -> OpenAI::Realtime::RealtimeTranslationSession::Audio::Input
52
+
53
+ attr_reader output: OpenAI::Realtime::RealtimeTranslationSession::Audio::Output?
54
+
55
+ def output=: (
56
+ OpenAI::Realtime::RealtimeTranslationSession::Audio::Output
57
+ ) -> OpenAI::Realtime::RealtimeTranslationSession::Audio::Output
58
+
59
+ def initialize: (
60
+ ?input: OpenAI::Realtime::RealtimeTranslationSession::Audio::Input,
61
+ ?output: OpenAI::Realtime::RealtimeTranslationSession::Audio::Output
62
+ ) -> void
63
+
64
+ def to_hash: -> {
65
+ input: OpenAI::Realtime::RealtimeTranslationSession::Audio::Input,
66
+ output: OpenAI::Realtime::RealtimeTranslationSession::Audio::Output
67
+ }
68
+
69
+ type input =
70
+ {
71
+ noise_reduction: OpenAI::Realtime::RealtimeTranslationSession::Audio::Input::NoiseReduction?,
72
+ transcription: OpenAI::Realtime::RealtimeTranslationSession::Audio::Input::Transcription?
73
+ }
74
+
75
+ class Input < OpenAI::Internal::Type::BaseModel
76
+ attr_accessor noise_reduction: OpenAI::Realtime::RealtimeTranslationSession::Audio::Input::NoiseReduction?
77
+
78
+ attr_accessor transcription: OpenAI::Realtime::RealtimeTranslationSession::Audio::Input::Transcription?
79
+
80
+ def initialize: (
81
+ ?noise_reduction: OpenAI::Realtime::RealtimeTranslationSession::Audio::Input::NoiseReduction?,
82
+ ?transcription: OpenAI::Realtime::RealtimeTranslationSession::Audio::Input::Transcription?
83
+ ) -> void
84
+
85
+ def to_hash: -> {
86
+ noise_reduction: OpenAI::Realtime::RealtimeTranslationSession::Audio::Input::NoiseReduction?,
87
+ transcription: OpenAI::Realtime::RealtimeTranslationSession::Audio::Input::Transcription?
88
+ }
89
+
90
+ type noise_reduction =
91
+ { type: OpenAI::Models::Realtime::noise_reduction_type }
92
+
93
+ class NoiseReduction < OpenAI::Internal::Type::BaseModel
94
+ attr_accessor type: OpenAI::Models::Realtime::noise_reduction_type
95
+
96
+ def initialize: (
97
+ type: OpenAI::Models::Realtime::noise_reduction_type
98
+ ) -> void
99
+
100
+ def to_hash: -> {
101
+ type: OpenAI::Models::Realtime::noise_reduction_type
102
+ }
103
+ end
104
+
105
+ type transcription = { model: String }
106
+
107
+ class Transcription < OpenAI::Internal::Type::BaseModel
108
+ attr_accessor model: String
109
+
110
+ def initialize: (model: String) -> void
111
+
112
+ def to_hash: -> { model: String }
113
+ end
114
+ end
115
+
116
+ type output = { language: String }
117
+
118
+ class Output < OpenAI::Internal::Type::BaseModel
119
+ attr_reader language: String?
120
+
121
+ def language=: (String) -> String
122
+
123
+ def initialize: (?language: String) -> void
124
+
125
+ def to_hash: -> { language: String }
126
+ end
127
+ end
128
+ end
129
+ end
130
+ end
131
+ end
@@ -0,0 +1,20 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type realtime_translation_session_close_event =
5
+ { type: :"session.close", event_id: String }
6
+
7
+ class RealtimeTranslationSessionCloseEvent < OpenAI::Internal::Type::BaseModel
8
+ attr_accessor type: :"session.close"
9
+
10
+ attr_reader event_id: String?
11
+
12
+ def event_id=: (String) -> String
13
+
14
+ def initialize: (?event_id: String, ?type: :"session.close") -> void
15
+
16
+ def to_hash: -> { type: :"session.close", event_id: String }
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,18 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type realtime_translation_session_closed_event =
5
+ { event_id: String, type: :"session.closed" }
6
+
7
+ class RealtimeTranslationSessionClosedEvent < OpenAI::Internal::Type::BaseModel
8
+ attr_accessor event_id: String
9
+
10
+ attr_accessor type: :"session.closed"
11
+
12
+ def initialize: (event_id: String, ?type: :"session.closed") -> void
13
+
14
+ def to_hash: -> { event_id: String, type: :"session.closed" }
15
+ end
16
+ end
17
+ end
18
+ end