assemblyai 1.0.2 → 1.1.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.
@@ -3,8 +3,8 @@
3
3
  require_relative "../../requests"
4
4
  require_relative "types/transcript_status"
5
5
  require_relative "types/transcript_list"
6
- require_relative "types/speech_model"
7
6
  require_relative "types/transcript_language_code"
7
+ require_relative "types/speech_model"
8
8
  require_relative "types/transcript_boost_param"
9
9
  require_relative "types/redact_pii_audio_quality"
10
10
  require_relative "types/pii_policy"
@@ -22,26 +22,34 @@ require "async"
22
22
 
23
23
  module AssemblyAI
24
24
  class TranscriptsClient
25
+ # @return [AssemblyAI::RequestClient]
25
26
  attr_reader :request_client
26
27
 
27
- # @param request_client [RequestClient]
28
- # @return [TranscriptsClient]
28
+ # @param request_client [AssemblyAI::RequestClient]
29
+ # @return [AssemblyAI::TranscriptsClient]
29
30
  def initialize(request_client:)
30
- # @type [RequestClient]
31
31
  @request_client = request_client
32
32
  end
33
33
 
34
34
  # Retrieve a list of transcripts you created.
35
- # Transcripts are sorted from newest to oldest. The previous URL always points to a page with older transcripts.
35
+ # Transcripts are sorted from newest to oldest. The previous URL always points to
36
+ # a page with older transcripts.
36
37
  #
37
- # @param limit [Integer] Maximum amount of transcripts to retrieve
38
- # @param status [Transcripts::TranscriptStatus] Filter by transcript status
38
+ # @param limit [Long] Maximum amount of transcripts to retrieve
39
+ # @param status [AssemblyAI::Transcripts::TranscriptStatus] Filter by transcript status
39
40
  # @param created_on [String] Only get transcripts created on this date
40
41
  # @param before_id [String] Get transcripts that were created before this transcript ID
41
42
  # @param after_id [String] Get transcripts that were created after this transcript ID
42
43
  # @param throttled_only [Boolean] Only get throttled transcripts, overrides the status filter
43
- # @param request_options [RequestOptions]
44
- # @return [Transcripts::TranscriptList]
44
+ # @param request_options [AssemblyAI::RequestOptions]
45
+ # @return [AssemblyAI::Transcripts::TranscriptList]
46
+ # @example
47
+ # api = AssemblyAI::Client.new(
48
+ # environment: AssemblyAI::Environment::DEFAULT,
49
+ # base_url: "https://api.example.com",
50
+ # api_key: "YOUR_API_KEY"
51
+ # )
52
+ # api.transcripts.list
45
53
  def list(limit: nil, status: nil, created_on: nil, before_id: nil, after_id: nil, throttled_only: nil,
46
54
  request_options: nil)
47
55
  response = @request_client.conn.get do |req|
@@ -59,66 +67,111 @@ module AssemblyAI
59
67
  }.compact
60
68
  req.url "#{@request_client.get_url(request_options: request_options)}/v2/transcript"
61
69
  end
62
- Transcripts::TranscriptList.from_json(json_object: response.body)
70
+ AssemblyAI::Transcripts::TranscriptList.from_json(json_object: response.body)
63
71
  end
64
72
 
65
- # Create a transcript from an audio or video file that is accessible via a URL.
73
+ # Create a transcript from a media file that is accessible via a URL.
66
74
  #
67
- # @param speech_model [Transcripts::SpeechModel]
68
- # @param language_code [Transcripts::TranscriptLanguageCode]
75
+ # @param language_code [AssemblyAI::Transcripts::TranscriptLanguageCode]
76
+ # @param language_detection [Boolean] Enable [Automatic language
77
+ # www.assemblyai.com/docs/models/speech-recognition#automatic-language-detection),
78
+ # either true or false.
79
+ # @param language_confidence_threshold [Float] The confidence threshold for the automatically detected language.
80
+ # An error will be returned if the language confidence is below this threshold.
81
+ # Defaults to 0.
82
+ # @param speech_model [AssemblyAI::Transcripts::SpeechModel]
69
83
  # @param punctuate [Boolean] Enable Automatic Punctuation, can be true or false
70
84
  # @param format_text [Boolean] Enable Text Formatting, can be true or false
71
- # @param dual_channel [Boolean] Enable [Dual Channel](https://www.assemblyai.com/docs/models/speech-recognition#dual-channel-transcription) transcription, can be true or false.
72
- # @param webhook_url [String] The URL to which AssemblyAI send webhooks upon trancription completion
73
- # @param webhook_auth_header_name [String] The header name which should be sent back with webhook calls
74
- # @param webhook_auth_header_value [String] Specify a header name and value to send back with a webhook call for added security
75
- # @param auto_highlights [Boolean] Whether Key Phrases is enabled, either true or false
85
+ # @param disfluencies [Boolean] Transcribe Filler Words, like "umm", in your media file; can be true or false
86
+ # @param dual_channel [Boolean] Enable [Dual
87
+ # ://www.assemblyai.com/docs/models/speech-recognition#dual-channel-transcription)
88
+ # transcription, can be true or false.
89
+ # @param webhook_url [String] The URL to which we send webhook requests. We sends two different types of
90
+ # webhook requests. One request when a transcript is completed or failed, and one
91
+ # request when the redacted audio is ready if redact_pii_audio is enabled.
92
+ # @param webhook_auth_header_name [String] The header name to be sent with the transcript completed or failed webhook
93
+ # requests
94
+ # @param webhook_auth_header_value [String] The header value to send back with the transcript completed or failed webhook
95
+ # requests for added security
96
+ # @param auto_highlights [Boolean] Enable Key Phrases, either true or false
76
97
  # @param audio_start_from [Integer] The point in time, in milliseconds, to begin transcribing in your media file
77
98
  # @param audio_end_at [Integer] The point in time, in milliseconds, to stop transcribing in your media file
78
99
  # @param word_boost [Array<String>] The list of custom vocabulary to boost transcription probability for
79
- # @param boost_param [Transcripts::TranscriptBoostParam] The word boost parameter value
100
+ # @param boost_param [AssemblyAI::Transcripts::TranscriptBoostParam] How much to boost specified words
80
101
  # @param filter_profanity [Boolean] Filter profanity from the transcribed text, can be true or false
81
- # @param redact_pii [Boolean] Redact PII from the transcribed text using the Redact PII model, can be true or false
82
- # @param redact_pii_audio [Boolean] Generate a copy of the original media file with spoken PII "beeped" out, can be true or false. See [PII redaction](https://www.assemblyai.com/docs/models/pii-redaction) for more details.
83
- # @param redact_pii_audio_quality [Transcripts::RedactPiiAudioQuality] Controls the filetype of the audio created by redact_pii_audio. Currently supports mp3 (default) and wav. See [PII redaction](https://www.assemblyai.com/docs/models/pii-redaction) for more details.
84
- # @param redact_pii_policies [Array<Transcripts::PiiPolicy>] The list of PII Redaction policies to enable. See [PII redaction](https://www.assemblyai.com/docs/models/pii-redaction) for more details.
85
- # @param redact_pii_sub [Transcripts::SubstitutionPolicy]
86
- # @param speaker_labels [Boolean] Enable [Speaker diarization](https://www.assemblyai.com/docs/models/speaker-diarization), can be true or false
87
- # @param speakers_expected [Integer] Tells the speaker label model how many speakers it should attempt to identify, up to 10. See [Speaker diarization](https://www.assemblyai.com/docs/models/speaker-diarization) for more details.
88
- # @param content_safety [Boolean] Enable [Content Moderation](https://www.assemblyai.com/docs/models/content-moderation), can be true or false
89
- # @param content_safety_confidence [Integer] The confidence threshold for content moderation. Values must be between 25 and 100.
90
- # @param iab_categories [Boolean] Enable [Topic Detection](https://www.assemblyai.com/docs/models/topic-detection), can be true or false
91
- # @param language_detection [Boolean] Whether [Automatic language detection](https://www.assemblyai.com/docs/models/speech-recognition#automatic-language-detection) was enabled in the transcription request, either true or false.
92
- # @param custom_spelling [Array<Hash>] Customize how words are spelled and formatted using to and from valuesRequest of type Array<Transcripts::TranscriptCustomSpelling>, as a Hash
102
+ # @param redact_pii [Boolean] Redact PII from the transcribed text using the Redact PII model, can be true or
103
+ # false
104
+ # @param redact_pii_audio [Boolean] Generate a copy of the original media file with spoken PII "beeped" out, can be
105
+ # true or false. See [PII
106
+ # redaction](https://www.assemblyai.com/docs/models/pii-redaction) for more
107
+ # details.
108
+ # @param redact_pii_audio_quality [AssemblyAI::Transcripts::RedactPiiAudioQuality] Controls the filetype of the audio created by redact_pii_audio. Currently
109
+ # supports mp3 (default) and wav. See [PII
110
+ # redaction](https://www.assemblyai.com/docs/models/pii-redaction) for more
111
+ # details.
112
+ # @param redact_pii_policies [Array<AssemblyAI::Transcripts::PiiPolicy>] The list of PII Redaction policies to enable. See [PII
113
+ # redaction](https://www.assemblyai.com/docs/models/pii-redaction) for more
114
+ # details.
115
+ # @param redact_pii_sub [AssemblyAI::Transcripts::SubstitutionPolicy]
116
+ # @param speaker_labels [Boolean] Enable [Speaker
117
+ # diarization](https://www.assemblyai.com/docs/models/speaker-diarization), can be
118
+ # true or false
119
+ # @param speakers_expected [Integer] Tells the speaker label model how many speakers it should attempt to identify,
120
+ # up to 10. See [Speaker
121
+ # diarization](https://www.assemblyai.com/docs/models/speaker-diarization) for
122
+ # more details.
123
+ # @param content_safety [Boolean] Enable [Content
124
+ # Moderation](https://www.assemblyai.com/docs/models/content-moderation), can be
125
+ # true or false
126
+ # @param content_safety_confidence [Integer] The confidence threshold for the Content Moderation model. Values must be
127
+ # between 25 and 100.
128
+ # @param iab_categories [Boolean] Enable [Topic
129
+ # Detection](https://www.assemblyai.com/docs/models/topic-detection), can be true
130
+ # or false
131
+ # @param custom_spelling [Array<Hash>] Customize how words are spelled and formatted using to and from valuesRequest of type Array<AssemblyAI::Transcripts::TranscriptCustomSpelling>, as a Hash
93
132
  # * :from (Array<String>)
94
133
  # * :to (String)
95
- # @param disfluencies [Boolean] Transcribe Filler Words, like "umm", in your media file; can be true or false
96
- # @param sentiment_analysis [Boolean] Enable [Sentiment Analysis](https://www.assemblyai.com/docs/models/sentiment-analysis), can be true or false
97
- # @param auto_chapters [Boolean] Enable [Auto Chapters](https://www.assemblyai.com/docs/models/auto-chapters), can be true or false
98
- # @param entity_detection [Boolean] Enable [Entity Detection](https://www.assemblyai.com/docs/models/entity-detection), can be true or false
134
+ # @param sentiment_analysis [Boolean] Enable [Sentiment
135
+ # Analysis](https://www.assemblyai.com/docs/models/sentiment-analysis), can be
136
+ # true or false
137
+ # @param auto_chapters [Boolean] Enable [Auto Chapters](https://www.assemblyai.com/docs/models/auto-chapters),
138
+ # can be true or false
139
+ # @param entity_detection [Boolean] Enable [Entity
140
+ # Detection](https://www.assemblyai.com/docs/models/entity-detection), can be true
141
+ # or false
99
142
  # @param speech_threshold [Float] Reject audio files that contain less than this fraction of speech.
100
- # Valid values are in the range [0, 1] inclusive.
101
- # @param summarization [Boolean] Enable [Summarization](https://www.assemblyai.com/docs/models/summarization), can be true or false
102
- # @param summary_model [Transcripts::SummaryModel] The model to summarize the transcript
103
- # @param summary_type [Transcripts::SummaryType] The type of summary
104
- # @param custom_topics [Boolean] Whether custom topics is enabled, either true or false
105
- # @param topics [Array<String>] The list of custom topics provided, if custom topics is enabled
106
- # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
143
+ # Valid values are in the range [0, 1] inclusive.
144
+ # @param summarization [Boolean] Enable [Summarization](https://www.assemblyai.com/docs/models/summarization),
145
+ # can be true or false
146
+ # @param summary_model [AssemblyAI::Transcripts::SummaryModel] The model to summarize the transcript
147
+ # @param summary_type [AssemblyAI::Transcripts::SummaryType] The type of summary
148
+ # @param custom_topics [Boolean] Enable custom topics, either true or false
149
+ # @param topics [Array<String>] The list of custom topics
107
150
  # @param audio_url [String] The URL of the audio or video file to transcribe.
108
- # @param request_options [RequestOptions]
109
- # @return [Transcripts::Transcript]
110
- def submit(audio_url:, speech_model: nil, language_code: nil, punctuate: nil, format_text: nil, dual_channel: nil,
111
- webhook_url: nil, webhook_auth_header_name: nil, webhook_auth_header_value: nil, auto_highlights: nil, audio_start_from: nil, audio_end_at: nil, word_boost: nil, boost_param: nil, filter_profanity: nil, redact_pii: nil, redact_pii_audio: nil, redact_pii_audio_quality: nil, redact_pii_policies: nil, redact_pii_sub: nil, speaker_labels: nil, speakers_expected: nil, content_safety: nil, content_safety_confidence: nil, iab_categories: nil, language_detection: nil, custom_spelling: nil, disfluencies: nil, sentiment_analysis: nil, auto_chapters: nil, entity_detection: nil, speech_threshold: nil, summarization: nil, summary_model: nil, summary_type: nil, custom_topics: nil, topics: nil, additional_properties: nil, request_options: nil)
151
+ # @param request_options [AssemblyAI::RequestOptions]
152
+ # @return [AssemblyAI::Transcripts::Transcript]
153
+ # @example
154
+ # api = AssemblyAI::Client.new(
155
+ # environment: AssemblyAI::Environment::DEFAULT,
156
+ # base_url: "https://api.example.com",
157
+ # api_key: "YOUR_API_KEY"
158
+ # )
159
+ # api.transcripts.submit(audio_url: "https://github.com/AssemblyAI-Examples/audio-examples/raw/main/20230607_me_canadian_wildfires.mp3")
160
+ def submit(audio_url:, language_code: nil, language_detection: nil, language_confidence_threshold: nil, speech_model: nil,
161
+ punctuate: nil, format_text: nil, disfluencies: nil, dual_channel: nil, webhook_url: nil, webhook_auth_header_name: nil, webhook_auth_header_value: nil, auto_highlights: nil, audio_start_from: nil, audio_end_at: nil, word_boost: nil, boost_param: nil, filter_profanity: nil, redact_pii: nil, redact_pii_audio: nil, redact_pii_audio_quality: nil, redact_pii_policies: nil, redact_pii_sub: nil, speaker_labels: nil, speakers_expected: nil, content_safety: nil, content_safety_confidence: nil, iab_categories: nil, custom_spelling: nil, sentiment_analysis: nil, auto_chapters: nil, entity_detection: nil, speech_threshold: nil, summarization: nil, summary_model: nil, summary_type: nil, custom_topics: nil, topics: nil, request_options: nil)
112
162
  response = @request_client.conn.post do |req|
113
163
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
114
164
  req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
115
165
  req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
116
166
  req.body = {
117
167
  **(request_options&.additional_body_parameters || {}),
118
- speech_model: speech_model,
119
168
  language_code: language_code,
169
+ language_detection: language_detection,
170
+ language_confidence_threshold: language_confidence_threshold,
171
+ speech_model: speech_model,
120
172
  punctuate: punctuate,
121
173
  format_text: format_text,
174
+ disfluencies: disfluencies,
122
175
  dual_channel: dual_channel,
123
176
  webhook_url: webhook_url,
124
177
  webhook_auth_header_name: webhook_auth_header_name,
@@ -139,9 +192,7 @@ module AssemblyAI
139
192
  content_safety: content_safety,
140
193
  content_safety_confidence: content_safety_confidence,
141
194
  iab_categories: iab_categories,
142
- language_detection: language_detection,
143
195
  custom_spelling: custom_spelling,
144
- disfluencies: disfluencies,
145
196
  sentiment_analysis: sentiment_analysis,
146
197
  auto_chapters: auto_chapters,
147
198
  entity_detection: entity_detection,
@@ -151,19 +202,26 @@ module AssemblyAI
151
202
  summary_type: summary_type,
152
203
  custom_topics: custom_topics,
153
204
  topics: topics,
154
- additional_properties: additional_properties,
155
205
  audio_url: audio_url
156
206
  }.compact
157
207
  req.url "#{@request_client.get_url(request_options: request_options)}/v2/transcript"
158
208
  end
159
- Transcripts::Transcript.from_json(json_object: response.body)
209
+ AssemblyAI::Transcripts::Transcript.from_json(json_object: response.body)
160
210
  end
161
211
 
162
- # Get the transcript resource. The transcript is ready when the "status" is "completed".
212
+ # Get the transcript resource. The transcript is ready when the "status" is
213
+ # "completed".
163
214
  #
164
215
  # @param transcript_id [String] ID of the transcript
165
- # @param request_options [RequestOptions]
166
- # @return [Transcripts::Transcript]
216
+ # @param request_options [AssemblyAI::RequestOptions]
217
+ # @return [AssemblyAI::Transcripts::Transcript]
218
+ # @example
219
+ # api = AssemblyAI::Client.new(
220
+ # environment: AssemblyAI::Environment::DEFAULT,
221
+ # base_url: "https://api.example.com",
222
+ # api_key: "YOUR_API_KEY"
223
+ # )
224
+ # api.transcripts.get(transcript_id: "transcript_id")
167
225
  def get(transcript_id:, request_options: nil)
168
226
  response = @request_client.conn.get do |req|
169
227
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
@@ -171,14 +229,21 @@ module AssemblyAI
171
229
  req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
172
230
  req.url "#{@request_client.get_url(request_options: request_options)}/v2/transcript/#{transcript_id}"
173
231
  end
174
- Transcripts::Transcript.from_json(json_object: response.body)
232
+ AssemblyAI::Transcripts::Transcript.from_json(json_object: response.body)
175
233
  end
176
234
 
177
- # Delete the transcript
235
+ # Remove the data from the transcript and mark it as deleted.
178
236
  #
179
237
  # @param transcript_id [String] ID of the transcript
180
- # @param request_options [RequestOptions]
181
- # @return [Transcripts::Transcript]
238
+ # @param request_options [AssemblyAI::RequestOptions]
239
+ # @return [AssemblyAI::Transcripts::Transcript]
240
+ # @example
241
+ # api = AssemblyAI::Client.new(
242
+ # environment: AssemblyAI::Environment::DEFAULT,
243
+ # base_url: "https://api.example.com",
244
+ # api_key: "YOUR_API_KEY"
245
+ # )
246
+ # api.transcripts.delete(transcript_id: "{transcript_id}")
182
247
  def delete(transcript_id:, request_options: nil)
183
248
  response = @request_client.conn.delete do |req|
184
249
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
@@ -186,15 +251,16 @@ module AssemblyAI
186
251
  req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
187
252
  req.url "#{@request_client.get_url(request_options: request_options)}/v2/transcript/#{transcript_id}"
188
253
  end
189
- Transcripts::Transcript.from_json(json_object: response.body)
254
+ AssemblyAI::Transcripts::Transcript.from_json(json_object: response.body)
190
255
  end
191
256
 
192
- # Export your transcript in SRT or VTT format, to be plugged into a video player for subtitles and closed captions.
257
+ # Export your transcript in SRT or VTT format to use with a video player for
258
+ # subtitles and closed captions.
193
259
  #
194
260
  # @param transcript_id [String] ID of the transcript
195
- # @param subtitle_format [Transcripts::SubtitleFormat] The format of the captions
261
+ # @param subtitle_format [AssemblyAI::Transcripts::SubtitleFormat] The format of the captions
196
262
  # @param chars_per_caption [Integer] The maximum number of characters per caption
197
- # @param request_options [RequestOptions]
263
+ # @param request_options [AssemblyAI::RequestOptions]
198
264
  # @return [String]
199
265
  def get_subtitles(transcript_id:, subtitle_format:, chars_per_caption: nil, request_options: nil)
200
266
  response = @request_client.conn.get do |req|
@@ -210,11 +276,20 @@ module AssemblyAI
210
276
  response.body
211
277
  end
212
278
 
213
- # Get the transcript split by sentences. The API will attempt to semantically segment the transcript into sentences to create more reader-friendly transcripts.
279
+ # Get the transcript split by sentences. The API will attempt to semantically
280
+ # segment the transcript into sentences to create more reader-friendly
281
+ # transcripts.
214
282
  #
215
283
  # @param transcript_id [String] ID of the transcript
216
- # @param request_options [RequestOptions]
217
- # @return [Transcripts::SentencesResponse]
284
+ # @param request_options [AssemblyAI::RequestOptions]
285
+ # @return [AssemblyAI::Transcripts::SentencesResponse]
286
+ # @example
287
+ # api = AssemblyAI::Client.new(
288
+ # environment: AssemblyAI::Environment::DEFAULT,
289
+ # base_url: "https://api.example.com",
290
+ # api_key: "YOUR_API_KEY"
291
+ # )
292
+ # api.transcripts.get_sentences(transcript_id: "transcript_id")
218
293
  def get_sentences(transcript_id:, request_options: nil)
219
294
  response = @request_client.conn.get do |req|
220
295
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
@@ -222,14 +297,23 @@ module AssemblyAI
222
297
  req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
223
298
  req.url "#{@request_client.get_url(request_options: request_options)}/v2/transcript/#{transcript_id}/sentences"
224
299
  end
225
- Transcripts::SentencesResponse.from_json(json_object: response.body)
300
+ AssemblyAI::Transcripts::SentencesResponse.from_json(json_object: response.body)
226
301
  end
227
302
 
228
- # Get the transcript split by paragraphs. The API will attempt to semantically segment your transcript into paragraphs to create more reader-friendly transcripts.
303
+ # Get the transcript split by paragraphs. The API will attempt to semantically
304
+ # segment your transcript into paragraphs to create more reader-friendly
305
+ # transcripts.
229
306
  #
230
307
  # @param transcript_id [String] ID of the transcript
231
- # @param request_options [RequestOptions]
232
- # @return [Transcripts::ParagraphsResponse]
308
+ # @param request_options [AssemblyAI::RequestOptions]
309
+ # @return [AssemblyAI::Transcripts::ParagraphsResponse]
310
+ # @example
311
+ # api = AssemblyAI::Client.new(
312
+ # environment: AssemblyAI::Environment::DEFAULT,
313
+ # base_url: "https://api.example.com",
314
+ # api_key: "YOUR_API_KEY"
315
+ # )
316
+ # api.transcripts.get_paragraphs(transcript_id: "transcript_id")
233
317
  def get_paragraphs(transcript_id:, request_options: nil)
234
318
  response = @request_client.conn.get do |req|
235
319
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
@@ -237,15 +321,16 @@ module AssemblyAI
237
321
  req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
238
322
  req.url "#{@request_client.get_url(request_options: request_options)}/v2/transcript/#{transcript_id}/paragraphs"
239
323
  end
240
- Transcripts::ParagraphsResponse.from_json(json_object: response.body)
324
+ AssemblyAI::Transcripts::ParagraphsResponse.from_json(json_object: response.body)
241
325
  end
242
326
 
243
- # Search through the transcript for a specific set of keywords. You can search for individual words, numbers, or phrases containing up to five words or numbers.
327
+ # Search through the transcript for keywords. You can search for individual words,
328
+ # numbers, or phrases containing up to five words or numbers.
244
329
  #
245
330
  # @param transcript_id [String] ID of the transcript
246
331
  # @param words [String] Keywords to search for
247
- # @param request_options [RequestOptions]
248
- # @return [Transcripts::WordSearchResponse]
332
+ # @param request_options [AssemblyAI::RequestOptions]
333
+ # @return [AssemblyAI::Transcripts::WordSearchResponse]
249
334
  def word_search(transcript_id:, words: nil, request_options: nil)
250
335
  response = @request_client.conn.get do |req|
251
336
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
@@ -254,14 +339,22 @@ module AssemblyAI
254
339
  req.params = { **(request_options&.additional_query_parameters || {}), "words": words }.compact
255
340
  req.url "#{@request_client.get_url(request_options: request_options)}/v2/transcript/#{transcript_id}/word-search"
256
341
  end
257
- Transcripts::WordSearchResponse.from_json(json_object: response.body)
342
+ AssemblyAI::Transcripts::WordSearchResponse.from_json(json_object: response.body)
258
343
  end
259
344
 
260
- # Retrieve the redacted audio object containing the status and URL to the redacted audio.
345
+ # Retrieve the redacted audio object containing the status and URL to the redacted
346
+ # audio.
261
347
  #
262
348
  # @param transcript_id [String] ID of the transcript
263
- # @param request_options [RequestOptions]
264
- # @return [Transcripts::RedactedAudioResponse]
349
+ # @param request_options [AssemblyAI::RequestOptions]
350
+ # @return [AssemblyAI::Transcripts::RedactedAudioResponse]
351
+ # @example
352
+ # api = AssemblyAI::Client.new(
353
+ # environment: AssemblyAI::Environment::DEFAULT,
354
+ # base_url: "https://api.example.com",
355
+ # api_key: "YOUR_API_KEY"
356
+ # )
357
+ # api.transcripts.get_redacted_audio(transcript_id: "transcript_id")
265
358
  def get_redacted_audio(transcript_id:, request_options: nil)
266
359
  response = @request_client.conn.get do |req|
267
360
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
@@ -269,31 +362,39 @@ module AssemblyAI
269
362
  req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
270
363
  req.url "#{@request_client.get_url(request_options: request_options)}/v2/transcript/#{transcript_id}/redacted-audio"
271
364
  end
272
- Transcripts::RedactedAudioResponse.from_json(json_object: response.body)
365
+ AssemblyAI::Transcripts::RedactedAudioResponse.from_json(json_object: response.body)
273
366
  end
274
367
  end
275
368
 
276
369
  class AsyncTranscriptsClient
370
+ # @return [AssemblyAI::AsyncRequestClient]
277
371
  attr_reader :request_client
278
372
 
279
- # @param request_client [AsyncRequestClient]
280
- # @return [AsyncTranscriptsClient]
373
+ # @param request_client [AssemblyAI::AsyncRequestClient]
374
+ # @return [AssemblyAI::AsyncTranscriptsClient]
281
375
  def initialize(request_client:)
282
- # @type [AsyncRequestClient]
283
376
  @request_client = request_client
284
377
  end
285
378
 
286
379
  # Retrieve a list of transcripts you created.
287
- # Transcripts are sorted from newest to oldest. The previous URL always points to a page with older transcripts.
380
+ # Transcripts are sorted from newest to oldest. The previous URL always points to
381
+ # a page with older transcripts.
288
382
  #
289
- # @param limit [Integer] Maximum amount of transcripts to retrieve
290
- # @param status [Transcripts::TranscriptStatus] Filter by transcript status
383
+ # @param limit [Long] Maximum amount of transcripts to retrieve
384
+ # @param status [AssemblyAI::Transcripts::TranscriptStatus] Filter by transcript status
291
385
  # @param created_on [String] Only get transcripts created on this date
292
386
  # @param before_id [String] Get transcripts that were created before this transcript ID
293
387
  # @param after_id [String] Get transcripts that were created after this transcript ID
294
388
  # @param throttled_only [Boolean] Only get throttled transcripts, overrides the status filter
295
- # @param request_options [RequestOptions]
296
- # @return [Transcripts::TranscriptList]
389
+ # @param request_options [AssemblyAI::RequestOptions]
390
+ # @return [AssemblyAI::Transcripts::TranscriptList]
391
+ # @example
392
+ # api = AssemblyAI::Client.new(
393
+ # environment: AssemblyAI::Environment::DEFAULT,
394
+ # base_url: "https://api.example.com",
395
+ # api_key: "YOUR_API_KEY"
396
+ # )
397
+ # api.transcripts.list
297
398
  def list(limit: nil, status: nil, created_on: nil, before_id: nil, after_id: nil, throttled_only: nil,
298
399
  request_options: nil)
299
400
  Async do
@@ -312,57 +413,99 @@ module AssemblyAI
312
413
  }.compact
313
414
  req.url "#{@request_client.get_url(request_options: request_options)}/v2/transcript"
314
415
  end
315
- Transcripts::TranscriptList.from_json(json_object: response.body)
416
+ AssemblyAI::Transcripts::TranscriptList.from_json(json_object: response.body)
316
417
  end
317
418
  end
318
419
 
319
- # Create a transcript from an audio or video file that is accessible via a URL.
420
+ # Create a transcript from a media file that is accessible via a URL.
320
421
  #
321
- # @param speech_model [Transcripts::SpeechModel]
322
- # @param language_code [Transcripts::TranscriptLanguageCode]
422
+ # @param language_code [AssemblyAI::Transcripts::TranscriptLanguageCode]
423
+ # @param language_detection [Boolean] Enable [Automatic language
424
+ # www.assemblyai.com/docs/models/speech-recognition#automatic-language-detection),
425
+ # either true or false.
426
+ # @param language_confidence_threshold [Float] The confidence threshold for the automatically detected language.
427
+ # An error will be returned if the language confidence is below this threshold.
428
+ # Defaults to 0.
429
+ # @param speech_model [AssemblyAI::Transcripts::SpeechModel]
323
430
  # @param punctuate [Boolean] Enable Automatic Punctuation, can be true or false
324
431
  # @param format_text [Boolean] Enable Text Formatting, can be true or false
325
- # @param dual_channel [Boolean] Enable [Dual Channel](https://www.assemblyai.com/docs/models/speech-recognition#dual-channel-transcription) transcription, can be true or false.
326
- # @param webhook_url [String] The URL to which AssemblyAI send webhooks upon trancription completion
327
- # @param webhook_auth_header_name [String] The header name which should be sent back with webhook calls
328
- # @param webhook_auth_header_value [String] Specify a header name and value to send back with a webhook call for added security
329
- # @param auto_highlights [Boolean] Whether Key Phrases is enabled, either true or false
432
+ # @param disfluencies [Boolean] Transcribe Filler Words, like "umm", in your media file; can be true or false
433
+ # @param dual_channel [Boolean] Enable [Dual
434
+ # ://www.assemblyai.com/docs/models/speech-recognition#dual-channel-transcription)
435
+ # transcription, can be true or false.
436
+ # @param webhook_url [String] The URL to which we send webhook requests. We sends two different types of
437
+ # webhook requests. One request when a transcript is completed or failed, and one
438
+ # request when the redacted audio is ready if redact_pii_audio is enabled.
439
+ # @param webhook_auth_header_name [String] The header name to be sent with the transcript completed or failed webhook
440
+ # requests
441
+ # @param webhook_auth_header_value [String] The header value to send back with the transcript completed or failed webhook
442
+ # requests for added security
443
+ # @param auto_highlights [Boolean] Enable Key Phrases, either true or false
330
444
  # @param audio_start_from [Integer] The point in time, in milliseconds, to begin transcribing in your media file
331
445
  # @param audio_end_at [Integer] The point in time, in milliseconds, to stop transcribing in your media file
332
446
  # @param word_boost [Array<String>] The list of custom vocabulary to boost transcription probability for
333
- # @param boost_param [Transcripts::TranscriptBoostParam] The word boost parameter value
447
+ # @param boost_param [AssemblyAI::Transcripts::TranscriptBoostParam] How much to boost specified words
334
448
  # @param filter_profanity [Boolean] Filter profanity from the transcribed text, can be true or false
335
- # @param redact_pii [Boolean] Redact PII from the transcribed text using the Redact PII model, can be true or false
336
- # @param redact_pii_audio [Boolean] Generate a copy of the original media file with spoken PII "beeped" out, can be true or false. See [PII redaction](https://www.assemblyai.com/docs/models/pii-redaction) for more details.
337
- # @param redact_pii_audio_quality [Transcripts::RedactPiiAudioQuality] Controls the filetype of the audio created by redact_pii_audio. Currently supports mp3 (default) and wav. See [PII redaction](https://www.assemblyai.com/docs/models/pii-redaction) for more details.
338
- # @param redact_pii_policies [Array<Transcripts::PiiPolicy>] The list of PII Redaction policies to enable. See [PII redaction](https://www.assemblyai.com/docs/models/pii-redaction) for more details.
339
- # @param redact_pii_sub [Transcripts::SubstitutionPolicy]
340
- # @param speaker_labels [Boolean] Enable [Speaker diarization](https://www.assemblyai.com/docs/models/speaker-diarization), can be true or false
341
- # @param speakers_expected [Integer] Tells the speaker label model how many speakers it should attempt to identify, up to 10. See [Speaker diarization](https://www.assemblyai.com/docs/models/speaker-diarization) for more details.
342
- # @param content_safety [Boolean] Enable [Content Moderation](https://www.assemblyai.com/docs/models/content-moderation), can be true or false
343
- # @param content_safety_confidence [Integer] The confidence threshold for content moderation. Values must be between 25 and 100.
344
- # @param iab_categories [Boolean] Enable [Topic Detection](https://www.assemblyai.com/docs/models/topic-detection), can be true or false
345
- # @param language_detection [Boolean] Whether [Automatic language detection](https://www.assemblyai.com/docs/models/speech-recognition#automatic-language-detection) was enabled in the transcription request, either true or false.
346
- # @param custom_spelling [Array<Hash>] Customize how words are spelled and formatted using to and from valuesRequest of type Array<Transcripts::TranscriptCustomSpelling>, as a Hash
449
+ # @param redact_pii [Boolean] Redact PII from the transcribed text using the Redact PII model, can be true or
450
+ # false
451
+ # @param redact_pii_audio [Boolean] Generate a copy of the original media file with spoken PII "beeped" out, can be
452
+ # true or false. See [PII
453
+ # redaction](https://www.assemblyai.com/docs/models/pii-redaction) for more
454
+ # details.
455
+ # @param redact_pii_audio_quality [AssemblyAI::Transcripts::RedactPiiAudioQuality] Controls the filetype of the audio created by redact_pii_audio. Currently
456
+ # supports mp3 (default) and wav. See [PII
457
+ # redaction](https://www.assemblyai.com/docs/models/pii-redaction) for more
458
+ # details.
459
+ # @param redact_pii_policies [Array<AssemblyAI::Transcripts::PiiPolicy>] The list of PII Redaction policies to enable. See [PII
460
+ # redaction](https://www.assemblyai.com/docs/models/pii-redaction) for more
461
+ # details.
462
+ # @param redact_pii_sub [AssemblyAI::Transcripts::SubstitutionPolicy]
463
+ # @param speaker_labels [Boolean] Enable [Speaker
464
+ # diarization](https://www.assemblyai.com/docs/models/speaker-diarization), can be
465
+ # true or false
466
+ # @param speakers_expected [Integer] Tells the speaker label model how many speakers it should attempt to identify,
467
+ # up to 10. See [Speaker
468
+ # diarization](https://www.assemblyai.com/docs/models/speaker-diarization) for
469
+ # more details.
470
+ # @param content_safety [Boolean] Enable [Content
471
+ # Moderation](https://www.assemblyai.com/docs/models/content-moderation), can be
472
+ # true or false
473
+ # @param content_safety_confidence [Integer] The confidence threshold for the Content Moderation model. Values must be
474
+ # between 25 and 100.
475
+ # @param iab_categories [Boolean] Enable [Topic
476
+ # Detection](https://www.assemblyai.com/docs/models/topic-detection), can be true
477
+ # or false
478
+ # @param custom_spelling [Array<Hash>] Customize how words are spelled and formatted using to and from valuesRequest of type Array<AssemblyAI::Transcripts::TranscriptCustomSpelling>, as a Hash
347
479
  # * :from (Array<String>)
348
480
  # * :to (String)
349
- # @param disfluencies [Boolean] Transcribe Filler Words, like "umm", in your media file; can be true or false
350
- # @param sentiment_analysis [Boolean] Enable [Sentiment Analysis](https://www.assemblyai.com/docs/models/sentiment-analysis), can be true or false
351
- # @param auto_chapters [Boolean] Enable [Auto Chapters](https://www.assemblyai.com/docs/models/auto-chapters), can be true or false
352
- # @param entity_detection [Boolean] Enable [Entity Detection](https://www.assemblyai.com/docs/models/entity-detection), can be true or false
481
+ # @param sentiment_analysis [Boolean] Enable [Sentiment
482
+ # Analysis](https://www.assemblyai.com/docs/models/sentiment-analysis), can be
483
+ # true or false
484
+ # @param auto_chapters [Boolean] Enable [Auto Chapters](https://www.assemblyai.com/docs/models/auto-chapters),
485
+ # can be true or false
486
+ # @param entity_detection [Boolean] Enable [Entity
487
+ # Detection](https://www.assemblyai.com/docs/models/entity-detection), can be true
488
+ # or false
353
489
  # @param speech_threshold [Float] Reject audio files that contain less than this fraction of speech.
354
- # Valid values are in the range [0, 1] inclusive.
355
- # @param summarization [Boolean] Enable [Summarization](https://www.assemblyai.com/docs/models/summarization), can be true or false
356
- # @param summary_model [Transcripts::SummaryModel] The model to summarize the transcript
357
- # @param summary_type [Transcripts::SummaryType] The type of summary
358
- # @param custom_topics [Boolean] Whether custom topics is enabled, either true or false
359
- # @param topics [Array<String>] The list of custom topics provided, if custom topics is enabled
360
- # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
490
+ # Valid values are in the range [0, 1] inclusive.
491
+ # @param summarization [Boolean] Enable [Summarization](https://www.assemblyai.com/docs/models/summarization),
492
+ # can be true or false
493
+ # @param summary_model [AssemblyAI::Transcripts::SummaryModel] The model to summarize the transcript
494
+ # @param summary_type [AssemblyAI::Transcripts::SummaryType] The type of summary
495
+ # @param custom_topics [Boolean] Enable custom topics, either true or false
496
+ # @param topics [Array<String>] The list of custom topics
361
497
  # @param audio_url [String] The URL of the audio or video file to transcribe.
362
- # @param request_options [RequestOptions]
363
- # @return [Transcripts::Transcript]
364
- def submit(audio_url:, speech_model: nil, language_code: nil, punctuate: nil, format_text: nil, dual_channel: nil,
365
- webhook_url: nil, webhook_auth_header_name: nil, webhook_auth_header_value: nil, auto_highlights: nil, audio_start_from: nil, audio_end_at: nil, word_boost: nil, boost_param: nil, filter_profanity: nil, redact_pii: nil, redact_pii_audio: nil, redact_pii_audio_quality: nil, redact_pii_policies: nil, redact_pii_sub: nil, speaker_labels: nil, speakers_expected: nil, content_safety: nil, content_safety_confidence: nil, iab_categories: nil, language_detection: nil, custom_spelling: nil, disfluencies: nil, sentiment_analysis: nil, auto_chapters: nil, entity_detection: nil, speech_threshold: nil, summarization: nil, summary_model: nil, summary_type: nil, custom_topics: nil, topics: nil, additional_properties: nil, request_options: nil)
498
+ # @param request_options [AssemblyAI::RequestOptions]
499
+ # @return [AssemblyAI::Transcripts::Transcript]
500
+ # @example
501
+ # api = AssemblyAI::Client.new(
502
+ # environment: AssemblyAI::Environment::DEFAULT,
503
+ # base_url: "https://api.example.com",
504
+ # api_key: "YOUR_API_KEY"
505
+ # )
506
+ # api.transcripts.submit(audio_url: "https://github.com/AssemblyAI-Examples/audio-examples/raw/main/20230607_me_canadian_wildfires.mp3")
507
+ def submit(audio_url:, language_code: nil, language_detection: nil, language_confidence_threshold: nil, speech_model: nil,
508
+ punctuate: nil, format_text: nil, disfluencies: nil, dual_channel: nil, webhook_url: nil, webhook_auth_header_name: nil, webhook_auth_header_value: nil, auto_highlights: nil, audio_start_from: nil, audio_end_at: nil, word_boost: nil, boost_param: nil, filter_profanity: nil, redact_pii: nil, redact_pii_audio: nil, redact_pii_audio_quality: nil, redact_pii_policies: nil, redact_pii_sub: nil, speaker_labels: nil, speakers_expected: nil, content_safety: nil, content_safety_confidence: nil, iab_categories: nil, custom_spelling: nil, sentiment_analysis: nil, auto_chapters: nil, entity_detection: nil, speech_threshold: nil, summarization: nil, summary_model: nil, summary_type: nil, custom_topics: nil, topics: nil, request_options: nil)
366
509
  Async do
367
510
  response = @request_client.conn.post do |req|
368
511
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
@@ -370,10 +513,13 @@ module AssemblyAI
370
513
  req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
371
514
  req.body = {
372
515
  **(request_options&.additional_body_parameters || {}),
373
- speech_model: speech_model,
374
516
  language_code: language_code,
517
+ language_detection: language_detection,
518
+ language_confidence_threshold: language_confidence_threshold,
519
+ speech_model: speech_model,
375
520
  punctuate: punctuate,
376
521
  format_text: format_text,
522
+ disfluencies: disfluencies,
377
523
  dual_channel: dual_channel,
378
524
  webhook_url: webhook_url,
379
525
  webhook_auth_header_name: webhook_auth_header_name,
@@ -394,9 +540,7 @@ module AssemblyAI
394
540
  content_safety: content_safety,
395
541
  content_safety_confidence: content_safety_confidence,
396
542
  iab_categories: iab_categories,
397
- language_detection: language_detection,
398
543
  custom_spelling: custom_spelling,
399
- disfluencies: disfluencies,
400
544
  sentiment_analysis: sentiment_analysis,
401
545
  auto_chapters: auto_chapters,
402
546
  entity_detection: entity_detection,
@@ -406,20 +550,27 @@ module AssemblyAI
406
550
  summary_type: summary_type,
407
551
  custom_topics: custom_topics,
408
552
  topics: topics,
409
- additional_properties: additional_properties,
410
553
  audio_url: audio_url
411
554
  }.compact
412
555
  req.url "#{@request_client.get_url(request_options: request_options)}/v2/transcript"
413
556
  end
414
- Transcripts::Transcript.from_json(json_object: response.body)
557
+ AssemblyAI::Transcripts::Transcript.from_json(json_object: response.body)
415
558
  end
416
559
  end
417
560
 
418
- # Get the transcript resource. The transcript is ready when the "status" is "completed".
561
+ # Get the transcript resource. The transcript is ready when the "status" is
562
+ # "completed".
419
563
  #
420
564
  # @param transcript_id [String] ID of the transcript
421
- # @param request_options [RequestOptions]
422
- # @return [Transcripts::Transcript]
565
+ # @param request_options [AssemblyAI::RequestOptions]
566
+ # @return [AssemblyAI::Transcripts::Transcript]
567
+ # @example
568
+ # api = AssemblyAI::Client.new(
569
+ # environment: AssemblyAI::Environment::DEFAULT,
570
+ # base_url: "https://api.example.com",
571
+ # api_key: "YOUR_API_KEY"
572
+ # )
573
+ # api.transcripts.get(transcript_id: "transcript_id")
423
574
  def get(transcript_id:, request_options: nil)
424
575
  Async do
425
576
  response = @request_client.conn.get do |req|
@@ -428,15 +579,22 @@ module AssemblyAI
428
579
  req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
429
580
  req.url "#{@request_client.get_url(request_options: request_options)}/v2/transcript/#{transcript_id}"
430
581
  end
431
- Transcripts::Transcript.from_json(json_object: response.body)
582
+ AssemblyAI::Transcripts::Transcript.from_json(json_object: response.body)
432
583
  end
433
584
  end
434
585
 
435
- # Delete the transcript
586
+ # Remove the data from the transcript and mark it as deleted.
436
587
  #
437
588
  # @param transcript_id [String] ID of the transcript
438
- # @param request_options [RequestOptions]
439
- # @return [Transcripts::Transcript]
589
+ # @param request_options [AssemblyAI::RequestOptions]
590
+ # @return [AssemblyAI::Transcripts::Transcript]
591
+ # @example
592
+ # api = AssemblyAI::Client.new(
593
+ # environment: AssemblyAI::Environment::DEFAULT,
594
+ # base_url: "https://api.example.com",
595
+ # api_key: "YOUR_API_KEY"
596
+ # )
597
+ # api.transcripts.delete(transcript_id: "{transcript_id}")
440
598
  def delete(transcript_id:, request_options: nil)
441
599
  Async do
442
600
  response = @request_client.conn.delete do |req|
@@ -445,16 +603,17 @@ module AssemblyAI
445
603
  req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
446
604
  req.url "#{@request_client.get_url(request_options: request_options)}/v2/transcript/#{transcript_id}"
447
605
  end
448
- Transcripts::Transcript.from_json(json_object: response.body)
606
+ AssemblyAI::Transcripts::Transcript.from_json(json_object: response.body)
449
607
  end
450
608
  end
451
609
 
452
- # Export your transcript in SRT or VTT format, to be plugged into a video player for subtitles and closed captions.
610
+ # Export your transcript in SRT or VTT format to use with a video player for
611
+ # subtitles and closed captions.
453
612
  #
454
613
  # @param transcript_id [String] ID of the transcript
455
- # @param subtitle_format [Transcripts::SubtitleFormat] The format of the captions
614
+ # @param subtitle_format [AssemblyAI::Transcripts::SubtitleFormat] The format of the captions
456
615
  # @param chars_per_caption [Integer] The maximum number of characters per caption
457
- # @param request_options [RequestOptions]
616
+ # @param request_options [AssemblyAI::RequestOptions]
458
617
  # @return [String]
459
618
  def get_subtitles(transcript_id:, subtitle_format:, chars_per_caption: nil, request_options: nil)
460
619
  Async do
@@ -472,11 +631,20 @@ module AssemblyAI
472
631
  end
473
632
  end
474
633
 
475
- # Get the transcript split by sentences. The API will attempt to semantically segment the transcript into sentences to create more reader-friendly transcripts.
634
+ # Get the transcript split by sentences. The API will attempt to semantically
635
+ # segment the transcript into sentences to create more reader-friendly
636
+ # transcripts.
476
637
  #
477
638
  # @param transcript_id [String] ID of the transcript
478
- # @param request_options [RequestOptions]
479
- # @return [Transcripts::SentencesResponse]
639
+ # @param request_options [AssemblyAI::RequestOptions]
640
+ # @return [AssemblyAI::Transcripts::SentencesResponse]
641
+ # @example
642
+ # api = AssemblyAI::Client.new(
643
+ # environment: AssemblyAI::Environment::DEFAULT,
644
+ # base_url: "https://api.example.com",
645
+ # api_key: "YOUR_API_KEY"
646
+ # )
647
+ # api.transcripts.get_sentences(transcript_id: "transcript_id")
480
648
  def get_sentences(transcript_id:, request_options: nil)
481
649
  Async do
482
650
  response = @request_client.conn.get do |req|
@@ -485,15 +653,24 @@ module AssemblyAI
485
653
  req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
486
654
  req.url "#{@request_client.get_url(request_options: request_options)}/v2/transcript/#{transcript_id}/sentences"
487
655
  end
488
- Transcripts::SentencesResponse.from_json(json_object: response.body)
656
+ AssemblyAI::Transcripts::SentencesResponse.from_json(json_object: response.body)
489
657
  end
490
658
  end
491
659
 
492
- # Get the transcript split by paragraphs. The API will attempt to semantically segment your transcript into paragraphs to create more reader-friendly transcripts.
660
+ # Get the transcript split by paragraphs. The API will attempt to semantically
661
+ # segment your transcript into paragraphs to create more reader-friendly
662
+ # transcripts.
493
663
  #
494
664
  # @param transcript_id [String] ID of the transcript
495
- # @param request_options [RequestOptions]
496
- # @return [Transcripts::ParagraphsResponse]
665
+ # @param request_options [AssemblyAI::RequestOptions]
666
+ # @return [AssemblyAI::Transcripts::ParagraphsResponse]
667
+ # @example
668
+ # api = AssemblyAI::Client.new(
669
+ # environment: AssemblyAI::Environment::DEFAULT,
670
+ # base_url: "https://api.example.com",
671
+ # api_key: "YOUR_API_KEY"
672
+ # )
673
+ # api.transcripts.get_paragraphs(transcript_id: "transcript_id")
497
674
  def get_paragraphs(transcript_id:, request_options: nil)
498
675
  Async do
499
676
  response = @request_client.conn.get do |req|
@@ -502,16 +679,17 @@ module AssemblyAI
502
679
  req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
503
680
  req.url "#{@request_client.get_url(request_options: request_options)}/v2/transcript/#{transcript_id}/paragraphs"
504
681
  end
505
- Transcripts::ParagraphsResponse.from_json(json_object: response.body)
682
+ AssemblyAI::Transcripts::ParagraphsResponse.from_json(json_object: response.body)
506
683
  end
507
684
  end
508
685
 
509
- # Search through the transcript for a specific set of keywords. You can search for individual words, numbers, or phrases containing up to five words or numbers.
686
+ # Search through the transcript for keywords. You can search for individual words,
687
+ # numbers, or phrases containing up to five words or numbers.
510
688
  #
511
689
  # @param transcript_id [String] ID of the transcript
512
690
  # @param words [String] Keywords to search for
513
- # @param request_options [RequestOptions]
514
- # @return [Transcripts::WordSearchResponse]
691
+ # @param request_options [AssemblyAI::RequestOptions]
692
+ # @return [AssemblyAI::Transcripts::WordSearchResponse]
515
693
  def word_search(transcript_id:, words: nil, request_options: nil)
516
694
  Async do
517
695
  response = @request_client.conn.get do |req|
@@ -521,15 +699,23 @@ module AssemblyAI
521
699
  req.params = { **(request_options&.additional_query_parameters || {}), "words": words }.compact
522
700
  req.url "#{@request_client.get_url(request_options: request_options)}/v2/transcript/#{transcript_id}/word-search"
523
701
  end
524
- Transcripts::WordSearchResponse.from_json(json_object: response.body)
702
+ AssemblyAI::Transcripts::WordSearchResponse.from_json(json_object: response.body)
525
703
  end
526
704
  end
527
705
 
528
- # Retrieve the redacted audio object containing the status and URL to the redacted audio.
706
+ # Retrieve the redacted audio object containing the status and URL to the redacted
707
+ # audio.
529
708
  #
530
709
  # @param transcript_id [String] ID of the transcript
531
- # @param request_options [RequestOptions]
532
- # @return [Transcripts::RedactedAudioResponse]
710
+ # @param request_options [AssemblyAI::RequestOptions]
711
+ # @return [AssemblyAI::Transcripts::RedactedAudioResponse]
712
+ # @example
713
+ # api = AssemblyAI::Client.new(
714
+ # environment: AssemblyAI::Environment::DEFAULT,
715
+ # base_url: "https://api.example.com",
716
+ # api_key: "YOUR_API_KEY"
717
+ # )
718
+ # api.transcripts.get_redacted_audio(transcript_id: "transcript_id")
533
719
  def get_redacted_audio(transcript_id:, request_options: nil)
534
720
  Async do
535
721
  response = @request_client.conn.get do |req|
@@ -538,7 +724,7 @@ module AssemblyAI
538
724
  req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
539
725
  req.url "#{@request_client.get_url(request_options: request_options)}/v2/transcript/#{transcript_id}/redacted-audio"
540
726
  end
541
- Transcripts::RedactedAudioResponse.from_json(json_object: response.body)
727
+ AssemblyAI::Transcripts::RedactedAudioResponse.from_json(json_object: response.body)
542
728
  end
543
729
  end
544
730
  end