Current section
Files
Jump to
Current section
Files
src/assemblyai.gleam
import assemblyai/operations
import gleam/http/request
import gleam/string
import midas/task as t
import snag
pub fn base_request(token) {
request.new()
|> request.set_host("api.assemblyai.com")
|> request.prepend_header("Authorization", token)
|> request.set_body(<<>>)
}
fn handle_errors(response) {
case response {
Ok(response) -> Ok(response)
Error(reason) ->
snag.new(string.inspect(reason))
|> snag.layer("failed to decode")
|> Error
}
}
// GENERATED -------------
pub fn get_transcript_sentences(token, transcript_id) {
let request = base_request(token)
let request = operations.get_transcript_sentences_request(
request,
transcript_id,
)
use response <- t.do(t.fetch(request))
use data <- t.try(
handle_errors(operations.get_transcript_sentences_response(response)),
)
t.done(data)
}
pub fn upload_file(token) {
let request = base_request(token)
let request = operations.upload_file_request(request)
use response <- t.do(t.fetch(request))
use data <- t.try(handle_errors(operations.upload_file_response(response)))
t.done(data)
}
pub fn get_subtitles(
token,
transcript_id,
subtitle_format,
chars_per_caption chars_per_caption,
) {
let request = base_request(token)
let request = operations.get_subtitles_request(
request,
transcript_id,
subtitle_format,
chars_per_caption,
)
use response <- t.do(t.fetch(request))
use data <- t.try(handle_errors(operations.get_subtitles_response(response)))
t.done(data)
}
pub fn lemur_question_answer(token, data) {
let request = base_request(token)
let request = operations.lemur_question_answer_request(request, data)
use response <- t.do(t.fetch(request))
use data <- t.try(
handle_errors(operations.lemur_question_answer_response(response)),
)
t.done(data)
}
pub fn lemur_summary(token, data) {
let request = base_request(token)
let request = operations.lemur_summary_request(request, data)
use response <- t.do(t.fetch(request))
use data <- t.try(handle_errors(operations.lemur_summary_response(response)))
t.done(data)
}
pub fn get_transcript_paragraphs(token, transcript_id) {
let request = base_request(token)
let request = operations.get_transcript_paragraphs_request(
request,
transcript_id,
)
use response <- t.do(t.fetch(request))
use data <- t.try(
handle_errors(operations.get_transcript_paragraphs_response(response)),
)
t.done(data)
}
pub fn word_search(token, transcript_id, words words) {
let request = base_request(token)
let request = operations.word_search_request(request, transcript_id, words)
use response <- t.do(t.fetch(request))
use data <- t.try(handle_errors(operations.word_search_response(response)))
t.done(data)
}
pub fn purge_lemur_request_data(token, request_id) {
let request = base_request(token)
let request = operations.purge_lemur_request_data_request(request, request_id)
use response <- t.do(t.fetch(request))
use data <- t.try(
handle_errors(operations.purge_lemur_request_data_response(response)),
)
t.done(data)
}
pub fn get_lemur_response(token, request_id) {
let request = base_request(token)
let request = operations.get_lemur_response_request(request, request_id)
use response <- t.do(t.fetch(request))
use data <- t.try(
handle_errors(operations.get_lemur_response_response(response)),
)
t.done(data)
}
pub fn delete_transcript(token, transcript_id) {
let request = base_request(token)
let request = operations.delete_transcript_request(request, transcript_id)
use response <- t.do(t.fetch(request))
use data <- t.try(
handle_errors(operations.delete_transcript_response(response)),
)
t.done(data)
}
pub fn get_transcript(token, transcript_id) {
let request = base_request(token)
let request = operations.get_transcript_request(request, transcript_id)
use response <- t.do(t.fetch(request))
use data <- t.try(handle_errors(operations.get_transcript_response(response)))
t.done(data)
}
pub fn get_redacted_audio(token, transcript_id) {
let request = base_request(token)
let request = operations.get_redacted_audio_request(request, transcript_id)
use response <- t.do(t.fetch(request))
use data <- t.try(
handle_errors(operations.get_redacted_audio_response(response)),
)
t.done(data)
}
pub fn create_temporary_token(token, data) {
let request = base_request(token)
let request = operations.create_temporary_token_request(request, data)
use response <- t.do(t.fetch(request))
use data <- t.try(
handle_errors(operations.create_temporary_token_response(response)),
)
t.done(data)
}
pub fn create_transcript(token, data) {
let request = base_request(token)
let request = operations.create_transcript_request(request, data)
use response <- t.do(t.fetch(request))
use data <- t.try(
handle_errors(operations.create_transcript_response(response)),
)
t.done(data)
}
pub fn list_transcripts(
token,
limit limit,
status status,
created_on created_on,
before_id before_id,
after_id after_id,
throttled_only throttled_only,
) {
let request = base_request(token)
let request = operations.list_transcripts_request(
request,
limit,
status,
created_on,
before_id,
after_id,
throttled_only,
)
use response <- t.do(t.fetch(request))
use data <- t.try(
handle_errors(operations.list_transcripts_response(response)),
)
t.done(data)
}
pub fn lemur_task(token, data) {
let request = base_request(token)
let request = operations.lemur_task_request(request, data)
use response <- t.do(t.fetch(request))
use data <- t.try(handle_errors(operations.lemur_task_response(response)))
t.done(data)
}