openai 0.72.0 → 0.73.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 (41) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -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/realtime/audio_transcription.rb +35 -8
  10. data/lib/openai/models/realtime/conversation_item_input_audio_transcription_completed_event.rb +10 -1
  11. data/lib/openai/models/webhooks/live_call_incoming_webhook_event.rb +121 -0
  12. data/lib/openai/models/webhooks/realtime_call_incoming_webhook_event.rb +6 -3
  13. data/lib/openai/models/webhooks/unwrap_webhook_event.rb +9 -2
  14. data/lib/openai/resources/audio/transcriptions.rb +12 -4
  15. data/lib/openai/resources/webhooks.rb +1 -1
  16. data/lib/openai/version.rb +1 -1
  17. data/lib/openai.rb +2 -0
  18. data/rbi/openai/models/audio/transcription.rbi +19 -0
  19. data/rbi/openai/models/audio/transcription_create_params.rbi +31 -3
  20. data/rbi/openai/models/audio/transcription_language.rbi +33 -0
  21. data/rbi/openai/models/audio/transcription_text_done_event.rbi +19 -0
  22. data/rbi/openai/models/audio_model.rbi +2 -0
  23. data/rbi/openai/models/realtime/audio_transcription.rbi +50 -9
  24. data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_completed_event.rbi +19 -0
  25. data/rbi/openai/models/webhooks/live_call_incoming_webhook_event.rbi +222 -0
  26. data/rbi/openai/models/webhooks/realtime_call_incoming_webhook_event.rbi +7 -3
  27. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +1 -0
  28. data/rbi/openai/resources/audio/transcriptions.rbi +20 -2
  29. data/rbi/openai/resources/webhooks.rbi +1 -0
  30. data/sig/openai/models/audio/transcription.rbs +9 -0
  31. data/sig/openai/models/audio/transcription_create_params.rbs +14 -0
  32. data/sig/openai/models/audio/transcription_language.rbs +15 -0
  33. data/sig/openai/models/audio/transcription_text_done_event.rbs +9 -0
  34. data/sig/openai/models/audio_model.rbs +2 -0
  35. data/sig/openai/models/realtime/audio_transcription.rbs +18 -0
  36. data/sig/openai/models/realtime/conversation_item_input_audio_transcription_completed_event.rbs +9 -0
  37. data/sig/openai/models/webhooks/live_call_incoming_webhook_event.rbs +90 -0
  38. data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +1 -0
  39. data/sig/openai/resources/audio/transcriptions.rbs +4 -0
  40. data/sig/openai/resources/webhooks.rbs +1 -0
  41. 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: 5ae59f72091b6b08f268b18b04ec1a488da767a4c91dbbed147b4269540eb030
4
+ data.tar.gz: 5bb55fe7fb141c165da0ae3554ff5f0b99d06c2d93f645e94b7b46cf7bdc99a9
5
5
  SHA512:
6
- metadata.gz: 6ecb5fa9bec8fc7cbe7ae3a5a04c5e48effb4afdf84a679a25bc9cbea34b34001a8dc131ef92049f3e8c2ee098be3d32aaab648d1d159f8e472f4f2de39333d7
7
- data.tar.gz: 4c3799a9ae330a796e7f1e37b547d31622a9e53f99fa49bddb92348ed533a14c35c8dca9640f61cac244badf436f90ebbf2eaf5117cf86f240c7c4894326bffb
6
+ metadata.gz: 2520fca73ca0482b4ce9e3ed21fda6978972b1f4ac42417201dd25b0046f066c933fd23fcfb288e9c0bdb9ea0217b8b6e1ae5c60d92886ce4b08a26844c974eb
7
+ data.tar.gz: 78d358f9f9882738392accc9a9f924e23aa83a25e561ae793e521c833972eaaf571540dea83dc61c92cf1ce99be7961e209378692743a5c52d181f948507234f
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.73.0 (2026-07-28)
4
+
5
+ Full Changelog: [v0.72.0...v0.73.0](https://github.com/openai/openai-ruby/compare/v0.72.0...v0.73.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** transcription model updates ([e1a95ab](https://github.com/openai/openai-ruby/commit/e1a95ab63070edb96000a334d5231994d7ca1f65))
10
+
3
11
  ## 0.72.0 (2026-07-23)
4
12
 
5
13
  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.73.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"
@@ -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
@@ -0,0 +1,121 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Webhooks
6
+ class LiveCallIncomingWebhookEvent < OpenAI::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ # The unique ID of the event.
9
+ #
10
+ # @return [String]
11
+ required :id, String
12
+
13
+ # @!attribute created_at
14
+ # The Unix timestamp (in seconds) of when the event was created.
15
+ #
16
+ # @return [Integer]
17
+ required :created_at, Integer
18
+
19
+ # @!attribute data
20
+ # Event data payload.
21
+ #
22
+ # @return [OpenAI::Models::Webhooks::LiveCallIncomingWebhookEvent::Data]
23
+ required :data, -> { OpenAI::Webhooks::LiveCallIncomingWebhookEvent::Data }
24
+
25
+ # @!attribute type
26
+ # The type of the event. Always `live.call.incoming`.
27
+ #
28
+ # @return [Symbol, :"live.call.incoming"]
29
+ required :type, const: :"live.call.incoming"
30
+
31
+ # @!attribute object
32
+ # The object of the event. Always `event`.
33
+ #
34
+ # @return [Symbol, OpenAI::Models::Webhooks::LiveCallIncomingWebhookEvent::Object, nil]
35
+ optional :object, enum: -> { OpenAI::Webhooks::LiveCallIncomingWebhookEvent::Object }
36
+
37
+ # @!method initialize(id:, created_at:, data:, object: nil, type: :"live.call.incoming")
38
+ # Some parameter documentations has been truncated, see
39
+ # {OpenAI::Models::Webhooks::LiveCallIncomingWebhookEvent} for more details.
40
+ #
41
+ # Sent when an incoming API SIP session is available for Live acceptance. The same
42
+ # pending session can also emit `realtime.call.incoming`; the first successful
43
+ # Realtime or Live accept endpoint selects the runtime surface.
44
+ #
45
+ # @param id [String] The unique ID of the event.
46
+ #
47
+ # @param created_at [Integer] The Unix timestamp (in seconds) of when the event was created.
48
+ #
49
+ # @param data [OpenAI::Models::Webhooks::LiveCallIncomingWebhookEvent::Data] Event data payload.
50
+ #
51
+ # @param object [Symbol, OpenAI::Models::Webhooks::LiveCallIncomingWebhookEvent::Object] The object of the event. Always `event`.
52
+ #
53
+ # @param type [Symbol, :"live.call.incoming"] The type of the event. Always `live.call.incoming`.
54
+
55
+ # @see OpenAI::Models::Webhooks::LiveCallIncomingWebhookEvent#data
56
+ class Data < OpenAI::Internal::Type::BaseModel
57
+ # @!attribute session_id
58
+ # The Transceiver `rtc_...` ID of the pending SIP session. The same value appears
59
+ # as `call_id` in `realtime.call.incoming`.
60
+ #
61
+ # @return [String]
62
+ required :session_id, String
63
+
64
+ # @!attribute sip_headers
65
+ # Headers from the SIP Invite.
66
+ #
67
+ # @return [Array<OpenAI::Models::Webhooks::LiveCallIncomingWebhookEvent::Data::SipHeader>]
68
+ required :sip_headers,
69
+ -> { OpenAI::Internal::Type::ArrayOf[OpenAI::Webhooks::LiveCallIncomingWebhookEvent::Data::SipHeader] }
70
+
71
+ # @!method initialize(session_id:, sip_headers:)
72
+ # Some parameter documentations has been truncated, see
73
+ # {OpenAI::Models::Webhooks::LiveCallIncomingWebhookEvent::Data} for more details.
74
+ #
75
+ # Event data payload.
76
+ #
77
+ # @param session_id [String] The Transceiver `rtc_...` ID of the pending SIP session. The same
78
+ #
79
+ # @param sip_headers [Array<OpenAI::Models::Webhooks::LiveCallIncomingWebhookEvent::Data::SipHeader>] Headers from the SIP Invite.
80
+
81
+ class SipHeader < OpenAI::Internal::Type::BaseModel
82
+ # @!attribute name
83
+ # Name of the SIP Header.
84
+ #
85
+ # @return [String]
86
+ required :name, String
87
+
88
+ # @!attribute value
89
+ # Value of the SIP Header.
90
+ #
91
+ # @return [String]
92
+ required :value, String
93
+
94
+ # @!method initialize(name:, value:)
95
+ # Some parameter documentations has been truncated, see
96
+ # {OpenAI::Models::Webhooks::LiveCallIncomingWebhookEvent::Data::SipHeader} for
97
+ # more details.
98
+ #
99
+ # A header from the SIP Invite.
100
+ #
101
+ # @param name [String] Name of the SIP Header.
102
+ #
103
+ # @param value [String] Value of the SIP Header.
104
+ end
105
+ end
106
+
107
+ # The object of the event. Always `event`.
108
+ #
109
+ # @see OpenAI::Models::Webhooks::LiveCallIncomingWebhookEvent#object
110
+ module Object
111
+ extend OpenAI::Internal::Type::Enum
112
+
113
+ EVENT = :event
114
+
115
+ # @!method self.values
116
+ # @return [Array<Symbol>]
117
+ end
118
+ end
119
+ end
120
+ end
121
+ end
@@ -38,7 +38,9 @@ module OpenAI
38
38
  # Some parameter documentations has been truncated, see
39
39
  # {OpenAI::Models::Webhooks::RealtimeCallIncomingWebhookEvent} for more details.
40
40
  #
41
- # Sent when Realtime API Receives a incoming SIP call.
41
+ # Sent when an incoming API SIP session is available for Realtime acceptance. The
42
+ # same pending session can also emit `live.call.incoming`; the first successful
43
+ # Realtime or Live accept endpoint selects the runtime surface.
42
44
  #
43
45
  # @param id [String] The unique ID of the event.
44
46
  #
@@ -53,7 +55,8 @@ module OpenAI
53
55
  # @see OpenAI::Models::Webhooks::RealtimeCallIncomingWebhookEvent#data
54
56
  class Data < OpenAI::Internal::Type::BaseModel
55
57
  # @!attribute call_id
56
- # The unique ID of this call.
58
+ # The Transceiver `rtc_...` ID of the pending SIP session. The same value appears
59
+ # as `session_id` in `live.call.incoming`.
57
60
  #
58
61
  # @return [String]
59
62
  required :call_id, String
@@ -72,7 +75,7 @@ module OpenAI
72
75
  #
73
76
  # Event data payload.
74
77
  #
75
- # @param call_id [String] The unique ID of this call.
78
+ # @param call_id [String] The Transceiver `rtc_...` ID of the pending SIP session. The same
76
79
  #
77
80
  # @param sip_headers [Array<OpenAI::Models::Webhooks::RealtimeCallIncomingWebhookEvent::Data::SipHeader>] Headers from the SIP Invite.
78
81
 
@@ -39,7 +39,14 @@ module OpenAI
39
39
  # Sent when a fine-tuning job has succeeded.
40
40
  variant :"fine_tuning.job.succeeded", -> { OpenAI::Webhooks::FineTuningJobSucceededWebhookEvent }
41
41
 
42
- # Sent when Realtime API Receives a incoming SIP call.
42
+ # Sent when an incoming API SIP session is available for Live acceptance. The
43
+ # same pending session can also emit `realtime.call.incoming`; the first
44
+ # successful Realtime or Live accept endpoint selects the runtime surface.
45
+ variant :"live.call.incoming", -> { OpenAI::Webhooks::LiveCallIncomingWebhookEvent }
46
+
47
+ # Sent when an incoming API SIP session is available for Realtime acceptance.
48
+ # The same pending session can also emit `live.call.incoming`; the first
49
+ # successful Realtime or Live accept endpoint selects the runtime surface.
43
50
  variant :"realtime.call.incoming", -> { OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent }
44
51
 
45
52
  # Sent when a background response has been cancelled.
@@ -55,7 +62,7 @@ module OpenAI
55
62
  variant :"response.incomplete", -> { OpenAI::Webhooks::ResponseIncompleteWebhookEvent }
56
63
 
57
64
  # @!method self.variants
58
- # @return [Array(OpenAI::Models::Webhooks::BatchCancelledWebhookEvent, OpenAI::Models::Webhooks::BatchCompletedWebhookEvent, OpenAI::Models::Webhooks::BatchExpiredWebhookEvent, OpenAI::Models::Webhooks::BatchFailedWebhookEvent, OpenAI::Models::Webhooks::EvalRunCanceledWebhookEvent, OpenAI::Models::Webhooks::EvalRunFailedWebhookEvent, OpenAI::Models::Webhooks::EvalRunSucceededWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobCancelledWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobFailedWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobSucceededWebhookEvent, OpenAI::Models::Webhooks::RealtimeCallIncomingWebhookEvent, OpenAI::Models::Webhooks::ResponseCancelledWebhookEvent, OpenAI::Models::Webhooks::ResponseCompletedWebhookEvent, OpenAI::Models::Webhooks::ResponseFailedWebhookEvent, OpenAI::Models::Webhooks::ResponseIncompleteWebhookEvent)]
65
+ # @return [Array(OpenAI::Models::Webhooks::BatchCancelledWebhookEvent, OpenAI::Models::Webhooks::BatchCompletedWebhookEvent, OpenAI::Models::Webhooks::BatchExpiredWebhookEvent, OpenAI::Models::Webhooks::BatchFailedWebhookEvent, OpenAI::Models::Webhooks::EvalRunCanceledWebhookEvent, OpenAI::Models::Webhooks::EvalRunFailedWebhookEvent, OpenAI::Models::Webhooks::EvalRunSucceededWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobCancelledWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobFailedWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobSucceededWebhookEvent, OpenAI::Models::Webhooks::LiveCallIncomingWebhookEvent, OpenAI::Models::Webhooks::RealtimeCallIncomingWebhookEvent, OpenAI::Models::Webhooks::ResponseCancelledWebhookEvent, OpenAI::Models::Webhooks::ResponseCompletedWebhookEvent, OpenAI::Models::Webhooks::ResponseFailedWebhookEvent, OpenAI::Models::Webhooks::ResponseIncompleteWebhookEvent)]
59
66
  end
60
67
  end
61
68
  end
@@ -16,22 +16,26 @@ module OpenAI
16
16
  # Returns a transcription object in `json`, `diarized_json`, or `verbose_json`
17
17
  # format, or a stream of transcript events.
18
18
  #
19
- # @overload create(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: {})
19
+ # @overload create(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: {})
20
20
  #
21
21
  # @param file [Pathname, StringIO, IO, String, OpenAI::FilePart] The audio file object (not file name) to transcribe, in one of these formats: fl
22
22
  #
23
- # @param model [String, Symbol, OpenAI::Models::AudioModel] ID of the model to use. The options are `gpt-4o-transcribe`, `gpt-4o-mini-transc
23
+ # @param model [String, Symbol, OpenAI::Models::AudioModel] ID of the model to use. The options are `gpt-transcribe`, `gpt-4o-transcribe`, `
24
24
  #
25
25
  # @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
26
26
  #
27
27
  # @param include [Array<Symbol, OpenAI::Models::Audio::TranscriptionInclude>] Additional information to include in the transcription response.
28
28
  #
29
+ # @param keywords [Array<String>] Words or phrases to guide transcription of the input audio. Supported by `gpt-tr
30
+ #
29
31
  # @param known_speaker_names [Array<String>] Optional list of speaker names that correspond to the audio samples provided in
30
32
  #
31
33
  # @param known_speaker_references [Array<String>] Optional list of audio samples (as [data URLs](https://developer.mozilla.org/en-
32
34
  #
33
35
  # @param language [String] The language of the input audio. Supplying the input language in [ISO-639-1](htt
34
36
  #
37
+ # @param languages [Array<String>] Possible languages of the input audio, in [ISO-639-1](https://en.wikipedia.org/w
38
+ #
35
39
  # @param prompt [String] An optional text to guide the model's style or continue a previous audio segment
36
40
  #
37
41
  # @param response_format [Symbol, OpenAI::Models::AudioResponseFormat] The format of the output, in one of these options: `json`, `text`, `srt`, `verbo
@@ -73,22 +77,26 @@ module OpenAI
73
77
  # Returns a transcription object in `json`, `diarized_json`, or `verbose_json`
74
78
  # format, or a stream of transcript events.
75
79
  #
76
- # @overload create_streaming(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: {})
80
+ # @overload create_streaming(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: {})
77
81
  #
78
82
  # @param file [Pathname, StringIO, IO, String, OpenAI::FilePart] The audio file object (not file name) to transcribe, in one of these formats: fl
79
83
  #
80
- # @param model [String, Symbol, OpenAI::Models::AudioModel] ID of the model to use. The options are `gpt-4o-transcribe`, `gpt-4o-mini-transc
84
+ # @param model [String, Symbol, OpenAI::Models::AudioModel] ID of the model to use. The options are `gpt-transcribe`, `gpt-4o-transcribe`, `
81
85
  #
82
86
  # @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
83
87
  #
84
88
  # @param include [Array<Symbol, OpenAI::Models::Audio::TranscriptionInclude>] Additional information to include in the transcription response.
85
89
  #
90
+ # @param keywords [Array<String>] Words or phrases to guide transcription of the input audio. Supported by `gpt-tr
91
+ #
86
92
  # @param known_speaker_names [Array<String>] Optional list of speaker names that correspond to the audio samples provided in
87
93
  #
88
94
  # @param known_speaker_references [Array<String>] Optional list of audio samples (as [data URLs](https://developer.mozilla.org/en-
89
95
  #
90
96
  # @param language [String] The language of the input audio. Supplying the input language in [ISO-639-1](htt
91
97
  #
98
+ # @param languages [Array<String>] Possible languages of the input audio, in [ISO-639-1](https://en.wikipedia.org/w
99
+ #
92
100
  # @param prompt [String] An optional text to guide the model's style or continue a previous audio segment
93
101
  #
94
102
  # @param response_format [Symbol, OpenAI::Models::AudioResponseFormat] The format of the output, in one of these options: `json`, `text`, `srt`, `verbo
@@ -9,7 +9,7 @@ module OpenAI
9
9
  # @param headers [Hash] The webhook headers
10
10
  # @param webhook_secret [String, nil] The webhook secret (optional, will use client webhook secret or ENV["OPENAI_WEBHOOK_SECRET"] if not provided)
11
11
  #
12
- # @return [OpenAI::Models::Webhooks::BatchCancelledWebhookEvent, OpenAI::Models::Webhooks::BatchCompletedWebhookEvent, OpenAI::Models::Webhooks::BatchExpiredWebhookEvent, OpenAI::Models::Webhooks::BatchFailedWebhookEvent, OpenAI::Models::Webhooks::EvalRunCanceledWebhookEvent, OpenAI::Models::Webhooks::EvalRunFailedWebhookEvent, OpenAI::Models::Webhooks::EvalRunSucceededWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobCancelledWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobFailedWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobSucceededWebhookEvent, OpenAI::Models::Webhooks::RealtimeCallIncomingWebhookEvent, OpenAI::Models::Webhooks::ResponseCancelledWebhookEvent, OpenAI::Models::Webhooks::ResponseCompletedWebhookEvent, OpenAI::Models::Webhooks::ResponseFailedWebhookEvent, OpenAI::Models::Webhooks::ResponseIncompleteWebhookEvent]
12
+ # @return [OpenAI::Models::Webhooks::BatchCancelledWebhookEvent, OpenAI::Models::Webhooks::BatchCompletedWebhookEvent, OpenAI::Models::Webhooks::BatchExpiredWebhookEvent, OpenAI::Models::Webhooks::BatchFailedWebhookEvent, OpenAI::Models::Webhooks::EvalRunCanceledWebhookEvent, OpenAI::Models::Webhooks::EvalRunFailedWebhookEvent, OpenAI::Models::Webhooks::EvalRunSucceededWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobCancelledWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobFailedWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobSucceededWebhookEvent, OpenAI::Models::Webhooks::LiveCallIncomingWebhookEvent, OpenAI::Models::Webhooks::RealtimeCallIncomingWebhookEvent, OpenAI::Models::Webhooks::ResponseCancelledWebhookEvent, OpenAI::Models::Webhooks::ResponseCompletedWebhookEvent, OpenAI::Models::Webhooks::ResponseFailedWebhookEvent, OpenAI::Models::Webhooks::ResponseIncompleteWebhookEvent]
13
13
  #
14
14
  # @raise [ArgumentError] if signature verification fails
15
15
  def unwrap(
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module OpenAI
4
- VERSION = "0.72.0"
4
+ VERSION = "0.73.0"
5
5
  end
data/lib/openai.rb CHANGED
@@ -297,6 +297,7 @@ require_relative "openai/models/audio/transcription_create_response"
297
297
  require_relative "openai/models/audio/transcription_diarized"
298
298
  require_relative "openai/models/audio/transcription_diarized_segment"
299
299
  require_relative "openai/models/audio/transcription_include"
300
+ require_relative "openai/models/audio/transcription_language"
300
301
  require_relative "openai/models/audio/transcription_segment"
301
302
  require_relative "openai/models/audio/transcription_stream_event"
302
303
  require_relative "openai/models/audio/transcription_text_delta_event"
@@ -1148,6 +1149,7 @@ require_relative "openai/models/webhooks/eval_run_succeeded_webhook_event"
1148
1149
  require_relative "openai/models/webhooks/fine_tuning_job_cancelled_webhook_event"
1149
1150
  require_relative "openai/models/webhooks/fine_tuning_job_failed_webhook_event"
1150
1151
  require_relative "openai/models/webhooks/fine_tuning_job_succeeded_webhook_event"
1152
+ require_relative "openai/models/webhooks/live_call_incoming_webhook_event"
1151
1153
  require_relative "openai/models/webhooks/realtime_call_incoming_webhook_event"
1152
1154
  require_relative "openai/models/webhooks/response_cancelled_webhook_event"
1153
1155
  require_relative "openai/models/webhooks/response_completed_webhook_event"