https://api.edenai.run/v3 and client.audio.transcriptions works as a drop-in replacement for OpenAI’s speech to text.
Overview
The call is synchronous: the transcript comes back in the response, with Eden’s
cost (USD) and provider fields added.
This is different from Expert Model speech to text, an asynchronous job API through
/v3/universal-ai/async that covers more providers (Amazon, AssemblyAI, Gladia, Google, Microsoft and others) and options such as speaker diarization. Use /v3/audio/transcriptions when you want an OpenAI-compatible, drop-in transcription surface.Models
Call
GET /v3/audio/transcriptions/models for the full list available in your region, with the per-second price of each model.
Transcribing a file
The endpoint takes the audio in one of two ways, chosen by the request’sContent-Type:
multipart/form-data: the audio is uploaded as afilepart. This is what the OpenAI SDK sends.application/json: the audio is referenced byfile_url(anhttps://URL or adata:audio/...;base64,...URL) or byfile_id(a file uploaded to Eden AI through File Upload). Set exactly one of the two.
Uploading the file
The official OpenAI SDK works unchanged oncebase_url points at Eden AI:
Referencing a URL
Request parameters
Unknown fields are ignored. The audio can be at most 25 MB.
Response format
"response_format": "verbose_json", the response also carries the detected language, the audio duration in seconds, and segments with start and end times. Models that support word timestamps add words when timestamp_granularities includes "word".
Listing transcription models
cURL
pricing, e.g. {"input_cost_per_second": 0.00001111} for groq/whisper-large-v3-turbo. The endpoint takes the same view parameter as the other model listings.
Pricing
Transcription is billed per second of audio, at the rateGET /v3/audio/transcriptions/models shows: an 11-second clip on groq/whisper-large-v3-turbo costs 11 × 0.000122. The amount charged is in the response’s cost field.
Limitations
- Files up to 25 MB. A larger file returns
413. A file whose duration cannot be read returns400. - No
@edenairouting."model": "@edenai"returns400; name a model. - No
fallbacks. The field is ignored, like any unknown field: onlymodelis tried, and a failure is not retried on another model. - No streaming. The transcript is returned in one response once the whole file is transcribed.
- No translations endpoint.
/v3/audio/translations(speech to English text) is not implemented.
Next Steps
Text to Speech
Generate speech through the OpenAI-compatible speech endpoint
Expert Speech to Text
Asynchronous transcription with more providers and diarization