View Source ExOpenAI.Audio (ex_openai.ex v1.3.1)
Modules for interacting with the audio
group of OpenAI APIs
API Reference: https://platform.openai.com/docs/api-reference/audio
Summary
Functions
@spec create_transcription( bitstring() | {String.t(), bitstring()}, :"whisper-1" | String.t(), openai_organization_key: String.t(), openai_api_key: String.t(), temperature: float(), response_format: :vtt | :verbose_json | :srt | :text | :json, prompt: String.t(), language: String.t(), stream_to: pid() ) :: {:ok, ExOpenAI.Components.CreateTranscriptionResponse.t()} | {:error, any()}
Transcribes audio into the input language.
Endpoint: https://api.openai.com/v1/audio/transcriptions
Method: POST
Docs: https://platform.openai.com/docs/api-reference/audio
Required Arguments:
file
: The audio file object (not file name) to transcribe, in one of these formats: flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, or webm. (Pass in a file object created with something like File.open!, or a {filename, file object} tuple to preserve the filename information, eg{"filename.ext", File.open!("/tmp/file.ext")}
)model
: ID of the model to use. Onlywhisper-1
is currently available.
Optional Arguments:
stream_to
: PID of the process to stream content tolanguage
: The language of the input audio. Supplying the input language in ISO-639-1 format will improve accuracy and latency.prompt
: An optional text to guide the model's style or continue a previous audio segment. The prompt should match the audio language.response_format
: The format of the transcript output, in one of these options: json, text, srt, verbose_json, or vtt.temperature
: The sampling temperature, between 0 and 1. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. If set to 0, the model will use log probability to automatically increase the temperature until certain thresholds are hit.openai_api_key
: OpenAI API key to pass directly. If this is specified, it will override theapi_key
config value.openai_organization_key
: OpenAI API key to pass directly. If this is specified, it will override theorganization_key
config value.
@spec create_translation( bitstring() | {String.t(), bitstring()}, :"whisper-1" | String.t(), openai_organization_key: String.t(), openai_api_key: String.t(), temperature: float(), response_format: String.t(), prompt: String.t(), stream_to: pid() ) :: {:ok, ExOpenAI.Components.CreateTranslationResponse.t()} | {:error, any()}
Translates audio into English.
Endpoint: https://api.openai.com/v1/audio/translations
Method: POST
Docs: https://platform.openai.com/docs/api-reference/audio
Required Arguments:
file
: The audio file object (not file name) translate, in one of these formats: flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, or webm. (Pass in a file object created with something like File.open!, or a {filename, file object} tuple to preserve the filename information, eg{"filename.ext", File.open!("/tmp/file.ext")}
)model
: ID of the model to use. Onlywhisper-1
is currently available.
Optional Arguments:
stream_to
: PID of the process to stream content toprompt
: An optional text to guide the model's style or continue a previous audio segment. The prompt should be in English.response_format
: The format of the transcript output, in one of these options: json, text, srt, verbose_json, or vtt.temperature
: The sampling temperature, between 0 and 1. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. If set to 0, the model will use log probability to automatically increase the temperature until certain thresholds are hit.openai_api_key
: OpenAI API key to pass directly. If this is specified, it will override theapi_key
config value.openai_organization_key
: OpenAI API key to pass directly. If this is specified, it will override theorganization_key
config value.