Inference APIs
Models/Transcription/Whisper Large v3
Speech to text100 languagesWord timestampsSpeaker diarizationSRT / VTT
Modality
Audio → Text
Price
$0.002 / audio minute
Speed
0.047× real time
Model ID
openai/whisper-large-v3

Quickstart

You need an API key to call this model. Create a free account or log in.

Set INFERENCE_API_KEY to your key from the API Keys page, then run:

curl https://api.inferenceapis.com/v1/audio/transcriptions \
  -H "Authorization: Bearer $INFERENCE_API_KEY" \
  -F "model=openai/whisper-large-v3" \
  -F "file=@meeting.mp3" \
  -F "response_format=verbose_json"
import os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.inferenceapis.com/v1",
    api_key=os.environ["INFERENCE_API_KEY"],
)
with open("meeting.mp3", "rb") as f:
    result = client.audio.transcriptions.create(
        model="openai/whisper-large-v3",
        file=f,
        response_format="verbose_json",
    )
print(result.text)
import fs from "node:fs";
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.inferenceapis.com/v1",
  apiKey: process.env.INFERENCE_API_KEY,
});
const result = await client.audio.transcriptions.create({
  model: "openai/whisper-large-v3",
  file: fs.createReadStream("meeting.mp3"),
  response_format: "verbose_json",
});
console.log(result.text);

When to use it

A good fit when
  • Broad language coverage with automatic language detection
  • Files up to 100 MB and SRT or VTT subtitles straight from the API
  • Speaker labels with diarize=true, at the same price
Look elsewhere when
  • You need live streaming transcription

What it costs in practice

WorkloadCost
1 hour of audio$0.12
100 hours of audio$12.00
1,000 hours of audio$120

Computed from the live rate below. There is no subscription or minimum; new accounts start with free credit.

Endpoint

POST https://api.inferenceapis.com/v1/audio/transcriptions
Headers Authorization: Bearer $INFERENCE_API_KEY
Content-Type: multipart/form-data
Compatible OpenAI wire format. /openai/v1/… is accepted too, so Groq-style base URLs work with only the host changed.

Model IDs and aliases

Send any of these as model; they all resolve to this model and bill at its rate.

IDNote
openai/whisper-large-v3Canonical
whisper-large-v3Alias
whisper-large-v3-turboGroq's id. Answered by the full Large v3 model, which is slightly more accurate than Turbo, not a faster one
whisper-1Same id as on OpenAI — switch by changing the base URL only
whisperAlias

Request body

ParameterTypeDescription
model required string Model ID: openai/whisper-large-v3 — also accepted: whisper-large-v3, whisper-large-v3-turbo, whisper-1, whisper
file required file The audio file (multipart/form-data): mp3, mp4, m4a, wav, webm, flac, ogg. Up to 100 MB.
language string ISO-639-1 language code, e.g. en. Improves accuracy and latency when known.
prompt string Optional text to guide style or spelling of names and terms.
response_format string json (default), verbose_json, text, srt or vtt.
timestamp_granularities array ["segment"] and/or ["word"] with verbose_json.
temperature number Sampling temperature between 0 and 1.

Response

200 OK · application/json
{
  "language": "en",
  "duration": 12.4,
  "text": "Thanks everyone for joining. Let's start with the roadmap.",
  "segments": [
    { "id": 0, "start": 0.0, "end": 3.1, "text": "Thanks everyone for joining." },
    { "id": 1, "start": 3.1, "end": 6.0, "text": "Let's start with the roadmap." }
  ]
}

Pricing

Price$0.002 / audio minute
BillingPay as you go from prepaid credits. No subscription, no daily request or token cap. See all pricing.

Notes

  • Billing is per minute of audio (measured from the uploaded file). Files up to 100 MB are accepted.
  • Use response_format=verbose_json for language detection, duration and segments; srt and vtt return subtitle files.

Compare Whisper Large v3 with…

Languages

Per-language codes, tips and quickstarts: speech-to-text languages.

Questions about Whisper Large v3

How accurate is it for my language?

It varies enormously: a few percent word error in Spanish, Italian or English, and unusable output in some low-resource languages. We measured every language on public test clips through this endpoint; see accuracy by language.

I send whisper-1 or whisper-large-v3-turbo. What runs?

Whisper Large v3 in both cases. OpenAI's whisper-1 is the older Large v2, and Groq's Turbo is a pruned, faster Large v3, so expect equal or slightly better accuracy here, at the same request shape.

Can it translate speech to English?

The /v1/audio/translations endpoint is not offered. Transcribe in the source language, then translate the text with a chat model on the same key; that is usually better than Whisper's built-in translation anyway.

How should I handle long recordings?

Uploads up to 100 MB are accepted, which is about 100 minutes of 128 kbps mp3. For longer audio, or to get results sooner, split into 10 to 20 minute parts at silences and send them in parallel; processing runs at about 5% of real time.

Does it identify speakers?

Yes. Add diarize=true to the request and every word comes back with a speaker label, segments become one entry per speaker turn, and text, srt and vtt output are prefixed with SPEAKER_00: and so on. min_speakers and max_speakers are optional hints. No extra charge. On our three-voice test clip all three speakers were found and 82.5 percent of words carried the right label; the diarization page has the details and the limits.

Does it work on live audio?

No. It transcribes recorded files. See Whisper vs Deepgram for streaming.

Licence

Whisper Large v3 is published by OpenAI under the MIT. Your use of its output is also subject to that licence.

Errors

Errors use the OpenAI envelope: {"error": {"message", "type", "code"}}. 401 missing or invalid key · 402 insufficient_balance · 404 model_not_found · 503 model_unavailable · 502 backend error, safe to retry. Full table with what to retry: API documentation. Errors from other providers: provider error reference.