assemblyai 1.0.0.pre.beta
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/lib/assemblyai/files/client.rb +63 -0
- data/lib/assemblyai/files/types/uploaded_file.rb +47 -0
- data/lib/assemblyai/lemur/client.rb +390 -0
- data/lib/assemblyai/lemur/types/lemur_action_items_response.rb +52 -0
- data/lib/assemblyai/lemur/types/lemur_base_params.rb +99 -0
- data/lib/assemblyai/lemur/types/lemur_base_params_context.rb +75 -0
- data/lib/assemblyai/lemur/types/lemur_base_response.rb +47 -0
- data/lib/assemblyai/lemur/types/lemur_model.rb +13 -0
- data/lib/assemblyai/lemur/types/lemur_question.rb +74 -0
- data/lib/assemblyai/lemur/types/lemur_question_answer.rb +53 -0
- data/lib/assemblyai/lemur/types/lemur_question_answer_response.rb +56 -0
- data/lib/assemblyai/lemur/types/lemur_question_context.rb +75 -0
- data/lib/assemblyai/lemur/types/lemur_summary_response.rb +52 -0
- data/lib/assemblyai/lemur/types/lemur_task_response.rb +52 -0
- data/lib/assemblyai/lemur/types/purge_lemur_request_data_response.rb +58 -0
- data/lib/assemblyai/realtime/client.rb +61 -0
- data/lib/assemblyai/realtime/types/audio_data.rb +7 -0
- data/lib/assemblyai/realtime/types/audio_encoding.rb +8 -0
- data/lib/assemblyai/realtime/types/final_transcript.rb +107 -0
- data/lib/assemblyai/realtime/types/message_type.rb +13 -0
- data/lib/assemblyai/realtime/types/partial_transcript.rb +94 -0
- data/lib/assemblyai/realtime/types/realtime_base_message.rb +48 -0
- data/lib/assemblyai/realtime/types/realtime_base_transcript.rb +87 -0
- data/lib/assemblyai/realtime/types/realtime_error.rb +47 -0
- data/lib/assemblyai/realtime/types/realtime_message.rb +115 -0
- data/lib/assemblyai/realtime/types/realtime_temporary_token_response.rb +47 -0
- data/lib/assemblyai/realtime/types/realtime_transcript.rb +76 -0
- data/lib/assemblyai/realtime/types/realtime_transcript_type.rb +8 -0
- data/lib/assemblyai/realtime/types/session_begins.rb +58 -0
- data/lib/assemblyai/realtime/types/session_terminated.rb +47 -0
- data/lib/assemblyai/realtime/types/terminate_session.rb +56 -0
- data/lib/assemblyai/realtime/types/word.rb +62 -0
- data/lib/assemblyai/transcripts/client.rb +525 -0
- data/lib/assemblyai/transcripts/polling_client.rb +173 -0
- data/lib/assemblyai/transcripts/types/audio_intelligence_model_status.rb +8 -0
- data/lib/assemblyai/transcripts/types/auto_highlight_result.rb +66 -0
- data/lib/assemblyai/transcripts/types/auto_highlights_result.rb +53 -0
- data/lib/assemblyai/transcripts/types/chapter.rb +68 -0
- data/lib/assemblyai/transcripts/types/content_safety_label.rb +57 -0
- data/lib/assemblyai/transcripts/types/content_safety_label_result.rb +84 -0
- data/lib/assemblyai/transcripts/types/content_safety_labels_result.rb +75 -0
- data/lib/assemblyai/transcripts/types/entity.rb +69 -0
- data/lib/assemblyai/transcripts/types/entity_type.rb +38 -0
- data/lib/assemblyai/transcripts/types/page_details.rb +74 -0
- data/lib/assemblyai/transcripts/types/paragraphs_response.rb +67 -0
- data/lib/assemblyai/transcripts/types/pii_policy.rb +36 -0
- data/lib/assemblyai/transcripts/types/polling_options.rb +21 -0
- data/lib/assemblyai/transcripts/types/redact_pii_audio_quality.rb +8 -0
- data/lib/assemblyai/transcripts/types/redacted_audio_response.rb +53 -0
- data/lib/assemblyai/transcripts/types/redacted_audio_status.rb +7 -0
- data/lib/assemblyai/transcripts/types/sentences_response.rb +67 -0
- data/lib/assemblyai/transcripts/types/sentiment.rb +8 -0
- data/lib/assemblyai/transcripts/types/sentiment_analysis_result.rb +82 -0
- data/lib/assemblyai/transcripts/types/severity_score_summary.rb +57 -0
- data/lib/assemblyai/transcripts/types/speech_model.rb +7 -0
- data/lib/assemblyai/transcripts/types/substitution_policy.rb +8 -0
- data/lib/assemblyai/transcripts/types/subtitle_format.rb +8 -0
- data/lib/assemblyai/transcripts/types/summary_model.rb +8 -0
- data/lib/assemblyai/transcripts/types/summary_type.rb +14 -0
- data/lib/assemblyai/transcripts/types/timestamp.rb +53 -0
- data/lib/assemblyai/transcripts/types/topic_detection_model_result.rb +68 -0
- data/lib/assemblyai/transcripts/types/topic_detection_result.rb +68 -0
- data/lib/assemblyai/transcripts/types/topic_detection_result_labels_item.rb +52 -0
- data/lib/assemblyai/transcripts/types/transcript.rb +454 -0
- data/lib/assemblyai/transcripts/types/transcript_boost_param.rb +8 -0
- data/lib/assemblyai/transcripts/types/transcript_custom_spelling.rb +53 -0
- data/lib/assemblyai/transcripts/types/transcript_language_code.rb +29 -0
- data/lib/assemblyai/transcripts/types/transcript_list.rb +62 -0
- data/lib/assemblyai/transcripts/types/transcript_list_item.rb +82 -0
- data/lib/assemblyai/transcripts/types/transcript_optional_params.rb +280 -0
- data/lib/assemblyai/transcripts/types/transcript_paragraph.rb +84 -0
- data/lib/assemblyai/transcripts/types/transcript_sentence.rb +84 -0
- data/lib/assemblyai/transcripts/types/transcript_status.rb +8 -0
- data/lib/assemblyai/transcripts/types/transcript_utterance.rb +84 -0
- data/lib/assemblyai/transcripts/types/transcript_word.rb +68 -0
- data/lib/assemblyai/transcripts/types/word_search_match.rb +63 -0
- data/lib/assemblyai/transcripts/types/word_search_response.rb +61 -0
- data/lib/assemblyai/transcripts/types/word_search_timestamp.rb +7 -0
- data/lib/assemblyai/types/error.rb +50 -0
- data/lib/assemblyai.rb +48 -0
- data/lib/environment.rb +7 -0
- data/lib/gemconfig.rb +14 -0
- data/lib/requests.rb +87 -0
- data/lib/types_export.rb +75 -0
- metadata +170 -0
@@ -0,0 +1,53 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "json"
|
4
|
+
|
5
|
+
module AssemblyAI
|
6
|
+
class Transcripts
|
7
|
+
# Timestamp containing a start and end property in milliseconds
|
8
|
+
class Timestamp
|
9
|
+
attr_reader :start, :end_, :additional_properties
|
10
|
+
|
11
|
+
# @param start [Integer] The start time in milliseconds
|
12
|
+
# @param end_ [Integer] The end time in milliseconds
|
13
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
14
|
+
# @return [Transcripts::Timestamp]
|
15
|
+
def initialize(start:, end_:, additional_properties: nil)
|
16
|
+
# @type [Integer] The start time in milliseconds
|
17
|
+
@start = start
|
18
|
+
# @type [Integer] The end time in milliseconds
|
19
|
+
@end_ = end_
|
20
|
+
# @type [OpenStruct] Additional properties unmapped to the current class definition
|
21
|
+
@additional_properties = additional_properties
|
22
|
+
end
|
23
|
+
|
24
|
+
# Deserialize a JSON object to an instance of Timestamp
|
25
|
+
#
|
26
|
+
# @param json_object [JSON]
|
27
|
+
# @return [Transcripts::Timestamp]
|
28
|
+
def self.from_json(json_object:)
|
29
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
30
|
+
JSON.parse(json_object)
|
31
|
+
start = struct.start
|
32
|
+
end_ = struct.end
|
33
|
+
new(start: start, end_: end_, additional_properties: struct)
|
34
|
+
end
|
35
|
+
|
36
|
+
# Serialize an instance of Timestamp to a JSON object
|
37
|
+
#
|
38
|
+
# @return [JSON]
|
39
|
+
def to_json(*_args)
|
40
|
+
{ "start": @start, "end": @end_ }.to_json
|
41
|
+
end
|
42
|
+
|
43
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object's property definitions.
|
44
|
+
#
|
45
|
+
# @param obj [Object]
|
46
|
+
# @return [Void]
|
47
|
+
def self.validate_raw(obj:)
|
48
|
+
obj.start.is_a?(Integer) != false || raise("Passed value for field obj.start is not the expected type, validation failed.")
|
49
|
+
obj.end_.is_a?(Integer) != false || raise("Passed value for field obj.end_ is not the expected type, validation failed.")
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,68 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "audio_intelligence_model_status"
|
4
|
+
require_relative "topic_detection_result"
|
5
|
+
require "json"
|
6
|
+
|
7
|
+
module AssemblyAI
|
8
|
+
class Transcripts
|
9
|
+
# The result of the Topic Detection model, if it is enabled.
|
10
|
+
# See [Topic Detection](https://www.assemblyai.com/docs/models/topic-detection) for more information.
|
11
|
+
class TopicDetectionModelResult
|
12
|
+
attr_reader :status, :results, :summary, :additional_properties
|
13
|
+
|
14
|
+
# @param status [AUDIO_INTELLIGENCE_MODEL_STATUS] The status of the Topic Detection model. Either success, or unavailable in the rare case that the model failed.
|
15
|
+
# @param results [Array<Transcripts::TopicDetectionResult>] An array of results for the Topic Detection model
|
16
|
+
# @param summary [Hash{String => String}] The overall relevance of topic to the entire audio file
|
17
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
18
|
+
# @return [Transcripts::TopicDetectionModelResult]
|
19
|
+
def initialize(status:, results:, summary:, additional_properties: nil)
|
20
|
+
# @type [AUDIO_INTELLIGENCE_MODEL_STATUS] The status of the Topic Detection model. Either success, or unavailable in the rare case that the model failed.
|
21
|
+
@status = status
|
22
|
+
# @type [Array<Transcripts::TopicDetectionResult>] An array of results for the Topic Detection model
|
23
|
+
@results = results
|
24
|
+
# @type [Hash{String => String}] The overall relevance of topic to the entire audio file
|
25
|
+
@summary = summary
|
26
|
+
# @type [OpenStruct] Additional properties unmapped to the current class definition
|
27
|
+
@additional_properties = additional_properties
|
28
|
+
end
|
29
|
+
|
30
|
+
# Deserialize a JSON object to an instance of TopicDetectionModelResult
|
31
|
+
#
|
32
|
+
# @param json_object [JSON]
|
33
|
+
# @return [Transcripts::TopicDetectionModelResult]
|
34
|
+
def self.from_json(json_object:)
|
35
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
36
|
+
parsed_json = JSON.parse(json_object)
|
37
|
+
status = Transcripts::AUDIO_INTELLIGENCE_MODEL_STATUS.key(parsed_json["status"]) || parsed_json["status"]
|
38
|
+
results = parsed_json["results"]&.map do |v|
|
39
|
+
v = v.to_json
|
40
|
+
Transcripts::TopicDetectionResult.from_json(json_object: v)
|
41
|
+
end
|
42
|
+
summary = struct.summary
|
43
|
+
new(status: status, results: results, summary: summary, additional_properties: struct)
|
44
|
+
end
|
45
|
+
|
46
|
+
# Serialize an instance of TopicDetectionModelResult to a JSON object
|
47
|
+
#
|
48
|
+
# @return [JSON]
|
49
|
+
def to_json(*_args)
|
50
|
+
{
|
51
|
+
"status": Transcripts::AUDIO_INTELLIGENCE_MODEL_STATUS[@status] || @status,
|
52
|
+
"results": @results,
|
53
|
+
"summary": @summary
|
54
|
+
}.to_json
|
55
|
+
end
|
56
|
+
|
57
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object's property definitions.
|
58
|
+
#
|
59
|
+
# @param obj [Object]
|
60
|
+
# @return [Void]
|
61
|
+
def self.validate_raw(obj:)
|
62
|
+
obj.status.is_a?(Transcripts::AUDIO_INTELLIGENCE_MODEL_STATUS) != false || raise("Passed value for field obj.status is not the expected type, validation failed.")
|
63
|
+
obj.results.is_a?(Array) != false || raise("Passed value for field obj.results is not the expected type, validation failed.")
|
64
|
+
obj.summary.is_a?(Hash) != false || raise("Passed value for field obj.summary is not the expected type, validation failed.")
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
@@ -0,0 +1,68 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "topic_detection_result_labels_item"
|
4
|
+
require_relative "timestamp"
|
5
|
+
require "json"
|
6
|
+
|
7
|
+
module AssemblyAI
|
8
|
+
class Transcripts
|
9
|
+
# The result of the topic detection model
|
10
|
+
class TopicDetectionResult
|
11
|
+
attr_reader :text, :labels, :timestamp, :additional_properties
|
12
|
+
|
13
|
+
# @param text [String] The text in the transcript in which a detected topic occurs
|
14
|
+
# @param labels [Array<Transcripts::TopicDetectionResultLabelsItem>]
|
15
|
+
# @param timestamp [Transcripts::Timestamp]
|
16
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
17
|
+
# @return [Transcripts::TopicDetectionResult]
|
18
|
+
def initialize(text:, labels: nil, timestamp: nil, additional_properties: nil)
|
19
|
+
# @type [String] The text in the transcript in which a detected topic occurs
|
20
|
+
@text = text
|
21
|
+
# @type [Array<Transcripts::TopicDetectionResultLabelsItem>]
|
22
|
+
@labels = labels
|
23
|
+
# @type [Transcripts::Timestamp]
|
24
|
+
@timestamp = timestamp
|
25
|
+
# @type [OpenStruct] Additional properties unmapped to the current class definition
|
26
|
+
@additional_properties = additional_properties
|
27
|
+
end
|
28
|
+
|
29
|
+
# Deserialize a JSON object to an instance of TopicDetectionResult
|
30
|
+
#
|
31
|
+
# @param json_object [JSON]
|
32
|
+
# @return [Transcripts::TopicDetectionResult]
|
33
|
+
def self.from_json(json_object:)
|
34
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
35
|
+
parsed_json = JSON.parse(json_object)
|
36
|
+
text = struct.text
|
37
|
+
labels = parsed_json["labels"]&.map do |v|
|
38
|
+
v = v.to_json
|
39
|
+
Transcripts::TopicDetectionResultLabelsItem.from_json(json_object: v)
|
40
|
+
end
|
41
|
+
if parsed_json["timestamp"].nil?
|
42
|
+
timestamp = nil
|
43
|
+
else
|
44
|
+
timestamp = parsed_json["timestamp"].to_json
|
45
|
+
timestamp = Transcripts::Timestamp.from_json(json_object: timestamp)
|
46
|
+
end
|
47
|
+
new(text: text, labels: labels, timestamp: timestamp, additional_properties: struct)
|
48
|
+
end
|
49
|
+
|
50
|
+
# Serialize an instance of TopicDetectionResult to a JSON object
|
51
|
+
#
|
52
|
+
# @return [JSON]
|
53
|
+
def to_json(*_args)
|
54
|
+
{ "text": @text, "labels": @labels, "timestamp": @timestamp }.to_json
|
55
|
+
end
|
56
|
+
|
57
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object's property definitions.
|
58
|
+
#
|
59
|
+
# @param obj [Object]
|
60
|
+
# @return [Void]
|
61
|
+
def self.validate_raw(obj:)
|
62
|
+
obj.text.is_a?(String) != false || raise("Passed value for field obj.text is not the expected type, validation failed.")
|
63
|
+
obj.labels&.is_a?(Array) != false || raise("Passed value for field obj.labels is not the expected type, validation failed.")
|
64
|
+
obj.timestamp.nil? || Transcripts::Timestamp.validate_raw(obj: obj.timestamp)
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "json"
|
4
|
+
|
5
|
+
module AssemblyAI
|
6
|
+
class Transcripts
|
7
|
+
class TopicDetectionResultLabelsItem
|
8
|
+
attr_reader :relevance, :label, :additional_properties
|
9
|
+
|
10
|
+
# @param relevance [Float] How relevant the detected topic is of a detected topic
|
11
|
+
# @param label [String] The IAB taxonomical label for the label of the detected topic, where > denotes supertopic/subtopic relationship
|
12
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
13
|
+
# @return [Transcripts::TopicDetectionResultLabelsItem]
|
14
|
+
def initialize(relevance:, label:, additional_properties: nil)
|
15
|
+
# @type [Float] How relevant the detected topic is of a detected topic
|
16
|
+
@relevance = relevance
|
17
|
+
# @type [String] The IAB taxonomical label for the label of the detected topic, where > denotes supertopic/subtopic relationship
|
18
|
+
@label = label
|
19
|
+
# @type [OpenStruct] Additional properties unmapped to the current class definition
|
20
|
+
@additional_properties = additional_properties
|
21
|
+
end
|
22
|
+
|
23
|
+
# Deserialize a JSON object to an instance of TopicDetectionResultLabelsItem
|
24
|
+
#
|
25
|
+
# @param json_object [JSON]
|
26
|
+
# @return [Transcripts::TopicDetectionResultLabelsItem]
|
27
|
+
def self.from_json(json_object:)
|
28
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
29
|
+
JSON.parse(json_object)
|
30
|
+
relevance = struct.relevance
|
31
|
+
label = struct.label
|
32
|
+
new(relevance: relevance, label: label, additional_properties: struct)
|
33
|
+
end
|
34
|
+
|
35
|
+
# Serialize an instance of TopicDetectionResultLabelsItem to a JSON object
|
36
|
+
#
|
37
|
+
# @return [JSON]
|
38
|
+
def to_json(*_args)
|
39
|
+
{ "relevance": @relevance, "label": @label }.to_json
|
40
|
+
end
|
41
|
+
|
42
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object's property definitions.
|
43
|
+
#
|
44
|
+
# @param obj [Object]
|
45
|
+
# @return [Void]
|
46
|
+
def self.validate_raw(obj:)
|
47
|
+
obj.relevance.is_a?(Float) != false || raise("Passed value for field obj.relevance is not the expected type, validation failed.")
|
48
|
+
obj.label.is_a?(String) != false || raise("Passed value for field obj.label is not the expected type, validation failed.")
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|