Skip to content

Transcribe audio

Transcribe one audio file with a model whose supported_endpoints include this route. Audio longer than the model's 30-second window is split at its quietest moments and transcribed in order. Catalog models bill the combined token usage; your deployments bill GPU time.

POST /v1/audio/transcriptions

Authorization

Authorizationheader · string
Bearer $BOARDWALK_API_KEY. Requires inference:write.
Content-Typeheader · stringrequired
multipart/form-data; let your SDK or HTTP client set the boundary.

Request

Request · cURL
curl https://api.boardwalk.cloud/v1/audio/transcriptions \
  -H "Authorization: Bearer $BOARDWALK_API_KEY" \
  -F model=acme/meeting-notes \
  -F file=@standup.mp3 \
  -F language=en

Form fields

filefilerequired
The audio, multipart/form-data: wav, mp3 or flac, at most 25 MiB and ten minutes. Its format comes from the file name, or else its bytes.
modelstringrequired
A model that takes audio: its audio_input is not null.
languagestringoptional
The speech's language, ISO-639-1: ar, de, en, es, fr, it, ja, ko, nl, pt, ru or zh.
response_format"json" | "text"optional
json (the default) answers with text and usage; text answers with the transcript alone.
temperaturenumberoptional
Sampling temperature, 0 to 1. Default 0.

Response

Example response. IDs, token counts, and rates are illustrative.

200 · application/json
{
  "text": "Good morning. Let's start with the release.",
  "usage": {
    "type": "tokens",
    "input_tokens": 812,
    "output_tokens": 14,
    "total_tokens": 826
  }
}
textstring
The transcript, its windows joined.
usageobject
Combined usage: input_tokens counts audio and instructions from every window; output_tokens counts transcript tokens.

prompt, stream and timestamp_granularities are refused with a 400, as is any audio format or language not listed: Boardwalk never accepts a parameter it does not honor.

Errors

Errors use the shared error format. Save the x-request-id response header for receipts and support.