gpt-4o-mini-transcribe

Fast, economical audio transcription for production speech workloads.

API IDgpt-4o-mini-transcribe
View setup
View usage

Overview

Input
Audio
Output
Text
Providers
Azure OpenAI
Latest operational check
Healthy
API compatibility
  • OpenAI Audio
Recommended for
  • Transcription
Supported features
  • Function calling: Not supported
  • Structured outputs: Not supported
  • Vision: Not supported
  • Streaming: Not supported
  • Reasoning: Not supported
  • Prompt caching: Not supported
Supported parameters
languagetimestamps
View API reference

Make your first request

View full setup
# Requires curl and jq.
set -euo pipefail

API_KEY="YOUR_API_KEY"
GATEWAY='https://gateway.primexos.com'
FILE_PATH='audio.mp3'
CONTENT_TYPE='audio/mpeg'
BYTE_SIZE=$(wc -c < "$FILE_PATH" | tr -d '[:space:]')

AUTHORIZATION=$(curl --fail-with-body -sS "$GATEWAY/v1/primex/files/upload-authorizations" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d "{\"purpose\":\"AUDIO_INPUT\",\"content_type\":\"$CONTENT_TYPE\",\"byte_size\":$BYTE_SIZE}")

UPLOAD_URL=$(printf '%s' "$AUTHORIZATION" | jq -r '.upload_url')
UPLOAD_METHOD=$(printf '%s' "$AUTHORIZATION" | jq -r '.method')
BLOB_TYPE=$(printf '%s' "$AUTHORIZATION" | jq -r '.headers["x-ms-blob-type"]')
UPLOAD_CONTENT_TYPE=$(printf '%s' "$AUTHORIZATION" | jq -r '.headers["Content-Type"]')
FILE_ID=$(printf '%s' "$AUTHORIZATION" | jq -r '.file_id')

curl --fail-with-body -sS -X "$UPLOAD_METHOD" "$UPLOAD_URL" \
  -H "x-ms-blob-type: $BLOB_TYPE" \
  -H "Content-Type: $UPLOAD_CONTENT_TYPE" \
  --data-binary "@$FILE_PATH"

FINALIZED=$(curl --fail-with-body -sS -X POST "$GATEWAY/v1/primex/files/$FILE_ID/finalize" \
  -H "Authorization: Bearer $API_KEY")
FILE_ID=$(printf '%s' "$FINALIZED" | jq -r '.file_id')

SERVICE_PAYLOAD='{"model":"gpt-4o-mini-transcribe","file_id":"__PRIMEX_PRODUCTION_FILE_ID__"}'
SERVICE_PAYLOAD=$(printf '%s' "$SERVICE_PAYLOAD" | jq --arg file_id "$FILE_ID"   'walk(if type == "object" and .file_id? == "__PRIMEX_PRODUCTION_FILE_ID__" then .file_id = $file_id else . end)')

curl --fail-with-body "$GATEWAY/v1/audio/transcriptions" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d "$SERVICE_PAYLOAD"

Executing this request uses your account’s API credits.