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
@@ -0,0 +1,120 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type realtime_translation_session_create_request =
5
+ {
6
+ model: String,
7
+ audio: OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio
8
+ }
9
+
10
+ class RealtimeTranslationSessionCreateRequest < OpenAI::Internal::Type::BaseModel
11
+ attr_accessor model: String
12
+
13
+ attr_reader audio: OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio?
14
+
15
+ def audio=: (
16
+ OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio
17
+ ) -> OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio
18
+
19
+ def initialize: (
20
+ model: String,
21
+ ?audio: OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio
22
+ ) -> void
23
+
24
+ def to_hash: -> {
25
+ model: String,
26
+ audio: OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio
27
+ }
28
+
29
+ type audio =
30
+ {
31
+ input: OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Input,
32
+ output: OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Output
33
+ }
34
+
35
+ class Audio < OpenAI::Internal::Type::BaseModel
36
+ attr_reader input: OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Input?
37
+
38
+ def input=: (
39
+ OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Input
40
+ ) -> OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Input
41
+
42
+ attr_reader output: OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Output?
43
+
44
+ def output=: (
45
+ OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Output
46
+ ) -> OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Output
47
+
48
+ def initialize: (
49
+ ?input: OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Input,
50
+ ?output: OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Output
51
+ ) -> void
52
+
53
+ def to_hash: -> {
54
+ input: OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Input,
55
+ output: OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Output
56
+ }
57
+
58
+ type input =
59
+ {
60
+ noise_reduction: OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Input::NoiseReduction?,
61
+ transcription: OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Input::Transcription?
62
+ }
63
+
64
+ class Input < OpenAI::Internal::Type::BaseModel
65
+ attr_accessor noise_reduction: OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Input::NoiseReduction?
66
+
67
+ attr_accessor transcription: OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Input::Transcription?
68
+
69
+ def initialize: (
70
+ ?noise_reduction: OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Input::NoiseReduction?,
71
+ ?transcription: OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Input::Transcription?
72
+ ) -> void
73
+
74
+ def to_hash: -> {
75
+ noise_reduction: OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Input::NoiseReduction?,
76
+ transcription: OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Input::Transcription?
77
+ }
78
+
79
+ type noise_reduction =
80
+ { type: OpenAI::Models::Realtime::noise_reduction_type }
81
+
82
+ class NoiseReduction < OpenAI::Internal::Type::BaseModel
83
+ attr_accessor type: OpenAI::Models::Realtime::noise_reduction_type
84
+
85
+ def initialize: (
86
+ type: OpenAI::Models::Realtime::noise_reduction_type
87
+ ) -> void
88
+
89
+ def to_hash: -> {
90
+ type: OpenAI::Models::Realtime::noise_reduction_type
91
+ }
92
+ end
93
+
94
+ type transcription = { model: String }
95
+
96
+ class Transcription < OpenAI::Internal::Type::BaseModel
97
+ attr_accessor model: String
98
+
99
+ def initialize: (model: String) -> void
100
+
101
+ def to_hash: -> { model: String }
102
+ end
103
+ end
104
+
105
+ type output = { language: String }
106
+
107
+ class Output < OpenAI::Internal::Type::BaseModel
108
+ attr_reader language: String?
109
+
110
+ def language=: (String) -> String
111
+
112
+ def initialize: (?language: String) -> void
113
+
114
+ def to_hash: -> { language: String }
115
+ end
116
+ end
117
+ end
118
+ end
119
+ end
120
+ end
@@ -0,0 +1,32 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type realtime_translation_session_created_event =
5
+ {
6
+ event_id: String,
7
+ session: OpenAI::Realtime::RealtimeTranslationSession,
8
+ type: :"session.created"
9
+ }
10
+
11
+ class RealtimeTranslationSessionCreatedEvent < OpenAI::Internal::Type::BaseModel
12
+ attr_accessor event_id: String
13
+
14
+ attr_accessor session: OpenAI::Realtime::RealtimeTranslationSession
15
+
16
+ attr_accessor type: :"session.created"
17
+
18
+ def initialize: (
19
+ event_id: String,
20
+ session: OpenAI::Realtime::RealtimeTranslationSession,
21
+ ?type: :"session.created"
22
+ ) -> void
23
+
24
+ def to_hash: -> {
25
+ event_id: String,
26
+ session: OpenAI::Realtime::RealtimeTranslationSession,
27
+ type: :"session.created"
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_session_update_event =
5
+ {
6
+ session: OpenAI::Realtime::RealtimeTranslationSessionUpdateRequest,
7
+ type: :"session.update",
8
+ event_id: String
9
+ }
10
+
11
+ class RealtimeTranslationSessionUpdateEvent < OpenAI::Internal::Type::BaseModel
12
+ attr_accessor session: OpenAI::Realtime::RealtimeTranslationSessionUpdateRequest
13
+
14
+ attr_accessor type: :"session.update"
15
+
16
+ attr_reader event_id: String?
17
+
18
+ def event_id=: (String) -> String
19
+
20
+ def initialize: (
21
+ session: OpenAI::Realtime::RealtimeTranslationSessionUpdateRequest,
22
+ ?event_id: String,
23
+ ?type: :"session.update"
24
+ ) -> void
25
+
26
+ def to_hash: -> {
27
+ session: OpenAI::Realtime::RealtimeTranslationSessionUpdateRequest,
28
+ type: :"session.update",
29
+ event_id: String
30
+ }
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,115 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type realtime_translation_session_update_request =
5
+ {
6
+ audio: OpenAI::Realtime::RealtimeTranslationSessionUpdateRequest::Audio
7
+ }
8
+
9
+ class RealtimeTranslationSessionUpdateRequest < OpenAI::Internal::Type::BaseModel
10
+ attr_reader audio: OpenAI::Realtime::RealtimeTranslationSessionUpdateRequest::Audio?
11
+
12
+ def audio=: (
13
+ OpenAI::Realtime::RealtimeTranslationSessionUpdateRequest::Audio
14
+ ) -> OpenAI::Realtime::RealtimeTranslationSessionUpdateRequest::Audio
15
+
16
+ def initialize: (
17
+ ?audio: OpenAI::Realtime::RealtimeTranslationSessionUpdateRequest::Audio
18
+ ) -> void
19
+
20
+ def to_hash: -> {
21
+ audio: OpenAI::Realtime::RealtimeTranslationSessionUpdateRequest::Audio
22
+ }
23
+
24
+ type audio =
25
+ {
26
+ input: OpenAI::Realtime::RealtimeTranslationSessionUpdateRequest::Audio::Input,
27
+ output: OpenAI::Realtime::RealtimeTranslationSessionUpdateRequest::Audio::Output
28
+ }
29
+
30
+ class Audio < OpenAI::Internal::Type::BaseModel
31
+ attr_reader input: OpenAI::Realtime::RealtimeTranslationSessionUpdateRequest::Audio::Input?
32
+
33
+ def input=: (
34
+ OpenAI::Realtime::RealtimeTranslationSessionUpdateRequest::Audio::Input
35
+ ) -> OpenAI::Realtime::RealtimeTranslationSessionUpdateRequest::Audio::Input
36
+
37
+ attr_reader output: OpenAI::Realtime::RealtimeTranslationSessionUpdateRequest::Audio::Output?
38
+
39
+ def output=: (
40
+ OpenAI::Realtime::RealtimeTranslationSessionUpdateRequest::Audio::Output
41
+ ) -> OpenAI::Realtime::RealtimeTranslationSessionUpdateRequest::Audio::Output
42
+
43
+ def initialize: (
44
+ ?input: OpenAI::Realtime::RealtimeTranslationSessionUpdateRequest::Audio::Input,
45
+ ?output: OpenAI::Realtime::RealtimeTranslationSessionUpdateRequest::Audio::Output
46
+ ) -> void
47
+
48
+ def to_hash: -> {
49
+ input: OpenAI::Realtime::RealtimeTranslationSessionUpdateRequest::Audio::Input,
50
+ output: OpenAI::Realtime::RealtimeTranslationSessionUpdateRequest::Audio::Output
51
+ }
52
+
53
+ type input =
54
+ {
55
+ noise_reduction: OpenAI::Realtime::RealtimeTranslationSessionUpdateRequest::Audio::Input::NoiseReduction?,
56
+ transcription: OpenAI::Realtime::RealtimeTranslationSessionUpdateRequest::Audio::Input::Transcription?
57
+ }
58
+
59
+ class Input < OpenAI::Internal::Type::BaseModel
60
+ attr_accessor noise_reduction: OpenAI::Realtime::RealtimeTranslationSessionUpdateRequest::Audio::Input::NoiseReduction?
61
+
62
+ attr_accessor transcription: OpenAI::Realtime::RealtimeTranslationSessionUpdateRequest::Audio::Input::Transcription?
63
+
64
+ def initialize: (
65
+ ?noise_reduction: OpenAI::Realtime::RealtimeTranslationSessionUpdateRequest::Audio::Input::NoiseReduction?,
66
+ ?transcription: OpenAI::Realtime::RealtimeTranslationSessionUpdateRequest::Audio::Input::Transcription?
67
+ ) -> void
68
+
69
+ def to_hash: -> {
70
+ noise_reduction: OpenAI::Realtime::RealtimeTranslationSessionUpdateRequest::Audio::Input::NoiseReduction?,
71
+ transcription: OpenAI::Realtime::RealtimeTranslationSessionUpdateRequest::Audio::Input::Transcription?
72
+ }
73
+
74
+ type noise_reduction =
75
+ { type: OpenAI::Models::Realtime::noise_reduction_type }
76
+
77
+ class NoiseReduction < OpenAI::Internal::Type::BaseModel
78
+ attr_accessor type: OpenAI::Models::Realtime::noise_reduction_type
79
+
80
+ def initialize: (
81
+ type: OpenAI::Models::Realtime::noise_reduction_type
82
+ ) -> void
83
+
84
+ def to_hash: -> {
85
+ type: OpenAI::Models::Realtime::noise_reduction_type
86
+ }
87
+ end
88
+
89
+ type transcription = { model: String }
90
+
91
+ class Transcription < OpenAI::Internal::Type::BaseModel
92
+ attr_accessor model: String
93
+
94
+ def initialize: (model: String) -> void
95
+
96
+ def to_hash: -> { model: String }
97
+ end
98
+ end
99
+
100
+ type output = { language: String }
101
+
102
+ class Output < OpenAI::Internal::Type::BaseModel
103
+ attr_reader language: String?
104
+
105
+ def language=: (String) -> String
106
+
107
+ def initialize: (?language: String) -> void
108
+
109
+ def to_hash: -> { language: String }
110
+ end
111
+ end
112
+ end
113
+ end
114
+ end
115
+ end
@@ -0,0 +1,32 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type realtime_translation_session_updated_event =
5
+ {
6
+ event_id: String,
7
+ session: OpenAI::Realtime::RealtimeTranslationSession,
8
+ type: :"session.updated"
9
+ }
10
+
11
+ class RealtimeTranslationSessionUpdatedEvent < OpenAI::Internal::Type::BaseModel
12
+ attr_accessor event_id: String
13
+
14
+ attr_accessor session: OpenAI::Realtime::RealtimeTranslationSession
15
+
16
+ attr_accessor type: :"session.updated"
17
+
18
+ def initialize: (
19
+ event_id: String,
20
+ session: OpenAI::Realtime::RealtimeTranslationSession,
21
+ ?type: :"session.updated"
22
+ ) -> void
23
+
24
+ def to_hash: -> {
25
+ event_id: String,
26
+ session: OpenAI::Realtime::RealtimeTranslationSession,
27
+ type: :"session.updated"
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
@@ -8,7 +8,8 @@ module OpenAI
8
8
  instructions: String?,
9
9
  previous_response_id: String?,
10
10
  prompt_cache_key: String?,
11
- prompt_cache_retention: OpenAI::Models::Responses::ResponseCompactParams::prompt_cache_retention?
11
+ prompt_cache_retention: OpenAI::Models::Responses::ResponseCompactParams::prompt_cache_retention?,
12
+ service_tier: OpenAI::Models::Responses::ResponseCompactParams::service_tier?
12
13
  }
13
14
  & OpenAI::Internal::Type::request_parameters
14
15
 
@@ -28,6 +29,8 @@ module OpenAI
28
29
 
29
30
  attr_accessor prompt_cache_retention: OpenAI::Models::Responses::ResponseCompactParams::prompt_cache_retention?
30
31
 
32
+ attr_accessor service_tier: OpenAI::Models::Responses::ResponseCompactParams::service_tier?
33
+
31
34
  def initialize: (
32
35
  model: OpenAI::Models::Responses::ResponseCompactParams::model?,
33
36
  ?input: OpenAI::Models::Responses::ResponseCompactParams::input?,
@@ -35,6 +38,7 @@ module OpenAI
35
38
  ?previous_response_id: String?,
36
39
  ?prompt_cache_key: String?,
37
40
  ?prompt_cache_retention: OpenAI::Models::Responses::ResponseCompactParams::prompt_cache_retention?,
41
+ ?service_tier: OpenAI::Models::Responses::ResponseCompactParams::service_tier?,
38
42
  ?request_options: OpenAI::request_opts
39
43
  ) -> void
40
44
 
@@ -45,6 +49,7 @@ module OpenAI
45
49
  previous_response_id: String?,
46
50
  prompt_cache_key: String?,
47
51
  prompt_cache_retention: OpenAI::Models::Responses::ResponseCompactParams::prompt_cache_retention?,
52
+ service_tier: OpenAI::Models::Responses::ResponseCompactParams::service_tier?,
48
53
  request_options: OpenAI::RequestOptions
49
54
  }
50
55
 
@@ -263,6 +268,19 @@ module OpenAI
263
268
 
264
269
  def self?.values: -> ::Array[OpenAI::Models::Responses::ResponseCompactParams::prompt_cache_retention]
265
270
  end
271
+
272
+ type service_tier = :auto | :default | :flex | :priority
273
+
274
+ module ServiceTier
275
+ extend OpenAI::Internal::Type::Enum
276
+
277
+ AUTO: :auto
278
+ DEFAULT: :default
279
+ FLEX: :flex
280
+ PRIORITY: :priority
281
+
282
+ def self?.values: -> ::Array[OpenAI::Models::Responses::ResponseCompactParams::service_tier]
283
+ end
266
284
  end
267
285
  end
268
286
  end
@@ -493,7 +493,13 @@ module OpenAI
493
493
  end
494
494
 
495
495
  type model =
496
- String | :"gpt-image-1" | :"gpt-image-1-mini" | :"gpt-image-1.5"
496
+ String
497
+ | :"gpt-image-1"
498
+ | :"gpt-image-1-mini"
499
+ | :"gpt-image-2"
500
+ | :"gpt-image-2-2026-04-21"
501
+ | :"gpt-image-1.5"
502
+ | :"chatgpt-image-latest"
497
503
 
498
504
  module Model
499
505
  extend OpenAI::Internal::Type::Union
@@ -502,7 +508,10 @@ module OpenAI
502
508
 
503
509
  GPT_IMAGE_1: :"gpt-image-1"
504
510
  GPT_IMAGE_1_MINI: :"gpt-image-1-mini"
511
+ GPT_IMAGE_2: :"gpt-image-2"
512
+ GPT_IMAGE_2_2026_04_21: :"gpt-image-2-2026-04-21"
505
513
  GPT_IMAGE_1_5: :"gpt-image-1.5"
514
+ CHATGPT_IMAGE_LATEST: :"chatgpt-image-latest"
506
515
  end
507
516
 
508
517
  type moderation = :auto | :low
@@ -541,17 +550,18 @@ module OpenAI
541
550
  def self?.values: -> ::Array[OpenAI::Models::Responses::Tool::ImageGeneration::quality]
542
551
  end
543
552
 
544
- type size = :"1024x1024" | :"1024x1536" | :"1536x1024" | :auto
553
+ type size =
554
+ String | :"1024x1024" | :"1024x1536" | :"1536x1024" | :auto
545
555
 
546
556
  module Size
547
- extend OpenAI::Internal::Type::Enum
557
+ extend OpenAI::Internal::Type::Union
558
+
559
+ def self?.variants: -> ::Array[OpenAI::Models::Responses::Tool::ImageGeneration::size]
548
560
 
549
561
  SIZE_1024X1024: :"1024x1024"
550
562
  SIZE_1024X1536: :"1024x1536"
551
563
  SIZE_1536X1024: :"1536x1024"
552
564
  AUTO: :auto
553
-
554
- def self?.values: -> ::Array[OpenAI::Models::Responses::Tool::ImageGeneration::size]
555
565
  end
556
566
  end
557
567
 
@@ -10,7 +10,9 @@ module OpenAI
10
10
  ?max_output_tokens: OpenAI::Models::Realtime::RealtimeSessionCreateRequest::max_output_tokens,
11
11
  ?model: OpenAI::Models::Realtime::RealtimeSessionCreateRequest::model,
12
12
  ?output_modalities: ::Array[OpenAI::Models::Realtime::RealtimeSessionCreateRequest::output_modality],
13
+ ?parallel_tool_calls: bool,
13
14
  ?prompt: OpenAI::Responses::ResponsePrompt?,
15
+ ?reasoning: OpenAI::Realtime::RealtimeReasoning,
14
16
  ?tool_choice: OpenAI::Models::Realtime::realtime_tool_choice_config,
15
17
  ?tools: OpenAI::Models::Realtime::realtime_tools_config,
16
18
  ?tracing: OpenAI::Models::Realtime::realtime_tracing_config?,
@@ -130,6 +130,7 @@ module OpenAI
130
130
  ?previous_response_id: String?,
131
131
  ?prompt_cache_key: String?,
132
132
  ?prompt_cache_retention: OpenAI::Models::Responses::ResponseCompactParams::prompt_cache_retention?,
133
+ ?service_tier: OpenAI::Models::Responses::ResponseCompactParams::service_tier?,
133
134
  ?request_options: OpenAI::request_opts
134
135
  ) -> OpenAI::Responses::CompactedResponse
135
136
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openai
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.61.0
4
+ version: 0.63.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenAI
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-05-04 00:00:00.000000000 Z
11
+ date: 2026-05-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: base64
@@ -658,6 +658,8 @@ files:
658
658
  - lib/openai/models/realtime/realtime_mcp_tool_call.rb
659
659
  - lib/openai/models/realtime/realtime_mcp_tool_execution_error.rb
660
660
  - lib/openai/models/realtime/realtime_mcphttp_error.rb
661
+ - lib/openai/models/realtime/realtime_reasoning.rb
662
+ - lib/openai/models/realtime/realtime_reasoning_effort.rb
661
663
  - lib/openai/models/realtime/realtime_response.rb
662
664
  - lib/openai/models/realtime/realtime_response_create_audio_output.rb
663
665
  - lib/openai/models/realtime/realtime_response_create_mcp_tool.rb
@@ -668,7 +670,6 @@ files:
668
670
  - lib/openai/models/realtime/realtime_response_usage_output_token_details.rb
669
671
  - lib/openai/models/realtime/realtime_server_event.rb
670
672
  - lib/openai/models/realtime/realtime_session.rb
671
- - lib/openai/models/realtime/realtime_session_client_secret.rb
672
673
  - lib/openai/models/realtime/realtime_session_create_request.rb
673
674
  - lib/openai/models/realtime/realtime_session_create_response.rb
674
675
  - lib/openai/models/realtime/realtime_tool_choice_config.rb
@@ -681,6 +682,22 @@ files:
681
682
  - lib/openai/models/realtime/realtime_transcription_session_create_request.rb
682
683
  - lib/openai/models/realtime/realtime_transcription_session_create_response.rb
683
684
  - lib/openai/models/realtime/realtime_transcription_session_turn_detection.rb
685
+ - lib/openai/models/realtime/realtime_translation_client_event.rb
686
+ - lib/openai/models/realtime/realtime_translation_client_secret_create_request.rb
687
+ - lib/openai/models/realtime/realtime_translation_client_secret_create_response.rb
688
+ - lib/openai/models/realtime/realtime_translation_input_audio_buffer_append_event.rb
689
+ - lib/openai/models/realtime/realtime_translation_input_transcript_delta_event.rb
690
+ - lib/openai/models/realtime/realtime_translation_output_audio_delta_event.rb
691
+ - lib/openai/models/realtime/realtime_translation_output_transcript_delta_event.rb
692
+ - lib/openai/models/realtime/realtime_translation_server_event.rb
693
+ - lib/openai/models/realtime/realtime_translation_session.rb
694
+ - lib/openai/models/realtime/realtime_translation_session_close_event.rb
695
+ - lib/openai/models/realtime/realtime_translation_session_closed_event.rb
696
+ - lib/openai/models/realtime/realtime_translation_session_create_request.rb
697
+ - lib/openai/models/realtime/realtime_translation_session_created_event.rb
698
+ - lib/openai/models/realtime/realtime_translation_session_update_event.rb
699
+ - lib/openai/models/realtime/realtime_translation_session_update_request.rb
700
+ - lib/openai/models/realtime/realtime_translation_session_updated_event.rb
684
701
  - lib/openai/models/realtime/realtime_truncation.rb
685
702
  - lib/openai/models/realtime/realtime_truncation_retention_ratio.rb
686
703
  - lib/openai/models/realtime/response_audio_delta_event.rb
@@ -1625,6 +1642,8 @@ files:
1625
1642
  - rbi/openai/models/realtime/realtime_mcp_tool_call.rbi
1626
1643
  - rbi/openai/models/realtime/realtime_mcp_tool_execution_error.rbi
1627
1644
  - rbi/openai/models/realtime/realtime_mcphttp_error.rbi
1645
+ - rbi/openai/models/realtime/realtime_reasoning.rbi
1646
+ - rbi/openai/models/realtime/realtime_reasoning_effort.rbi
1628
1647
  - rbi/openai/models/realtime/realtime_response.rbi
1629
1648
  - rbi/openai/models/realtime/realtime_response_create_audio_output.rbi
1630
1649
  - rbi/openai/models/realtime/realtime_response_create_mcp_tool.rbi
@@ -1635,7 +1654,6 @@ files:
1635
1654
  - rbi/openai/models/realtime/realtime_response_usage_output_token_details.rbi
1636
1655
  - rbi/openai/models/realtime/realtime_server_event.rbi
1637
1656
  - rbi/openai/models/realtime/realtime_session.rbi
1638
- - rbi/openai/models/realtime/realtime_session_client_secret.rbi
1639
1657
  - rbi/openai/models/realtime/realtime_session_create_request.rbi
1640
1658
  - rbi/openai/models/realtime/realtime_session_create_response.rbi
1641
1659
  - rbi/openai/models/realtime/realtime_tool_choice_config.rbi
@@ -1648,6 +1666,22 @@ files:
1648
1666
  - rbi/openai/models/realtime/realtime_transcription_session_create_request.rbi
1649
1667
  - rbi/openai/models/realtime/realtime_transcription_session_create_response.rbi
1650
1668
  - rbi/openai/models/realtime/realtime_transcription_session_turn_detection.rbi
1669
+ - rbi/openai/models/realtime/realtime_translation_client_event.rbi
1670
+ - rbi/openai/models/realtime/realtime_translation_client_secret_create_request.rbi
1671
+ - rbi/openai/models/realtime/realtime_translation_client_secret_create_response.rbi
1672
+ - rbi/openai/models/realtime/realtime_translation_input_audio_buffer_append_event.rbi
1673
+ - rbi/openai/models/realtime/realtime_translation_input_transcript_delta_event.rbi
1674
+ - rbi/openai/models/realtime/realtime_translation_output_audio_delta_event.rbi
1675
+ - rbi/openai/models/realtime/realtime_translation_output_transcript_delta_event.rbi
1676
+ - rbi/openai/models/realtime/realtime_translation_server_event.rbi
1677
+ - rbi/openai/models/realtime/realtime_translation_session.rbi
1678
+ - rbi/openai/models/realtime/realtime_translation_session_close_event.rbi
1679
+ - rbi/openai/models/realtime/realtime_translation_session_closed_event.rbi
1680
+ - rbi/openai/models/realtime/realtime_translation_session_create_request.rbi
1681
+ - rbi/openai/models/realtime/realtime_translation_session_created_event.rbi
1682
+ - rbi/openai/models/realtime/realtime_translation_session_update_event.rbi
1683
+ - rbi/openai/models/realtime/realtime_translation_session_update_request.rbi
1684
+ - rbi/openai/models/realtime/realtime_translation_session_updated_event.rbi
1651
1685
  - rbi/openai/models/realtime/realtime_truncation.rbi
1652
1686
  - rbi/openai/models/realtime/realtime_truncation_retention_ratio.rbi
1653
1687
  - rbi/openai/models/realtime/response_audio_delta_event.rbi
@@ -2581,6 +2615,8 @@ files:
2581
2615
  - sig/openai/models/realtime/realtime_mcp_tool_call.rbs
2582
2616
  - sig/openai/models/realtime/realtime_mcp_tool_execution_error.rbs
2583
2617
  - sig/openai/models/realtime/realtime_mcphttp_error.rbs
2618
+ - sig/openai/models/realtime/realtime_reasoning.rbs
2619
+ - sig/openai/models/realtime/realtime_reasoning_effort.rbs
2584
2620
  - sig/openai/models/realtime/realtime_response.rbs
2585
2621
  - sig/openai/models/realtime/realtime_response_create_audio_output.rbs
2586
2622
  - sig/openai/models/realtime/realtime_response_create_mcp_tool.rbs
@@ -2591,7 +2627,6 @@ files:
2591
2627
  - sig/openai/models/realtime/realtime_response_usage_output_token_details.rbs
2592
2628
  - sig/openai/models/realtime/realtime_server_event.rbs
2593
2629
  - sig/openai/models/realtime/realtime_session.rbs
2594
- - sig/openai/models/realtime/realtime_session_client_secret.rbs
2595
2630
  - sig/openai/models/realtime/realtime_session_create_request.rbs
2596
2631
  - sig/openai/models/realtime/realtime_session_create_response.rbs
2597
2632
  - sig/openai/models/realtime/realtime_tool_choice_config.rbs
@@ -2604,6 +2639,22 @@ files:
2604
2639
  - sig/openai/models/realtime/realtime_transcription_session_create_request.rbs
2605
2640
  - sig/openai/models/realtime/realtime_transcription_session_create_response.rbs
2606
2641
  - sig/openai/models/realtime/realtime_transcription_session_turn_detection.rbs
2642
+ - sig/openai/models/realtime/realtime_translation_client_event.rbs
2643
+ - sig/openai/models/realtime/realtime_translation_client_secret_create_request.rbs
2644
+ - sig/openai/models/realtime/realtime_translation_client_secret_create_response.rbs
2645
+ - sig/openai/models/realtime/realtime_translation_input_audio_buffer_append_event.rbs
2646
+ - sig/openai/models/realtime/realtime_translation_input_transcript_delta_event.rbs
2647
+ - sig/openai/models/realtime/realtime_translation_output_audio_delta_event.rbs
2648
+ - sig/openai/models/realtime/realtime_translation_output_transcript_delta_event.rbs
2649
+ - sig/openai/models/realtime/realtime_translation_server_event.rbs
2650
+ - sig/openai/models/realtime/realtime_translation_session.rbs
2651
+ - sig/openai/models/realtime/realtime_translation_session_close_event.rbs
2652
+ - sig/openai/models/realtime/realtime_translation_session_closed_event.rbs
2653
+ - sig/openai/models/realtime/realtime_translation_session_create_request.rbs
2654
+ - sig/openai/models/realtime/realtime_translation_session_created_event.rbs
2655
+ - sig/openai/models/realtime/realtime_translation_session_update_event.rbs
2656
+ - sig/openai/models/realtime/realtime_translation_session_update_request.rbs
2657
+ - sig/openai/models/realtime/realtime_translation_session_updated_event.rbs
2607
2658
  - sig/openai/models/realtime/realtime_truncation.rbs
2608
2659
  - sig/openai/models/realtime/realtime_truncation_retention_ratio.rbs
2609
2660
  - sig/openai/models/realtime/response_audio_delta_event.rbs
@@ -1,36 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module OpenAI
4
- module Models
5
- module Realtime
6
- class RealtimeSessionClientSecret < OpenAI::Internal::Type::BaseModel
7
- # @!attribute expires_at
8
- # Timestamp for when the token expires. Currently, all tokens expire after one
9
- # minute.
10
- #
11
- # @return [Integer]
12
- required :expires_at, Integer
13
-
14
- # @!attribute value
15
- # Ephemeral key usable in client environments to authenticate connections to the
16
- # Realtime API. Use this in client-side environments rather than a standard API
17
- # token, which should only be used server-side.
18
- #
19
- # @return [String]
20
- required :value, String
21
-
22
- # @!method initialize(expires_at:, value:)
23
- # Some parameter documentations has been truncated, see
24
- # {OpenAI::Models::Realtime::RealtimeSessionClientSecret} for more details.
25
- #
26
- # Ephemeral key returned by the API.
27
- #
28
- # @param expires_at [Integer] Timestamp for when the token expires. Currently, all tokens expire
29
- #
30
- # @param value [String] Ephemeral key usable in client environments to authenticate connections to the R
31
- end
32
- end
33
-
34
- RealtimeSessionClientSecret = Realtime::RealtimeSessionClientSecret
35
- end
36
- end