Transcribe audio
Transcribe audio to text. By default runs synchronously and returns the transcript inline (200); audio accepts a file_<id>, an https URL, or a base64 data-URI (max 25MB decoded). Set stream: true to receive the transcript live as Server-Sent Events (transcript.text.delta chunks then a final transcript.text.done, terminated by data: [DONE]) — supported on streaming models like mistral/voxtral-mini-2602, a 400 otherwise. Set async: true to run on the background worker and get a 202 with a status URL to poll instead — use it for long recordings that can exceed the synchronous timeout; it accepts the same audio sources (an inline data-URI is staged server-side and deleted after transcription) and lifts the decoded-audio cap to 100MB (a file_<id> or https URL is the best way to reach that; a data-URI that large needs a ~133MB request body). stream and async are mutually exclusive. model and audio are required; language and prompt are passed through as hints; diarize requests speaker labels (400 on models without diarization support); everything in parameters is forwarded verbatim to the provider.
Authorizations
API key authentication. Pass your API key as a Bearer token.