openai 0.72.0 → 0.74.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 (71) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -0
  3. data/README.md +1 -1
  4. data/lib/openai/models/audio/transcription.rb +10 -1
  5. data/lib/openai/models/audio/transcription_create_params.rb +24 -5
  6. data/lib/openai/models/audio/transcription_language.rb +20 -0
  7. data/lib/openai/models/audio/transcription_text_done_event.rb +10 -1
  8. data/lib/openai/models/audio_model.rb +1 -0
  9. data/lib/openai/models/beta/beta_response.rb +15 -6
  10. data/lib/openai/models/beta/beta_responses_client_event.rb +15 -6
  11. data/lib/openai/models/beta/response_create_params.rb +15 -6
  12. data/lib/openai/models/chat/chat_completion.rb +15 -6
  13. data/lib/openai/models/chat/chat_completion_chunk.rb +15 -6
  14. data/lib/openai/models/chat/completion_create_params.rb +15 -6
  15. data/lib/openai/models/realtime/audio_transcription.rb +35 -8
  16. data/lib/openai/models/realtime/conversation_item_input_audio_transcription_completed_event.rb +10 -1
  17. data/lib/openai/models/responses/response.rb +15 -6
  18. data/lib/openai/models/responses/response_create_params.rb +15 -6
  19. data/lib/openai/models/responses/responses_client_event.rb +15 -6
  20. data/lib/openai/models/webhooks/live_call_incoming_webhook_event.rb +121 -0
  21. data/lib/openai/models/webhooks/realtime_call_incoming_webhook_event.rb +6 -3
  22. data/lib/openai/models/webhooks/unwrap_webhook_event.rb +9 -2
  23. data/lib/openai/resources/audio/transcriptions.rb +12 -4
  24. data/lib/openai/resources/webhooks.rb +1 -1
  25. data/lib/openai/version.rb +1 -1
  26. data/lib/openai.rb +2 -0
  27. data/rbi/openai/models/audio/transcription.rbi +19 -0
  28. data/rbi/openai/models/audio/transcription_create_params.rbi +31 -3
  29. data/rbi/openai/models/audio/transcription_language.rbi +33 -0
  30. data/rbi/openai/models/audio/transcription_text_done_event.rbi +19 -0
  31. data/rbi/openai/models/audio_model.rbi +2 -0
  32. data/rbi/openai/models/beta/beta_response.rbi +23 -9
  33. data/rbi/openai/models/beta/beta_responses_client_event.rbi +26 -9
  34. data/rbi/openai/models/beta/response_create_params.rbi +26 -9
  35. data/rbi/openai/models/chat/chat_completion.rbi +26 -9
  36. data/rbi/openai/models/chat/chat_completion_chunk.rbi +26 -9
  37. data/rbi/openai/models/chat/completion_create_params.rbi +26 -9
  38. data/rbi/openai/models/realtime/audio_transcription.rbi +50 -9
  39. data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_completed_event.rbi +19 -0
  40. data/rbi/openai/models/responses/response.rbi +23 -9
  41. data/rbi/openai/models/responses/response_create_params.rbi +26 -9
  42. data/rbi/openai/models/responses/responses_client_event.rbi +26 -9
  43. data/rbi/openai/models/webhooks/live_call_incoming_webhook_event.rbi +222 -0
  44. data/rbi/openai/models/webhooks/realtime_call_incoming_webhook_event.rbi +7 -3
  45. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +1 -0
  46. data/rbi/openai/resources/audio/transcriptions.rbi +20 -2
  47. data/rbi/openai/resources/beta/responses.rbi +14 -6
  48. data/rbi/openai/resources/chat/completions.rbi +14 -6
  49. data/rbi/openai/resources/responses.rbi +14 -6
  50. data/rbi/openai/resources/webhooks.rbi +1 -0
  51. data/sig/openai/models/audio/transcription.rbs +9 -0
  52. data/sig/openai/models/audio/transcription_create_params.rbs +14 -0
  53. data/sig/openai/models/audio/transcription_language.rbs +15 -0
  54. data/sig/openai/models/audio/transcription_text_done_event.rbs +9 -0
  55. data/sig/openai/models/audio_model.rbs +2 -0
  56. data/sig/openai/models/beta/beta_response.rbs +3 -1
  57. data/sig/openai/models/beta/beta_responses_client_event.rbs +3 -1
  58. data/sig/openai/models/beta/response_create_params.rbs +3 -1
  59. data/sig/openai/models/chat/chat_completion.rbs +3 -1
  60. data/sig/openai/models/chat/chat_completion_chunk.rbs +3 -1
  61. data/sig/openai/models/chat/completion_create_params.rbs +3 -1
  62. data/sig/openai/models/realtime/audio_transcription.rbs +18 -0
  63. data/sig/openai/models/realtime/conversation_item_input_audio_transcription_completed_event.rbs +9 -0
  64. data/sig/openai/models/responses/response.rbs +3 -1
  65. data/sig/openai/models/responses/response_create_params.rbs +3 -1
  66. data/sig/openai/models/responses/responses_client_event.rbs +3 -1
  67. data/sig/openai/models/webhooks/live_call_incoming_webhook_event.rbs +90 -0
  68. data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +1 -0
  69. data/sig/openai/resources/audio/transcriptions.rbs +4 -0
  70. data/sig/openai/resources/webhooks.rbs +1 -0
  71. metadata +8 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8c69be82ff7c2671977b57e52c949e6f97f7951d11c0534495d49a65ab346cef
4
- data.tar.gz: 308aa3a93da2b57df7646e4a46cd39d185ec237fc8a13a4efec74719a53f6cc4
3
+ metadata.gz: 0e15647c84c14cc64a8534b798c574db9f0136f734337db3d08a5f682b665eef
4
+ data.tar.gz: 98d82a2c561be991ce27e4d70917ab87ecbdecc253c4847457dbe58950f08954
5
5
  SHA512:
6
- metadata.gz: 6ecb5fa9bec8fc7cbe7ae3a5a04c5e48effb4afdf84a679a25bc9cbea34b34001a8dc131ef92049f3e8c2ee098be3d32aaab648d1d159f8e472f4f2de39333d7
7
- data.tar.gz: 4c3799a9ae330a796e7f1e37b547d31622a9e53f99fa49bddb92348ed533a14c35c8dca9640f61cac244badf436f90ebbf2eaf5117cf86f240c7c4894326bffb
6
+ metadata.gz: 78bab0c2d6d33997ba5b81a2805a71bc00cd0fb8e116e057aa55bf4beed5e3992df65cfa41968ae985109295e74511b60eb0c935d52f8e75f4c1eac5454b637a
7
+ data.tar.gz: 4175e30bb0c664a56e0229ea30d57eac555103463ba496d123c6b439c1a812da5c234de046dca7a9e78ba090a659b71a9191db2c16e21e1829f3d82bd67343c9
data/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.74.0 (2026-07-30)
4
+
5
+ Full Changelog: [v0.73.0...v0.74.0](https://github.com/openai/openai-ruby/compare/v0.73.0...v0.74.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** fast tier ([4165ec8](https://github.com/openai/openai-ruby/commit/4165ec8e6bc100f932e3787d6c5412e89496c0e9))
10
+
11
+ ## 0.73.0 (2026-07-28)
12
+
13
+ Full Changelog: [v0.72.0...v0.73.0](https://github.com/openai/openai-ruby/compare/v0.72.0...v0.73.0)
14
+
15
+ ### Features
16
+
17
+ * **api:** transcription model updates ([e1a95ab](https://github.com/openai/openai-ruby/commit/e1a95ab63070edb96000a334d5231994d7ca1f65))
18
+
3
19
  ## 0.72.0 (2026-07-23)
4
20
 
5
21
  Full Changelog: [v0.71.0...v0.72.0](https://github.com/openai/openai-ruby/compare/v0.71.0...v0.72.0)
data/README.md CHANGED
@@ -15,7 +15,7 @@ To use this gem, install via Bundler by adding the following to your application
15
15
  <!-- x-release-please-start-version -->
16
16
 
17
17
  ```ruby
18
- gem "openai", "~> 0.72.0"
18
+ gem "openai", "~> 0.74.0"
19
19
  ```
20
20
 
21
21
  <!-- x-release-please-end -->
@@ -10,6 +10,13 @@ module OpenAI
10
10
  # @return [String]
11
11
  required :text, String
12
12
 
13
+ # @!attribute languages
14
+ # The languages detected in the audio. Returned by `gpt-transcribe`. An empty
15
+ # array indicates that no language could be reliably detected.
16
+ #
17
+ # @return [Array<OpenAI::Models::Audio::TranscriptionLanguage>, nil]
18
+ optional :languages, -> { OpenAI::Internal::Type::ArrayOf[OpenAI::Audio::TranscriptionLanguage] }
19
+
13
20
  # @!attribute logprobs
14
21
  # The log probabilities of the tokens in the transcription. Only returned with the
15
22
  # models `gpt-4o-transcribe` and `gpt-4o-mini-transcribe` if `logprobs` is added
@@ -24,7 +31,7 @@ module OpenAI
24
31
  # @return [OpenAI::Models::Audio::Transcription::Usage::Tokens, OpenAI::Models::Audio::Transcription::Usage::Duration, nil]
25
32
  optional :usage, union: -> { OpenAI::Audio::Transcription::Usage }
26
33
 
27
- # @!method initialize(text:, logprobs: nil, usage: nil)
34
+ # @!method initialize(text:, languages: nil, logprobs: nil, usage: nil)
28
35
  # Some parameter documentations has been truncated, see
29
36
  # {OpenAI::Models::Audio::Transcription} for more details.
30
37
  #
@@ -33,6 +40,8 @@ module OpenAI
33
40
  #
34
41
  # @param text [String] The transcribed text.
35
42
  #
43
+ # @param languages [Array<OpenAI::Models::Audio::TranscriptionLanguage>] The languages detected in the audio. Returned by `gpt-transcribe`. An empty arra
44
+ #
36
45
  # @param logprobs [Array<OpenAI::Models::Audio::Transcription::Logprob>] The log probabilities of the tokens in the transcription. Only returned with the
37
46
  #
38
47
  # @param usage [OpenAI::Models::Audio::Transcription::Usage::Tokens, OpenAI::Models::Audio::Transcription::Usage::Duration] Token usage statistics for the request.
@@ -18,7 +18,7 @@ module OpenAI
18
18
  required :file, OpenAI::Internal::Type::FileInput
19
19
 
20
20
  # @!attribute model
21
- # ID of the model to use. The options are `gpt-4o-transcribe`,
21
+ # ID of the model to use. The options are `gpt-transcribe`, `gpt-4o-transcribe`,
22
22
  # `gpt-4o-mini-transcribe`, `gpt-4o-mini-transcribe-2025-12-15`, `whisper-1`
23
23
  # (which is powered by our open source Whisper V2 model), and
24
24
  # `gpt-4o-transcribe-diarize`.
@@ -50,6 +50,13 @@ module OpenAI
50
50
  # @return [Array<Symbol, OpenAI::Models::Audio::TranscriptionInclude>, nil]
51
51
  optional :include, -> { OpenAI::Internal::Type::ArrayOf[enum: OpenAI::Audio::TranscriptionInclude] }
52
52
 
53
+ # @!attribute keywords
54
+ # Words or phrases to guide transcription of the input audio. Supported by
55
+ # `gpt-transcribe`.
56
+ #
57
+ # @return [Array<String>, nil]
58
+ optional :keywords, OpenAI::Internal::Type::ArrayOf[String]
59
+
53
60
  # @!attribute known_speaker_names
54
61
  # Optional list of speaker names that correspond to the audio samples provided in
55
62
  # `known_speaker_references[]`. Each entry should be a short identifier (for
@@ -76,6 +83,14 @@ module OpenAI
76
83
  # @return [String, nil]
77
84
  optional :language, String
78
85
 
86
+ # @!attribute languages
87
+ # Possible languages of the input audio, in
88
+ # [ISO-639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.
89
+ # Supported by `gpt-transcribe`.
90
+ #
91
+ # @return [Array<String>, nil]
92
+ optional :languages, OpenAI::Internal::Type::ArrayOf[String]
93
+
79
94
  # @!attribute prompt
80
95
  # An optional text to guide the model's style or continue a previous audio
81
96
  # segment. The
@@ -118,24 +133,28 @@ module OpenAI
118
133
  optional :timestamp_granularities,
119
134
  -> { OpenAI::Internal::Type::ArrayOf[enum: OpenAI::Audio::TranscriptionCreateParams::TimestampGranularity] }
120
135
 
121
- # @!method initialize(file:, model:, chunking_strategy: nil, include: nil, known_speaker_names: nil, known_speaker_references: nil, language: nil, prompt: nil, response_format: nil, temperature: nil, timestamp_granularities: nil, request_options: {})
136
+ # @!method initialize(file:, model:, chunking_strategy: nil, include: nil, keywords: nil, known_speaker_names: nil, known_speaker_references: nil, language: nil, languages: nil, prompt: nil, response_format: nil, temperature: nil, timestamp_granularities: nil, request_options: {})
122
137
  # Some parameter documentations has been truncated, see
123
138
  # {OpenAI::Models::Audio::TranscriptionCreateParams} for more details.
124
139
  #
125
140
  # @param file [Pathname, StringIO, IO, String, OpenAI::FilePart] The audio file object (not file name) to transcribe, in one of these formats: fl
126
141
  #
127
- # @param model [String, Symbol, OpenAI::Models::AudioModel] ID of the model to use. The options are `gpt-4o-transcribe`, `gpt-4o-mini-transc
142
+ # @param model [String, Symbol, OpenAI::Models::AudioModel] ID of the model to use. The options are `gpt-transcribe`, `gpt-4o-transcribe`, `
128
143
  #
129
144
  # @param chunking_strategy [Symbol, :auto, OpenAI::Models::Audio::TranscriptionCreateParams::ChunkingStrategy::VadConfig, nil] Controls how the audio is cut into chunks. When set to `"auto"`, the server firs
130
145
  #
131
146
  # @param include [Array<Symbol, OpenAI::Models::Audio::TranscriptionInclude>] Additional information to include in the transcription response.
132
147
  #
148
+ # @param keywords [Array<String>] Words or phrases to guide transcription of the input audio. Supported by `gpt-tr
149
+ #
133
150
  # @param known_speaker_names [Array<String>] Optional list of speaker names that correspond to the audio samples provided in
134
151
  #
135
152
  # @param known_speaker_references [Array<String>] Optional list of audio samples (as [data URLs](https://developer.mozilla.org/en-
136
153
  #
137
154
  # @param language [String] The language of the input audio. Supplying the input language in [ISO-639-1](htt
138
155
  #
156
+ # @param languages [Array<String>] Possible languages of the input audio, in [ISO-639-1](https://en.wikipedia.org/w
157
+ #
139
158
  # @param prompt [String] An optional text to guide the model's style or continue a previous audio segment
140
159
  #
141
160
  # @param response_format [Symbol, OpenAI::Models::AudioResponseFormat] The format of the output, in one of these options: `json`, `text`, `srt`, `verbo
@@ -146,7 +165,7 @@ module OpenAI
146
165
  #
147
166
  # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
148
167
 
149
- # ID of the model to use. The options are `gpt-4o-transcribe`,
168
+ # ID of the model to use. The options are `gpt-transcribe`, `gpt-4o-transcribe`,
150
169
  # `gpt-4o-mini-transcribe`, `gpt-4o-mini-transcribe-2025-12-15`, `whisper-1`
151
170
  # (which is powered by our open source Whisper V2 model), and
152
171
  # `gpt-4o-transcribe-diarize`.
@@ -155,7 +174,7 @@ module OpenAI
155
174
 
156
175
  variant String
157
176
 
158
- # ID of the model to use. The options are `gpt-4o-transcribe`, `gpt-4o-mini-transcribe`, `gpt-4o-mini-transcribe-2025-12-15`, `whisper-1` (which is powered by our open source Whisper V2 model), and `gpt-4o-transcribe-diarize`.
177
+ # ID of the model to use. The options are `gpt-transcribe`, `gpt-4o-transcribe`, `gpt-4o-mini-transcribe`, `gpt-4o-mini-transcribe-2025-12-15`, `whisper-1` (which is powered by our open source Whisper V2 model), and `gpt-4o-transcribe-diarize`.
159
178
  variant enum: -> { OpenAI::AudioModel }
160
179
 
161
180
  # @!method self.variants
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Audio
6
+ class TranscriptionLanguage < OpenAI::Internal::Type::BaseModel
7
+ # @!attribute code
8
+ # The code of a language detected in the audio.
9
+ #
10
+ # @return [String]
11
+ required :code, String
12
+
13
+ # @!method initialize(code:)
14
+ # A language detected in transcribed audio.
15
+ #
16
+ # @param code [String] The code of a language detected in the audio.
17
+ end
18
+ end
19
+ end
20
+ end
@@ -16,6 +16,13 @@ module OpenAI
16
16
  # @return [Symbol, :"transcript.text.done"]
17
17
  required :type, const: :"transcript.text.done"
18
18
 
19
+ # @!attribute languages
20
+ # The languages detected in the audio. Returned by `gpt-transcribe`. An empty
21
+ # array indicates that no language could be reliably detected.
22
+ #
23
+ # @return [Array<OpenAI::Models::Audio::TranscriptionLanguage>, nil]
24
+ optional :languages, -> { OpenAI::Internal::Type::ArrayOf[OpenAI::Audio::TranscriptionLanguage] }
25
+
19
26
  # @!attribute logprobs
20
27
  # The log probabilities of the individual tokens in the transcription. Only
21
28
  # included if you
@@ -32,7 +39,7 @@ module OpenAI
32
39
  # @return [OpenAI::Models::Audio::TranscriptionTextDoneEvent::Usage, nil]
33
40
  optional :usage, -> { OpenAI::Audio::TranscriptionTextDoneEvent::Usage }
34
41
 
35
- # @!method initialize(text:, logprobs: nil, usage: nil, type: :"transcript.text.done")
42
+ # @!method initialize(text:, languages: nil, logprobs: nil, usage: nil, type: :"transcript.text.done")
36
43
  # Some parameter documentations has been truncated, see
37
44
  # {OpenAI::Models::Audio::TranscriptionTextDoneEvent} for more details.
38
45
  #
@@ -43,6 +50,8 @@ module OpenAI
43
50
  #
44
51
  # @param text [String] The text that was transcribed.
45
52
  #
53
+ # @param languages [Array<OpenAI::Models::Audio::TranscriptionLanguage>] The languages detected in the audio. Returned by `gpt-transcribe`. An empty arra
54
+ #
46
55
  # @param logprobs [Array<OpenAI::Models::Audio::TranscriptionTextDoneEvent::Logprob>] The log probabilities of the individual tokens in the transcription. Only includ
47
56
  #
48
57
  # @param usage [OpenAI::Models::Audio::TranscriptionTextDoneEvent::Usage] Usage statistics for models billed by token usage.
@@ -6,6 +6,7 @@ module OpenAI
6
6
  extend OpenAI::Internal::Type::Enum
7
7
 
8
8
  WHISPER_1 = :"whisper-1"
9
+ GPT_TRANSCRIBE = :"gpt-transcribe"
9
10
  GPT_4O_TRANSCRIBE = :"gpt-4o-transcribe"
10
11
  GPT_4O_MINI_TRANSCRIBE = :"gpt-4o-mini-transcribe"
11
12
  GPT_4O_MINI_TRANSCRIBE_2025_12_15 = :"gpt-4o-mini-transcribe-2025-12-15"
@@ -267,9 +267,13 @@ module OpenAI
267
267
  # will use 'default'.
268
268
  # - If set to 'default', then the request will be processed with the standard
269
269
  # pricing and performance for the selected model.
270
- # - If set to '[flex](https://platform.openai.com/docs/guides/flex-processing)' or
271
- # '[priority](https://openai.com/api-priority-processing/)', then the request
272
- # will be processed with the corresponding service tier.
270
+ # - If set to '[flex](https://platform.openai.com/docs/guides/flex-processing)',
271
+ # then the request will be processed with the Flex Processing service tier.
272
+ # - To opt-in to [Fast mode](/api/docs/guides/fast-mode) at the request level,
273
+ # include the `service_tier=fast` or `service_tier=priority` parameter for
274
+ # Responses or Chat Completions. The response will show `service_tier=priority`
275
+ # regardless of if you specify `service_tier=fast` or `priority` in your
276
+ # request.
273
277
  # - When not set, the default behavior is 'auto'.
274
278
  #
275
279
  # When the `service_tier` parameter is set, the response body will include the
@@ -1381,9 +1385,13 @@ module OpenAI
1381
1385
  # will use 'default'.
1382
1386
  # - If set to 'default', then the request will be processed with the standard
1383
1387
  # pricing and performance for the selected model.
1384
- # - If set to '[flex](https://platform.openai.com/docs/guides/flex-processing)' or
1385
- # '[priority](https://openai.com/api-priority-processing/)', then the request
1386
- # will be processed with the corresponding service tier.
1388
+ # - If set to '[flex](https://platform.openai.com/docs/guides/flex-processing)',
1389
+ # then the request will be processed with the Flex Processing service tier.
1390
+ # - To opt-in to [Fast mode](/api/docs/guides/fast-mode) at the request level,
1391
+ # include the `service_tier=fast` or `service_tier=priority` parameter for
1392
+ # Responses or Chat Completions. The response will show `service_tier=priority`
1393
+ # regardless of if you specify `service_tier=fast` or `priority` in your
1394
+ # request.
1387
1395
  # - When not set, the default behavior is 'auto'.
1388
1396
  #
1389
1397
  # When the `service_tier` parameter is set, the response body will include the
@@ -1400,6 +1408,7 @@ module OpenAI
1400
1408
  FLEX = :flex
1401
1409
  SCALE = :scale
1402
1410
  PRIORITY = :priority
1411
+ FAST = :fast
1403
1412
 
1404
1413
  # @!method self.values
1405
1414
  # @return [Array<Symbol>]
@@ -263,9 +263,13 @@ module OpenAI
263
263
  # will use 'default'.
264
264
  # - If set to 'default', then the request will be processed with the standard
265
265
  # pricing and performance for the selected model.
266
- # - If set to '[flex](https://platform.openai.com/docs/guides/flex-processing)' or
267
- # '[priority](https://openai.com/api-priority-processing/)', then the request
268
- # will be processed with the corresponding service tier.
266
+ # - If set to '[flex](https://platform.openai.com/docs/guides/flex-processing)',
267
+ # then the request will be processed with the Flex Processing service tier.
268
+ # - To opt-in to [Fast mode](/api/docs/guides/fast-mode) at the request level,
269
+ # include the `service_tier=fast` or `service_tier=priority` parameter for
270
+ # Responses or Chat Completions. The response will show `service_tier=priority`
271
+ # regardless of if you specify `service_tier=fast` or `priority` in your
272
+ # request.
269
273
  # - When not set, the default behavior is 'auto'.
270
274
  #
271
275
  # When the `service_tier` parameter is set, the response body will include the
@@ -1302,9 +1306,13 @@ module OpenAI
1302
1306
  # will use 'default'.
1303
1307
  # - If set to 'default', then the request will be processed with the standard
1304
1308
  # pricing and performance for the selected model.
1305
- # - If set to '[flex](https://platform.openai.com/docs/guides/flex-processing)' or
1306
- # '[priority](https://openai.com/api-priority-processing/)', then the request
1307
- # will be processed with the corresponding service tier.
1309
+ # - If set to '[flex](https://platform.openai.com/docs/guides/flex-processing)',
1310
+ # then the request will be processed with the Flex Processing service tier.
1311
+ # - To opt-in to [Fast mode](/api/docs/guides/fast-mode) at the request level,
1312
+ # include the `service_tier=fast` or `service_tier=priority` parameter for
1313
+ # Responses or Chat Completions. The response will show `service_tier=priority`
1314
+ # regardless of if you specify `service_tier=fast` or `priority` in your
1315
+ # request.
1308
1316
  # - When not set, the default behavior is 'auto'.
1309
1317
  #
1310
1318
  # When the `service_tier` parameter is set, the response body will include the
@@ -1321,6 +1329,7 @@ module OpenAI
1321
1329
  FLEX = :flex
1322
1330
  SCALE = :scale
1323
1331
  PRIORITY = :priority
1332
+ FAST = :fast
1324
1333
 
1325
1334
  # @!method self.values
1326
1335
  # @return [Array<Symbol>]
@@ -233,9 +233,13 @@ module OpenAI
233
233
  # will use 'default'.
234
234
  # - If set to 'default', then the request will be processed with the standard
235
235
  # pricing and performance for the selected model.
236
- # - If set to '[flex](https://platform.openai.com/docs/guides/flex-processing)' or
237
- # '[priority](https://openai.com/api-priority-processing/)', then the request
238
- # will be processed with the corresponding service tier.
236
+ # - If set to '[flex](https://platform.openai.com/docs/guides/flex-processing)',
237
+ # then the request will be processed with the Flex Processing service tier.
238
+ # - To opt-in to [Fast mode](/api/docs/guides/fast-mode) at the request level,
239
+ # include the `service_tier=fast` or `service_tier=priority` parameter for
240
+ # Responses or Chat Completions. The response will show `service_tier=priority`
241
+ # regardless of if you specify `service_tier=fast` or `priority` in your
242
+ # request.
239
243
  # - When not set, the default behavior is 'auto'.
240
244
  #
241
245
  # When the `service_tier` parameter is set, the response body will include the
@@ -1218,9 +1222,13 @@ module OpenAI
1218
1222
  # will use 'default'.
1219
1223
  # - If set to 'default', then the request will be processed with the standard
1220
1224
  # pricing and performance for the selected model.
1221
- # - If set to '[flex](https://platform.openai.com/docs/guides/flex-processing)' or
1222
- # '[priority](https://openai.com/api-priority-processing/)', then the request
1223
- # will be processed with the corresponding service tier.
1225
+ # - If set to '[flex](https://platform.openai.com/docs/guides/flex-processing)',
1226
+ # then the request will be processed with the Flex Processing service tier.
1227
+ # - To opt-in to [Fast mode](/api/docs/guides/fast-mode) at the request level,
1228
+ # include the `service_tier=fast` or `service_tier=priority` parameter for
1229
+ # Responses or Chat Completions. The response will show `service_tier=priority`
1230
+ # regardless of if you specify `service_tier=fast` or `priority` in your
1231
+ # request.
1224
1232
  # - When not set, the default behavior is 'auto'.
1225
1233
  #
1226
1234
  # When the `service_tier` parameter is set, the response body will include the
@@ -1235,6 +1243,7 @@ module OpenAI
1235
1243
  FLEX = :flex
1236
1244
  SCALE = :scale
1237
1245
  PRIORITY = :priority
1246
+ FAST = :fast
1238
1247
 
1239
1248
  # @!method self.values
1240
1249
  # @return [Array<Symbol>]
@@ -53,9 +53,13 @@ module OpenAI
53
53
  # will use 'default'.
54
54
  # - If set to 'default', then the request will be processed with the standard
55
55
  # pricing and performance for the selected model.
56
- # - If set to '[flex](https://platform.openai.com/docs/guides/flex-processing)' or
57
- # '[priority](https://openai.com/api-priority-processing/)', then the request
58
- # will be processed with the corresponding service tier.
56
+ # - If set to '[flex](https://platform.openai.com/docs/guides/flex-processing)',
57
+ # then the request will be processed with the Flex Processing service tier.
58
+ # - To opt-in to [Fast mode](/api/docs/guides/fast-mode) at the request level,
59
+ # include the `service_tier=fast` or `service_tier=priority` parameter for
60
+ # Responses or Chat Completions. The response will show `service_tier=priority`
61
+ # regardless of if you specify `service_tier=fast` or `priority` in your
62
+ # request.
59
63
  # - When not set, the default behavior is 'auto'.
60
64
  #
61
65
  # When the `service_tier` parameter is set, the response body will include the
@@ -534,9 +538,13 @@ module OpenAI
534
538
  # will use 'default'.
535
539
  # - If set to 'default', then the request will be processed with the standard
536
540
  # pricing and performance for the selected model.
537
- # - If set to '[flex](https://platform.openai.com/docs/guides/flex-processing)' or
538
- # '[priority](https://openai.com/api-priority-processing/)', then the request
539
- # will be processed with the corresponding service tier.
541
+ # - If set to '[flex](https://platform.openai.com/docs/guides/flex-processing)',
542
+ # then the request will be processed with the Flex Processing service tier.
543
+ # - To opt-in to [Fast mode](/api/docs/guides/fast-mode) at the request level,
544
+ # include the `service_tier=fast` or `service_tier=priority` parameter for
545
+ # Responses or Chat Completions. The response will show `service_tier=priority`
546
+ # regardless of if you specify `service_tier=fast` or `priority` in your
547
+ # request.
540
548
  # - When not set, the default behavior is 'auto'.
541
549
  #
542
550
  # When the `service_tier` parameter is set, the response body will include the
@@ -553,6 +561,7 @@ module OpenAI
553
561
  FLEX = :flex
554
562
  SCALE = :scale
555
563
  PRIORITY = :priority
564
+ FAST = :fast
556
565
 
557
566
  # @!method self.values
558
567
  # @return [Array<Symbol>]
@@ -52,9 +52,13 @@ module OpenAI
52
52
  # will use 'default'.
53
53
  # - If set to 'default', then the request will be processed with the standard
54
54
  # pricing and performance for the selected model.
55
- # - If set to '[flex](https://platform.openai.com/docs/guides/flex-processing)' or
56
- # '[priority](https://openai.com/api-priority-processing/)', then the request
57
- # will be processed with the corresponding service tier.
55
+ # - If set to '[flex](https://platform.openai.com/docs/guides/flex-processing)',
56
+ # then the request will be processed with the Flex Processing service tier.
57
+ # - To opt-in to [Fast mode](/api/docs/guides/fast-mode) at the request level,
58
+ # include the `service_tier=fast` or `service_tier=priority` parameter for
59
+ # Responses or Chat Completions. The response will show `service_tier=priority`
60
+ # regardless of if you specify `service_tier=fast` or `priority` in your
61
+ # request.
58
62
  # - When not set, the default behavior is 'auto'.
59
63
  #
60
64
  # When the `service_tier` parameter is set, the response body will include the
@@ -717,9 +721,13 @@ module OpenAI
717
721
  # will use 'default'.
718
722
  # - If set to 'default', then the request will be processed with the standard
719
723
  # pricing and performance for the selected model.
720
- # - If set to '[flex](https://platform.openai.com/docs/guides/flex-processing)' or
721
- # '[priority](https://openai.com/api-priority-processing/)', then the request
722
- # will be processed with the corresponding service tier.
724
+ # - If set to '[flex](https://platform.openai.com/docs/guides/flex-processing)',
725
+ # then the request will be processed with the Flex Processing service tier.
726
+ # - To opt-in to [Fast mode](/api/docs/guides/fast-mode) at the request level,
727
+ # include the `service_tier=fast` or `service_tier=priority` parameter for
728
+ # Responses or Chat Completions. The response will show `service_tier=priority`
729
+ # regardless of if you specify `service_tier=fast` or `priority` in your
730
+ # request.
723
731
  # - When not set, the default behavior is 'auto'.
724
732
  #
725
733
  # When the `service_tier` parameter is set, the response body will include the
@@ -736,6 +744,7 @@ module OpenAI
736
744
  FLEX = :flex
737
745
  SCALE = :scale
738
746
  PRIORITY = :priority
747
+ FAST = :fast
739
748
 
740
749
  # @!method self.values
741
750
  # @return [Array<Symbol>]
@@ -293,9 +293,13 @@ module OpenAI
293
293
  # will use 'default'.
294
294
  # - If set to 'default', then the request will be processed with the standard
295
295
  # pricing and performance for the selected model.
296
- # - If set to '[flex](https://platform.openai.com/docs/guides/flex-processing)' or
297
- # '[priority](https://openai.com/api-priority-processing/)', then the request
298
- # will be processed with the corresponding service tier.
296
+ # - If set to '[flex](https://platform.openai.com/docs/guides/flex-processing)',
297
+ # then the request will be processed with the Flex Processing service tier.
298
+ # - To opt-in to [Fast mode](/api/docs/guides/fast-mode) at the request level,
299
+ # include the `service_tier=fast` or `service_tier=priority` parameter for
300
+ # Responses or Chat Completions. The response will show `service_tier=priority`
301
+ # regardless of if you specify `service_tier=fast` or `priority` in your
302
+ # request.
299
303
  # - When not set, the default behavior is 'auto'.
300
304
  #
301
305
  # When the `service_tier` parameter is set, the response body will include the
@@ -853,9 +857,13 @@ module OpenAI
853
857
  # will use 'default'.
854
858
  # - If set to 'default', then the request will be processed with the standard
855
859
  # pricing and performance for the selected model.
856
- # - If set to '[flex](https://platform.openai.com/docs/guides/flex-processing)' or
857
- # '[priority](https://openai.com/api-priority-processing/)', then the request
858
- # will be processed with the corresponding service tier.
860
+ # - If set to '[flex](https://platform.openai.com/docs/guides/flex-processing)',
861
+ # then the request will be processed with the Flex Processing service tier.
862
+ # - To opt-in to [Fast mode](/api/docs/guides/fast-mode) at the request level,
863
+ # include the `service_tier=fast` or `service_tier=priority` parameter for
864
+ # Responses or Chat Completions. The response will show `service_tier=priority`
865
+ # regardless of if you specify `service_tier=fast` or `priority` in your
866
+ # request.
859
867
  # - When not set, the default behavior is 'auto'.
860
868
  #
861
869
  # When the `service_tier` parameter is set, the response body will include the
@@ -870,6 +878,7 @@ module OpenAI
870
878
  FLEX = :flex
871
879
  SCALE = :scale
872
880
  PRIORITY = :priority
881
+ FAST = :fast
873
882
 
874
883
  # @!method self.values
875
884
  # @return [Array<Symbol>]
@@ -12,6 +12,13 @@ module OpenAI
12
12
  # @return [Symbol, OpenAI::Models::Realtime::AudioTranscription::Delay, nil]
13
13
  optional :delay, enum: -> { OpenAI::Realtime::AudioTranscription::Delay }
14
14
 
15
+ # @!attribute keywords
16
+ # Words or phrases to guide transcription of the input audio. Supported by
17
+ # `gpt-transcribe` and `gpt-live-transcribe`.
18
+ #
19
+ # @return [Array<String>, nil]
20
+ optional :keywords, OpenAI::Internal::Type::ArrayOf[String]
21
+
15
22
  # @!attribute language
16
23
  # The language of the input audio. Supplying the input language in
17
24
  # [ISO-639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) (e.g. `en`)
@@ -20,11 +27,20 @@ module OpenAI
20
27
  # @return [String, nil]
21
28
  optional :language, String
22
29
 
30
+ # @!attribute languages
31
+ # Possible languages of the input audio, in
32
+ # [ISO-639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.
33
+ # Supported by `gpt-transcribe` and `gpt-live-transcribe`.
34
+ #
35
+ # @return [Array<String>, nil]
36
+ optional :languages, OpenAI::Internal::Type::ArrayOf[String]
37
+
23
38
  # @!attribute model
24
39
  # The model to use for transcription. Current options are `whisper-1`,
25
- # `gpt-4o-mini-transcribe`, `gpt-4o-mini-transcribe-2025-12-15`,
26
- # `gpt-4o-transcribe`, `gpt-4o-transcribe-diarize`, and `gpt-realtime-whisper`.
27
- # Use `gpt-4o-transcribe-diarize` when you need diarization with speaker labels.
40
+ # `gpt-transcribe`, `gpt-live-transcribe`, `gpt-4o-mini-transcribe`,
41
+ # `gpt-4o-mini-transcribe-2025-12-15`, `gpt-4o-transcribe`,
42
+ # `gpt-4o-transcribe-diarize`, and `gpt-realtime-whisper`. Use
43
+ # `gpt-4o-transcribe-diarize` when you need diarization with speaker labels.
28
44
  #
29
45
  # @return [String, Symbol, OpenAI::Models::Realtime::AudioTranscription::Model, nil]
30
46
  optional :model, union: -> { OpenAI::Realtime::AudioTranscription::Model }
@@ -40,15 +56,19 @@ module OpenAI
40
56
  # @return [String, nil]
41
57
  optional :prompt, String
42
58
 
43
- # @!method initialize(delay: nil, language: nil, model: nil, prompt: nil)
59
+ # @!method initialize(delay: nil, keywords: nil, language: nil, languages: nil, model: nil, prompt: nil)
44
60
  # Some parameter documentations has been truncated, see
45
61
  # {OpenAI::Models::Realtime::AudioTranscription} for more details.
46
62
  #
47
63
  # @param delay [Symbol, OpenAI::Models::Realtime::AudioTranscription::Delay] Controls how long the model waits before emitting transcription text.
48
64
  #
65
+ # @param keywords [Array<String>] Words or phrases to guide transcription of the input audio. Supported by `gpt-tr
66
+ #
49
67
  # @param language [String] The language of the input audio. Supplying the input language in
50
68
  #
51
- # @param model [String, Symbol, OpenAI::Models::Realtime::AudioTranscription::Model] The model to use for transcription. Current options are `whisper-1`, `gpt-4o-min
69
+ # @param languages [Array<String>] Possible languages of the input audio, in [ISO-639-1](https://en.wikipedia.org/w
70
+ #
71
+ # @param model [String, Symbol, OpenAI::Models::Realtime::AudioTranscription::Model] The model to use for transcription. Current options are `whisper-1`, `gpt-transc
52
72
  #
53
73
  # @param prompt [String] An optional text to guide the model's style or continue a previous audio
54
74
 
@@ -71,9 +91,10 @@ module OpenAI
71
91
  end
72
92
 
73
93
  # The model to use for transcription. Current options are `whisper-1`,
74
- # `gpt-4o-mini-transcribe`, `gpt-4o-mini-transcribe-2025-12-15`,
75
- # `gpt-4o-transcribe`, `gpt-4o-transcribe-diarize`, and `gpt-realtime-whisper`.
76
- # Use `gpt-4o-transcribe-diarize` when you need diarization with speaker labels.
94
+ # `gpt-transcribe`, `gpt-live-transcribe`, `gpt-4o-mini-transcribe`,
95
+ # `gpt-4o-mini-transcribe-2025-12-15`, `gpt-4o-transcribe`,
96
+ # `gpt-4o-transcribe-diarize`, and `gpt-realtime-whisper`. Use
97
+ # `gpt-4o-transcribe-diarize` when you need diarization with speaker labels.
77
98
  #
78
99
  # @see OpenAI::Models::Realtime::AudioTranscription#model
79
100
  module Model
@@ -83,6 +104,10 @@ module OpenAI
83
104
 
84
105
  variant const: -> { OpenAI::Models::Realtime::AudioTranscription::Model::WHISPER_1 }
85
106
 
107
+ variant const: -> { OpenAI::Models::Realtime::AudioTranscription::Model::GPT_TRANSCRIBE }
108
+
109
+ variant const: -> { OpenAI::Models::Realtime::AudioTranscription::Model::GPT_LIVE_TRANSCRIBE }
110
+
86
111
  variant const: -> { OpenAI::Models::Realtime::AudioTranscription::Model::GPT_4O_MINI_TRANSCRIBE }
87
112
 
88
113
  variant const: -> { OpenAI::Models::Realtime::AudioTranscription::Model::GPT_4O_MINI_TRANSCRIBE_2025_12_15 }
@@ -103,6 +128,8 @@ module OpenAI
103
128
  # @!group
104
129
 
105
130
  WHISPER_1 = :"whisper-1"
131
+ GPT_TRANSCRIBE = :"gpt-transcribe"
132
+ GPT_LIVE_TRANSCRIBE = :"gpt-live-transcribe"
106
133
  GPT_4O_MINI_TRANSCRIBE = :"gpt-4o-mini-transcribe"
107
134
  GPT_4O_MINI_TRANSCRIBE_2025_12_15 = :"gpt-4o-mini-transcribe-2025-12-15"
108
135
  GPT_4O_TRANSCRIBE = :"gpt-4o-transcribe"
@@ -42,6 +42,13 @@ module OpenAI
42
42
  required :usage,
43
43
  union: -> { OpenAI::Realtime::ConversationItemInputAudioTranscriptionCompletedEvent::Usage }
44
44
 
45
+ # @!attribute languages
46
+ # The languages detected in the audio. Returned by `gpt-transcribe`. An empty
47
+ # array indicates that no language could be reliably detected.
48
+ #
49
+ # @return [Array<OpenAI::Models::Audio::TranscriptionLanguage>, nil]
50
+ optional :languages, -> { OpenAI::Internal::Type::ArrayOf[OpenAI::Audio::TranscriptionLanguage] }
51
+
45
52
  # @!attribute logprobs
46
53
  # The log probabilities of the transcription.
47
54
  #
@@ -50,7 +57,7 @@ module OpenAI
50
57
  -> { OpenAI::Internal::Type::ArrayOf[OpenAI::Realtime::LogProbProperties] },
51
58
  nil?: true
52
59
 
53
- # @!method initialize(content_index:, event_id:, item_id:, transcript:, usage:, logprobs: nil, type: :"conversation.item.input_audio_transcription.completed")
60
+ # @!method initialize(content_index:, event_id:, item_id:, transcript:, usage:, languages: nil, logprobs: nil, type: :"conversation.item.input_audio_transcription.completed")
54
61
  # Some parameter documentations has been truncated, see
55
62
  # {OpenAI::Models::Realtime::ConversationItemInputAudioTranscriptionCompletedEvent}
56
63
  # for more details.
@@ -76,6 +83,8 @@ module OpenAI
76
83
  #
77
84
  # @param usage [OpenAI::Models::Realtime::ConversationItemInputAudioTranscriptionCompletedEvent::Usage::TranscriptTextUsageTokens, OpenAI::Models::Realtime::ConversationItemInputAudioTranscriptionCompletedEvent::Usage::TranscriptTextUsageDuration] Usage statistics for the transcription, this is billed according to the ASR mode
78
85
  #
86
+ # @param languages [Array<OpenAI::Models::Audio::TranscriptionLanguage>] The languages detected in the audio. Returned by `gpt-transcribe`. An empty arra
87
+ #
79
88
  # @param logprobs [Array<OpenAI::Models::Realtime::LogProbProperties>, nil] The log probabilities of the transcription.
80
89
  #
81
90
  # @param type [Symbol, :"conversation.item.input_audio_transcription.completed"] The event type, must be