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