whisper-1 is removed on 26 February 2027. Keep SRT, VTT and word timestamps.

Last updated:

⏳ 144 days left — the old API shuts down February 26, 2027.

Yes: OpenAI announced on August 26, 2026 that whisper-1 will be removed from the API on February 26, 2027, and it recommends gpt-transcribe or gpt-live-transcribe instead (OpenAI deprecations). If your app depends on whisper-1's subtitle formats, word timestamps or /v1/audio/translations, a whisper-1-compatible endpoint such as our whisper-1 drop-in on Apify keeps that code working: you change base_url and api_key in the official OpenAI SDK, at $0.006 per minute.

The same OpenAI notice also removes gpt-4o-transcribe, gpt-4o-mini-transcribe and gpt-4o-transcribe-diarize on the same date. See OpenAI's 2027 transcription model removals for what to do with those.

What changes on February 26, 2027

- timestamp_granularities[] (word and segment timestamps): "only supported for whisper-1" (speech-to-text guide); - the srt, vtt and verbose_json response formats: the API reference says json is the only format for gpt-4o-transcribe and gpt-4o-mini-transcribe, and lists none of these for gpt-transcribe (details); - the /v1/audio/translations endpoint (any language → English), which the guide uses with whisper-1.

The minimal migration: base_url and api_key only

The new endpoint is the Actor's Standby URL plus /v1: https://dropin-apis--whisper-compat.apify.actor/v1. Use your Apify API token as the API key; the OpenAI SDKs send it as Authorization: Bearer …, which is how Apify authenticates. Keep model="whisper-1" and everything else.

Python (official openai SDK)

diff
  from openai import OpenAI
- client = OpenAI(api_key=os.environ["OPENAI_API_KEY"])
+ client = OpenAI(base_url="https://dropin-apis--whisper-compat.apify.actor/v1", api_key=os.environ["APIFY_TOKEN"])
  srt = client.audio.transcriptions.create(model="whisper-1", file=open("talk.mp3", "rb"), response_format="srt")

Node.js (official openai SDK)

diff
  import OpenAI from 'openai';
- const client = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });
+ const client = new OpenAI({ baseURL: 'https://dropin-apis--whisper-compat.apify.actor/v1', apiKey: process.env.APIFY_TOKEN });
  const vtt = await client.audio.transcriptions.create({ model: 'whisper-1', file: fs.createReadStream('talk.mp3'), response_format: 'vtt' });

curl

diff
- curl -s https://api.openai.com/v1/audio/transcriptions -H "Authorization: Bearer $OPENAI_API_KEY" \
+ curl -s https://dropin-apis--whisper-compat.apify.actor/v1/audio/transcriptions -H "Authorization: Bearer $APIFY_TOKEN" \
    -F model=whisper-1 -F response_format=verbose_json -F 'timestamp_granularities[]=word' -F file=@talk.mp3

Pass the token only as api_key. If you append ?token=… to base_url, the SDK adds the route after the query string and the request goes to the wrong URL.

Real output

SRT and word timestamps from NASA's public-domain Apollo 11 clip ("one small step"), using the Python SDK as above:

text
1
00:00:00,000 --> 00:00:05,000
I'm going to step off the limb now.

2
00:00:15,000 --> 00:00:18,000
That's one small step for man.

3
00:00:20,000 --> 00:00:24,000
One giant leap for mankind.

  3.22-  3.96  I'm
  3.96-  4.06  going
  4.06-  4.18  to
  4.18-  4.34  step
  4.34-  4.58  off
3 segments, 24.11 seconds

(Armstrong said "the LEM". The small model heard "limb", which is the kind of error to expect; see Limits below.)

The verbose_json response has OpenAI's shape: task, language ("english"), duration, text, words[] (word, start, end), segments[] and usage ({"type":"duration","seconds":25}).

Your options compared

Optionwhisper-1 request and formats (SRT, VTT, word timestamps, translations)?PriceNotes
whisper-1 drop-in on Apify (this page)Yes: official SDK, change base_url and api_key$0.006/min, billed per started 15 sWhisper small model (about 4% word error on clean English); up to 10 min / 25 MB per file
OpenAI gpt-transcribeOpenAI's guide documents those features only for whisper-1$0.0045/minOpenAI's recommended successor; more accurate model. Check its formats before relying on subtitles
OpenAI gpt-live-transcribeRealtime model; different usage$0.017/minFor live audio
gpt-4o-transcribe / gpt-4o-mini-transcribeNo~$0.006 / ~$0.003 per min (token-based)Also removed on February 26, 2027
Self-host faster-whisper or whisper.cppFormats yes (your code); OpenAI-compatible API only if you add a server layerFree (MIT) + your hardwareAny Whisper size, including large models; you run and scale it

OpenAI prices are from OpenAI's pricing page as of October 2026.

Compatibility

FeatureStatus
/v1/audio/transcriptions, /v1/audio/translations, GET /v1/models✅
Fields file, model (whisper-1), language, prompt, response_format, temperature, timestamp_granularities[]✅ Same names, defaults and validation
json (+ usage), text, srt, vtt, verbose_json with segments and words✅
OpenAI error envelope ({"error":{"message","type","param","code"}})✅
stream, include, chunking_strategy, diarized_json, gpt-4o / gpt-transcribe models❌ (whisper-1 didn't support them either)

Limits: read before switching

- On clean English (LibriSpeech) we measured about 4% word error rate. - Expect more errors on noisy audio, heavy accents and less common languages.

Pricing

$0.006 per minute, billed per started 15 seconds ($0.0015 per 15 s).

FAQ

Is whisper-1 being deprecated?

Yes. OpenAI notified developers on August 26, 2026 that whisper-1 will be removed from the API on February 26, 2027.

What should I use instead of whisper-1?

OpenAI recommends gpt-transcribe (or gpt-live-transcribe for realtime). If you need whisper-1's exact API, including SRT, VTT, word timestamps and /v1/audio/translations, use a whisper-1-compatible endpoint such as this page's drop-in, and change only base_url and api_key.

Is gpt-4o-transcribe a safe replacement for whisper-1?

No. OpenAI's same notice removes gpt-4o-transcribe and gpt-4o-mini-transcribe on February 26, 2027, together with whisper-1.

How do I keep SRT and VTT subtitles after whisper-1 is removed?

Point the OpenAI SDK at a whisper-1-compatible endpoint and keep response_format="srt" or "vtt". This page's drop-in returns the same SRT and VTT output as whisper-1 did.

Will transcripts be as accurate as whisper-1?

Not quite. The drop-in runs the open Whisper small model, which measured about 4% word error rate on clean English, and is weaker than OpenAI's larger model on noisy audio and rare languages.

Is this OpenAI?

No. It is an independent service that runs OpenAI's open-source Whisper model (MIT license) behind the same API shape.

Do you keep my audio?

No. Audio is decoded in memory, transcribed and discarded.

Which languages are supported?

All 99 Whisper languages, with auto-detection. Passing language (ISO-639-1) improves speed and accuracy.

Get started

whisper-1 drop-in on Apify: copy the Standby URL into base_url and use your Apify token as api_key.