Bifrost

Audio transcriptions

POST /v1/audio/transcriptions — the OpenAI Audio contract.

curl -X POST "$GATEWAY/v1/audio/transcriptions" \
  -H "Authorization: Bearer $API_KEY" \
  -F "model=transcribe" \
  -F "[email protected]"

Multipart only (file field). The uploaded file is streamed to temporary disk for validation — never buffered fully in memory — and removed after success, failure, timeout, or client cancellation. AUDIO_MAX_MULTIPART_BYTES (default 30 MB) caps the aggregate upload size.

Fields

model, file, language, prompt, temperature, response_format (json, text, srt, verbose_json, vtt), timestamp_granularities (word/segment, verbose_json only), include, stream. Which response formats and whether streaming/timestamp granularities are available is declared per model in its audio.transcribe catalog profile.

Response format

Returned as JSON, plain text, or SSE depending on the requested response_format and stream — not always JSON like the other endpoints.

Azure OpenAI note

Azure requires the classic deployment-based transcription API (it doesn't exist on /openai/v1) — the adapter constructs that URL internally from your deployment name and resource baseUrl. See Providers → Azure OpenAI and the Azure-specific example in Creating deployments.

On this page