Tutorial4 min read

How to Transcribe Any Audio File via REST API

Use the Gregnote audio transcription endpoint to convert MP3, WAV, M4A, or OGG files into diarised transcripts. Compatible with the OpenAI Whisper API shape.

Gregnote Team

2 August 2026

When you have audio but no meeting

Meeting bots work great for live calls. But you'll often have audio you need to transcribe that didn't go through a video platform — call centre recordings, recorded interviews, uploaded voicemails, podcast episodes.

Gregnote's audio transcription endpoint handles all of these.

Supported formats

MP3, WAV, M4A, OGG, FLAC, and WebM. Files up to 25 MB are processed synchronously. Larger files are handled asynchronously — you poll for the result.

Synchronous transcription (under 25 MB)

curl -X POST https://api.gregnote.com/v1/audio/transcriptions \
  -H "Authorization: Bearer gk_live_YOUR_KEY" \
  -F "[email protected]" \
  -F "language=en"

Response:

{
  "id": "tr_01JXYZ...",
  "status": "completed",
  "transcript": {
    "segments": [
      { "speaker": "Speaker 1", "text": "Tell me about your role.", "start": 0.0 },
      { "speaker": "Speaker 2", "text": "I lead product at Acme.", "start": 2.3 }
    ]
  }
}

Async transcription (over 25 MB)

// Submit
const { id } = await submitAudio(largeFile);

// Poll until done let result; do { await sleep(5000); result = await fetch(/v1/audio/transcriptions/${id}).then(r => r.json()); } while (result.status !== "completed"); ```

Or configure a webhook URL at submission time and receive a transcription.completed event instead of polling.

OpenAI compatibility

The request and response shape is compatible with the OpenAI Whisper API. If you're already using OpenAI for transcription, switching is a one-line change to the base URL.

Try it yourself

API key in 30 seconds. Free credit on sign-up. No card required.