Unlimited Open Source Models

Get Plan
Skip to main content
Imagen

Whisper API — Transcription without the GPU

Hosted Whisper large-v3 transcription over REST. POST an audio URL, get the text back with word-level timestamps. Multilingual, billed per call rather than per minute of audio. Audio plans from $12/month.

What the Whisper API Does

Whisper large-v3, Hosted

Whisper is OpenAI’s open-weight speech recognition model, and large-v3 is the version most hosted transcription products benchmark against. Running it yourself means a GPU, a queue, a warm deployment and somebody to own all three. This endpoint is the same model with none of that: you POST the URL of an audio file and read the transcript out of the response.

Because the weights are open, this is not a lock-in decision. The same model you call here is the one you can run on your own hardware later, which is the main reason teams pick Whisper over a proprietary transcription API in the first place.

Billed per Call, Not per Minute

Most transcription APIs meter by the minute or the hour of audio, so a long recording costs proportionally more. ModelsLab bills per API call on an audio plan. One request is one call whether the file is ten seconds or two hours, which changes the arithmetic sharply for podcasts, lecture capture, call archives and anything else measured in hours rather than clips.

  • Whisper large-v3 over plain HTTP — no SDK to install
  • Word-level or sentence-level timestamps for subtitles
  • Multilingual, with an optional language hint
  • Webhook delivery for long files
  • Per-call billing from $12/month for 600 calls
  • Dedicated deployment available for isolated capacity

Whisper API quick start

One POST with an audio URL. Python, JavaScript and cURL.

Python — transcribe a file

Python
1import requests
2
3response = requests.post(
4 "https://modelslab.com/api/v6/whisper/transcribe",
5 json={
6 "key": "YOUR_MODELSLAB_API_KEY",
7 "init_audio": "https://example.com/interview.mp3",
8 "language": "english",
9 "timestamp_level": "word",
10 },
11)
12
13print(response.json())

JavaScript — transcribe with a webhook

JavaScript
1const response = await fetch(
2 'https://modelslab.com/api/v6/whisper/transcribe',
3 {
4 method: 'POST',
5 headers: { 'Content-Type': 'application/json' },
6 body: JSON.stringify({
7 key: 'YOUR_MODELSLAB_API_KEY',
8 init_audio: 'https://example.com/episode-142.mp3',
9 // Long files queue; the webhook receives the finished transcript.
10 webhook: 'https://your-app.example.com/hooks/transcript',
11 track_id: 142,
12 }),
13 },
14);
15
16console.log(await response.json());

cURL — quick test from the terminal

bash
1curl -X POST 'https://modelslab.com/api/v6/whisper/transcribe' \
2 -H 'Content-Type: application/json' \
3 -d '{
4 "key": "YOUR_MODELSLAB_API_KEY",
5 "init_audio": "https://example.com/voicemail.wav",
6 "language": "english"
7 }'

Request and Response

The full contract of the transcription endpoint.

FieldTypeMeaning
init_audioURL (required)Audio file to transcribe
languagestring (optional)Source language; defaults to English
timestamp_levelstring (optional)word or sentence timings
webhookURL (optional)Where to POST the finished transcript
track_idstring (optional)Your own numeric reference id, echoed back
outputresponseThe transcript, with timings when asked

The same handler is registered at /api/v6/voice/speech_to_text; /api/v6/whisper/transcribe is the alias. A v7 route at /api/v7/voice/speech-to-text takes an explicit model_id.

What Transcription Costs

Audio plans are billed per API call, not per minute of audio — a two-hour recording is one call.

PlanPrice / MonthAPI CallsWhisper included
Basic$12600Yes
Standard$273,000Yes
Unlimited Premium$127Unlimited on self-hosted modelsYes

ModelsLab audio plan pricing, September 2026. Unlimited covers the open-weight speech models ModelsLab self-hosts, which includes Whisper large-v3. Third-party voices are billed per call from wallet balance.

Transcribe in 3 Steps

From API key to a transcript.

STEP 01
STEP 01

Step 1: Get Your API Key

Create a ModelsLab account, subscribe to an audio plan from $12/month for 600 API calls, and copy your key from the dashboard.

STEP 02
STEP 02

Step 2: POST the Audio URL

Send init_audio to /api/v6/whisper/transcribe. Pass language when you know it — accuracy is better than letting the model detect it — and timestamp_level when you need word timings.

STEP 03
STEP 03

Step 3: Read the Transcript

Short files return the transcript directly. Long files return an id to fetch, or pass a webhook URL and receive the result when it is ready.

Hosted or Dedicated

Shared inference is the default and is what an audio plan buys. For teams that need fixed throughput, isolated capacity or a compliance boundary, whisper-large-v3 is also available as a dedicated deployment on its own GPU, where the checkpoint is pinned and yours alone. The API contract is identical; what changes is who else is on the hardware.

What Whisper Is Not Good At

Whisper is a batch model. It transcribes files well and it does not do live streaming, and it does not label who is speaking. If your product needs real-time captions on a live call, or speaker diarisation out of the box, a specialist streaming vendor will serve you better than this endpoint will — and it is cheaper to know that before you integrate than after.

Why Run Whisper Here

Key advantages that set us apart

Whisper large-v3 without owning a GPU
Billed per call, not per minute of audio
Word-level timestamps for subtitles
Multilingual, with an optional language hint
Webhook delivery for long recordings
Plain HTTP — no SDK, no streaming session
Audio plans from $12/month for 600 calls
Dedicated deployment available for isolated capacity

Our Popular Use Cases

What teams build on hosted Whisper:

Transcribe a back catalogue at one API call per episode, then publish the text for search.

Podcast and Video Transcripts

Whisper API FAQ

It is the same open-weight model family, served by ModelsLab instead of OpenAI. The difference is the billing unit and the account: here transcription is one API call on an audio plan rather than a per-minute charge, and the same key also covers text to speech, image, video and LLM generation.

init_audio takes a URL to a hosted audio file — MP3 and WAV are the common cases. Very long files queue rather than returning inline, which is what the webhook parameter is for.

The v7 route at /api/v7/voice/speech-to-text takes an explicit model_id, and a dedicated deployment pins the checkpoint to one you control. The shared v6 endpoint uses the current default.

Generation endpoints return HTTP 200 with a status field, so branch on status and code rather than on the HTTP status. A failed call surfaces as status "error" with a code you can switch on.

Extract the audio track first and pass that URL. If the goal is dubbing rather than a transcript, the lip sync endpoint takes the video and a new audio track directly.

Your Data is Secure: GDPR Compliant AI Services

ModelsLab GDPR Compliance Certification Badge

GDPR Compliant

Pricing That's Perfect

Choose plan as per your needs, cancel anytime.

Coming Soon

We are making some changes to our pricing, please check back later.

Get Expert Support in Seconds

We're Here to Help.

Want to know more? You can email us anytime at support@modelslab.com

View Docs

POST https://modelslab.com/api/v6/whisper/transcribe with `init_audio` set to the URL of the audio file. `language` is optional and defaults to English, `timestamp_level` takes `word` or `sentence`, and `webhook` receives the result for long files. The same handler is also registered at /api/v6/voice/speech_to_text.

The shared endpoint runs a Whisper model; `whisper-large-v3` is additionally offered as a dedicated deployment for teams that need isolated capacity or a fixed-throughput guarantee. If you need a guarantee about the exact checkpoint behind the shared endpoint, ask support before you build on it.

Transcription is billed per API call on an audio plan: $12/month for 600 calls, $27/month for 3,000, and $127/month for unlimited generation on the open-weight speech models ModelsLab self-hosts, which includes Whisper. One request is one call regardless of how long the audio is.

It depends on volume and on whether you already own GPUs. Self-hosting Whisper large-v3 means a GPU, a queue and a deployment to keep warm; on a plan the same work is one HTTP call. Above roughly 3,000 calls a month the $127 unlimited plan is usually the cheaper of the two hosted options.

Yes. Set `timestamp_level` to `word` to get per-word timings rather than the sentence-level default, which is what subtitle and caption pipelines need.

Whisper is a multilingual model and the endpoint accepts a `language` hint rather than a fixed list, so pass it when you know the language and leave it out when the input varies. If a specific language matters to your product, test it on your own audio before committing — we would rather you measure it than take a number off a marketing page.

ModelsLab is a paid service. Audio plans start at $12/month for 600 API calls. Creating an account is free, but transcription requires an active plan.
Plugins

Explore Plugins for Pro

Our plugins are designed to work with the most popular content creation software.

API

Build Apps with
ML
API

Use our API to build apps, generate AI art, create videos, and produce audio with ease.