Packages
openai_ex
0.9.2
0.9.21
0.9.20
0.9.19
0.9.18
0.9.17
0.9.16
0.9.15
0.9.14
0.9.13
0.9.12
0.9.11
0.9.10
0.9.9
0.9.8
0.9.7
0.9.6
0.9.5
0.9.4
0.9.3
0.9.2
0.9.1
0.9.0
0.8.6
0.8.5
0.8.4
0.8.3
0.8.2
0.8.1
0.8.0
0.7.0
0.6.5
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0
0.5.9
0.5.8
0.5.7
0.5.6
0.5.5
0.5.4
0.5.3
0.5.2
0.5.1
0.5.0
0.4.2
0.4.1
0.4.0
0.3.0
0.2.3
0.2.2
0.2.1
0.2.0
0.1.9
0.1.8
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
Community maintained Elixir library for OpenAI API
Current section
Files
Jump to
Current section
Files
lib/openai_ex/audio/translation.ex
defmodule OpenaiEx.Audio.Translation do
@moduledoc """
This module provides an implementation of the OpenAI audio translation API. The API reference can be found at https://platform.openai.com/docs/api-reference/audio/createTranslation.
"""
alias OpenaiEx.Http
@api_fields [
:file,
:model,
:prompt,
:response_format,
:temperature
]
@doc """
Creates a new audio translation request
"""
def new(args = [_ | _]) do
args |> Enum.into(%{}) |> new()
end
def new(args = %{file: _, model: _}) do
args |> Map.take(@api_fields)
end
@doc """
Calls the audio translation endpoint.
See https://platform.openai.com/docs/api-reference/audio/createTranslation for more information.
"""
def create!(openai = %OpenaiEx{}, audio = %{}) do
openai |> create(audio) |> Http.bang_it!()
end
def create(openai = %OpenaiEx{}, audio = %{}) do
multipart = audio |> Http.to_multi_part_form_data(file_fields())
openai |> Http.post("/audio/translations", multipart: multipart)
end
@doc false
def file_fields() do
[:file]
end
end