Audio transcription
Two endpoints, served by models carrying the audio category:
| Endpoint | Purpose |
|---|---|
POST /audio/transcriptions |
Speech to text in the spoken language. |
POST /audio/translations |
Speech in any supported language to English text. |
Both take multipart form data, not JSON — the audio file is uploaded rather than embedded.
Transcribing
Section titled “Transcribing”curl https://api.resetdata.ai/api/v1/audio/transcriptions \ -H "Authorization: Bearer $RESETDATA_API_KEY" \ -F file="@meeting.mp3" \ -F model="openai/whisper-large-v3-turbo"with open("meeting.mp3", "rb") as f: resp = client.audio.transcriptions.create( model="openai/whisper-large-v3-turbo", file=f, )print(resp.text)import fs from "node:fs";
const resp = await client.audio.transcriptions.create({ model: "openai/whisper-large-v3-turbo", file: fs.createReadStream("meeting.mp3"),});console.log(resp.text);Translating to English
Section titled “Translating to English”Same shape, different endpoint — use client.audio.translations.create(...), or
POST /audio/translations. Output is always English regardless of the input
language.
Useful parameters
Section titled “Useful parameters”language— an ISO-639-1 code such asenorfr. Supplying it when you know the language avoids misdetection on short or noisy clips and is usually faster.response_format— plain text or a structured format; some models offer timestamped output suitable for subtitles.temperature— leave at the default unless you have a reason; higher values make transcription less literal, which is rarely what you want.
Availability differs per model, so check supported_parameters — see
Model parameters.
Cost and limits
Section titled “Cost and limits”Audio is billed per minute of input, not per token — see Usage and costs.
Uploads are subject to a request size limit, and long recordings are the usual thing to trip it. Split long audio into chunks and transcribe them in sequence, cutting on silence where you can so a word isn’t split across the boundary.
Because the file uploads before processing begins, a large file over a slow link spends real time in transit — set client timeouts accordingly, and see Rate limits and queueing.
Quality notes
Section titled “Quality notes”- Audio quality dominates. A clean 16 kHz recording beats a noisy 48 kHz one.
- Domain vocabulary, names and acronyms are the most common errors; if downstream accuracy matters, post-process with a text model to normalise known terms.
- Speaker diarisation — labelling who said what — is not provided by these endpoints.