Audio

POST /v1/audio/transcriptions

The OpenAI transcription API. Send multipart/form-data with a file field:

curl https://endpoint.pirol.ai/v1/audio/transcriptions \
  -H "Authorization: Bearer $PIROL_API_KEY" \
  -F file=@meeting.m4a
{ "text": "Good morning everyone, let us start." }

Fields

Field Meaning
file The audio. Required
language A hint such as de. Left out, the language is detected
diarize true marks who spoke
response_format json (default), text, or verbose_json

More than the text

response_format=verbose_json returns the words with their timings, and the speaker when diarize=true:

{
  "task": "transcribe",
  "language": "de",
  "text": "Guten Morgen zusammen.",
  "words": [
    { "word": "Guten", "start": 0.08, "end": 0.34, "confidence": 0.99, "speaker": 0 },
    { "word": "Morgen", "start": 0.34, "end": 0.71, "confidence": 0.99, "speaker": 0 }
  ]
}

response_format=text returns the plain transcript as text/plain, with no JSON around it.

What it costs

Transcription runs on our compute, not on your provider key, and is billed per minute of audio. Unlike a chat completion, this one is ours to pay for either way.