Whisper wird abgeschaltet Earnings-Calls mit gpt-transcribe.
Wer Earnings-Calls, Investorenkonferenzen oder Finanz-Podcasts über die OpenAI-API transkribiert, muss bis zum 26. Februar 2027 umstellen. OpenAI hat am 26. August 2026 die Modelle whisper-1, gpt-4o-transcribe, gpt-4o-mini-transcribe und gpt-4o-transcribe-diarize abgekündigt und nennt als Ersatz gpt-transcribe für Aufzeichnungen und gpt-live-transcribe für Livestreams. Betroffen ist nur der API-Dienst; das quelloffene Whisper-Modell bleibt grundsätzlich selbst betrieben nutzbar. Dieser Artikel zeigt, Stand Oktober 2026, die Migration in Python: den neuen Aufruf, den Umgang mit der 25-MB-Grenze, Kontext-Prompt und Keyword-Hinweise für Tickersymbole, eine Kostenrechnung für eine Earnings-Saison und die Lücken, die OpenAI bislang offenlässt – vor allem bei Zeitstempeln und Sprecher-Erkennung.
Welche OpenAI-Transkriptionsmodelle werden abgeschaltet und wann?
Am 26. August 2026 hat OpenAI die bisherigen Speech-to-Text-Modelle der API abgekündigt. Die Abschaltung ist für den 26. Februar 2027 angesetzt. Für jedes der vier Modelle nennt die Deprecations-Seite denselben Ersatz: gpt-transcribe oder gpt-live-transcribe.
| Modell | Preis pro Minute (bisher) | Typischer Einsatz | Ersatz laut OpenAI |
|---|---|---|---|
| whisper-1 | 0,006 $ | Zeitstempel, Untertitel, Übersetzung nach Englisch | gpt-transcribe / gpt-live-transcribe |
| gpt-4o-transcribe | 0,006 $ | Transkription mit Prompt | gpt-transcribe / gpt-live-transcribe |
| gpt-4o-mini-transcribe | 0,003 $ | günstige Massen-Transkription | gpt-transcribe / gpt-live-transcribe |
| gpt-4o-transcribe-diarize | 0,006 $ | Sprecher-Labels | gpt-transcribe / gpt-live-transcribe |
Für Research-Pipelines ist das Datum heikler, als es klingt. Transkriptions-Jobs laufen oft nachts und unbeaufsichtigt, etwa nach jedem Earnings-Call einer Watchlist. Antwortet die API auf den alten Modellnamen nur noch mit einem Fehler und wird dieser Fehler nicht überwacht, fehlen die Transkripte still – und die nachgelagerte Auswertung arbeitet mit Lücken weiter.
Zur Abgrenzung: Hier geht es nur um die API-Migration. Wie Whisper im Unternehmen allgemein eingesetzt wird und was beim Selbstbetrieb zu beachten ist, beschreibt der Artikel Whisper für Audio-Transkripte. Das quelloffene Modell ist von der Abschaltung des API-Dienstes nicht betroffen.
gpt-transcribe oder gpt-live-transcribe: was passt zu Aufzeichnung und Livestream?
Die beiden Nachfolger sind keine Varianten desselben Modells, sondern für unterschiedliche Aufgaben gebaut. gpt-transcribe ist das allgemeine Modell für Audiodateien, gpt-live-transcribe ein Streaming-Modell für niedrige Latenz bei Live-Audio.
| Kriterium | gpt-transcribe | gpt-live-transcribe |
|---|---|---|
| Gedacht für | Aufzeichnungen, Archiv, Replays | Live-Audio mit Text-Deltas |
| Endpunkte | /v1/audio/transcriptions und Realtime-Transkription | nur Realtime-Transkription |
| Preis (Stand 07.10.2026) | 0,0045 $ pro Minute | 0,017 $ pro Minute |
| Kontext und Keywords | ja, plus mehrere Sprach-Hinweise | ja, Latenz einstellbar |
| Rate-Limit im Build-Tier | 5.000 Anfragen pro Minute | 2.000 Anfragen pro Minute |
Für Earnings-Research reicht in den meisten Fällen die Aufzeichnung. Viele Unternehmen stellen den Webcast nach dem Call als Replay bereit, und für eine sorgfältige Auswertung kommt es selten auf Sekunden an. gpt-transcribe ist dafür knapp viermal günstiger und lässt sich mit stream=True trotzdem schrittweise auslesen: Die API liefert dann Text-Deltas, sodass die Weiterverarbeitung beginnen kann, bevor der ganze Teil fertig ist.
gpt-live-transcribe lohnt sich nur, wenn Sie während des Calls reagieren wollen, etwa für einen Alarm bei bestimmten Begriffen. Dann sollten Sie zwei Dinge klären: ob die Nutzungsbedingungen des Webcast-Anbieters das Mitschneiden des Audiostreams erlauben, und wie Sie mit Hör- und Erkennungsfehlern umgehen. Ein Live-Transkript ist ein Rohsignal, keine geprüfte Information.
Wie stellen Sie Python-Code von Whisper auf gpt-transcribe um?
Im einfachsten Fall ändert sich nur der Modellname. Zwei Details brechen aber bestehenden Code: Für gpt-transcribe ersetzt das Feld languages (eine Liste) das bisherige language, und laut Guide sollen nicht beide Felder gleichzeitig gesendet werden. Die Übergabe von languages und keywords über extra_body entspricht dem Python-Beispiel im Speech-to-Text-Guide. Außerdem dokumentiert OpenAI für gpt-transcribe als Antwort ein JSON mit Text und erkannten Sprachen; Ausgaben mit Zeitangaben wie verbose_json beschreibt der Guide nur für whisper-1.
# vorher (whisper-1 oder gpt-4o-transcribe)
r = client.audio.transcriptions.create(
model="whisper-1", file=f, language="en", response_format="text")
# nachher (gpt-transcribe)
r = client.audio.transcriptions.create(
model="gpt-transcribe", file=f,
extra_body={"languages": ["en"]}) # nicht zusätzlich language senden
text = r.textDie eigentliche Arbeit steckt in der Dateigröße. Die API nimmt mp3, mp4, mpeg, mpga, m4a, wav und webm an, höchstens 25 MB pro Datei. Rechenbeispiel: Eine Stereo-MP3 mit 128 kbit/s braucht knapp 1 MB pro Minute, ein einstündiger Call also rund 58 MB. Als Mono-Datei mit 48 kbit/s sind es etwa 0,36 MB pro Minute, eine Stunde also gut 21 MB – knapp unter der Grenze, bei längeren Calls aber schon darüber.
OpenAI empfiehlt, große Aufnahmen zu komprimieren oder aufzuteilen und dabei nicht mitten im Satz zu schneiden, weil sonst Kontext verloren geht. Das folgende Skript ist als Ausgangspunkt gedacht, nicht als fertig getestete Lösung, und nutzt dafür ffmpeg: Es sucht Sprechpausen, schneidet Teile von rund 15 Minuten jeweils an der letzten Pause davor, komprimiert sie und gibt dem nächsten Teil das Ende des vorherigen als Kontext mit.
import re, subprocess
from pathlib import Path
from openai import OpenAI
client = OpenAI() # liest OPENAI_API_KEY aus der Umgebung
TEIL_SEK = 15 * 60 # Zielgröße eines Teils: 15 Minuten
SUCHFENSTER = 120 # Pause in den letzten 2 Minuten davor suchen
def dauer(datei: Path) -> float:
out = subprocess.run(["ffprobe", "-v", "error", "-show_entries", "format=duration",
"-of", "default=nw=1:nk=1", str(datei)],
capture_output=True, text=True, check=True)
return float(out.stdout)
def pausen(datei: Path) -> list[float]:
log = subprocess.run(["ffmpeg", "-i", str(datei), "-af",
"silencedetect=noise=-35dB:d=0.6", "-f", "null", "-"],
capture_output=True, text=True).stderr
return [float(x) for x in re.findall(r"silence_end: ([\d.]+)", log)]
def schnittpunkte(datei: Path) -> list[float]:
gesamt, stille = dauer(datei), pausen(datei)
punkte = [0.0]
while gesamt - punkte[-1] > TEIL_SEK:
ziel = punkte[-1] + TEIL_SEK
kandidaten = [s for s in stille if ziel - SUCHFENSTER <= s <= ziel]
punkte.append(max(kandidaten) if kandidaten else ziel)
return punkte + [gesamt]
def teile(datei: Path):
ordner = datei.parent / (datei.stem + "_teile")
ordner.mkdir(exist_ok=True)
p = schnittpunkte(datei)
for i, (a, b) in enumerate(zip(p, p[1:])):
ziel = ordner / f"teil_{i:02d}.mp3"
# Mono, 16 kHz, 48 kbit/s: rund 0,36 MB pro Minute
subprocess.run(["ffmpeg", "-y", "-v", "error", "-i", str(datei),
"-ss", f"{a:.2f}", "-t", f"{b - a:.2f}",
"-ac", "1", "-ar", "16000", "-b:a", "48k", str(ziel)], check=True)
assert ziel.stat().st_size < 24 * 1024 * 1024, "Teil zu groß"
yield a, ziel
def transkribiere(datei: str, kontext: str, keywords: list[str]) -> list[dict]:
ergebnis = []
for start, teil in teile(Path(datei)):
prompt = kontext
if ergebnis: # Anschluss an den vorherigen Teil mitgeben
prompt += " Previous segment ended with: " + ergebnis[-1]["text"][-300:]
with open(teil, "rb") as f:
r = client.audio.transcriptions.create(
model="gpt-transcribe", file=f, prompt=prompt,
extra_body={"keywords": keywords, "languages": ["en"]})
ergebnis.append({"start_sek": round(start), "text": r.text})
return ergebnisVoraussetzung ist eine lokale ffmpeg-Installation samt ffprobe. Die Teile sind bewusst kleiner als nötig: Ein Fehler kostet dann nur einen Teil, die Teile lassen sich parallel verarbeiten, und die Startzeit jedes Teils dient später als grober Zeitstempel. Eine Höchstdauer pro Datei nennt die Doku für gpt-transcribe neben den 25 MB nicht; kurze Teile sind trotzdem die robustere Wahl. Schwellwerte wie -35dB und die Mindestpause von 0,6 Sekunden (ffmpeg-Standard: −60 dB und 2 Sekunden) sollten Sie an eigenen Aufnahmen prüfen, denn Telefonleitungen und Webcasts klingen sehr unterschiedlich.
Tickersymbole und Fachbegriffe: Kontext-Prompt und Keyword-Hinweise.
Earnings-Calls sind für Spracherkennung schwierig: Firmen- und Produktnamen, Abkürzungen wie ARR oder EBITDA, Namen von Analysten und vor allem Zahlen. gpt-transcribe bietet dafür zwei Stellschrauben. Der Kontext-Prompt (prompt) ist freier Text, der die Aufnahme beschreibt. Die Keyword-Hinweise (keywords) sind eine Liste wörtlicher Begriffe, die in der Aufnahme erwartet werden. Laut Guide muss jedes Keyword in einer Zeile stehen, also ohne Zeilenumbruch, und darf weder < noch > enthalten.
Bei whisper-1 war der Prompt auf 224 Tokens begrenzt. Für gpt-transcribe nennt der Guide keine konkrete Zahl, weist aber darauf hin, dass die API die ganze Anfrage ablehnt, wenn der Prompt die Längengrenze des Modells überschreitet oder ein Keyword unzulässige Zeichen enthält. Kurz und präzise ist deshalb die sichere Wahl. Gute Quellen für beide Felder sind die Pressemitteilung zu den Quartalszahlen und die Investor-Relations-Seite des Unternehmens:
- Firmenname und Tickersymbol, gegebenenfalls Namen von Tochtergesellschaften
- Namen von CEO, CFO und Investor-Relations-Leitung
- Produkt-, Segment- und Projektnamen aus dem Quartalsbericht
- Kennzahlen, die das Unternehmen berichtet, etwa „non-GAAP EPS“, „free cash flow“ oder „net revenue retention“
- bei Bedarf Namen der Analysten-Häuser, die regelmäßig Fragen stellen
Typisches Beispiel für den Aufruf mit der Funktion aus dem vorigen Abschnitt (Firma und Namen sind erfunden):
kontext = ("Q3 2026 earnings call of Example Corp (ticker EXMP). "
"Speakers: CEO Jane Doe, CFO John Roe, analysts from several banks.")
keywords = ["EXMP", "Example Corp", "Jane Doe", "John Roe",
"non-GAAP EPS", "free cash flow", "ARR", "net revenue retention"]
teile_text = transkribiere("exmp_q3_2026.mp3", kontext, keywords)Halten Sie die Liste auf Begriffe beschränkt, die tatsächlich fallen dürften. Ob sehr lange Listen der Qualität schaden, dokumentiert OpenAI nicht – das sollten Sie mit eigenen Aufnahmen testen. Bei Calls deutscher Unternehmen, in denen Vorträge auf Deutsch und Fragen auf Englisch laufen, geben Sie ["de", "en"] als Sprach-Hinweis an; gpt-transcribe unterstützt laut OpenAI auch Wechsel der Sprache innerhalb einer Aufnahme.
Rechenbeispiel: Kosten für eine Earnings-Saison.
Abgerechnet wird nach Audiodauer. Rechenbeispiel mit einer durchschnittlichen Call-Länge von 60 Minuten und den Preisen der OpenAI-Pricing-Seite vom 07.10.2026:
| Szenario | Minuten | gpt-transcribe | gpt-4o-mini-transcribe (bis Feb. 2027) | whisper-1 (bis Feb. 2027) | gpt-live-transcribe |
|---|---|---|---|---|---|
| Watchlist, 50 Calls | 3.000 | 13,50 $ | 9,00 $ | 18,00 $ | 51,00 $ |
| Breites Universum, 500 Calls | 30.000 | 135,00 $ | 90,00 $ | 180,00 $ | 510,00 $ |
Daraus folgen drei Punkte. Wer bisher whisper-1 oder gpt-4o-transcribe nutzt, zahlt künftig 25 Prozent weniger pro Minute. Wer auf gpt-4o-mini-transcribe gesetzt hat, zahlt 50 Prozent mehr. Und wer live statt aus der Aufzeichnung transkribiert, zahlt fast das Vierfache.
In absoluten Zahlen bleibt die Transkription meist der kleinere Kostenblock. Teurer wird in der Regel die anschließende Auswertung mit einem Sprachmodell, wie sie im Artikel Earnings-Calls mit LLMs parsen beschrieben ist. Zwei einfache Hebel bei der Transkription: Wartemusik und Stille vor Beginn des Calls abschneiden, denn sie werden als Audiodauer mitberechnet, und Replays nicht doppelt verarbeiten. Einen Batch-Rabatt für Transkriptionsmodelle weist die Pricing-Seite nicht aus.
Offene Lücken: Zeitstempel, Sprecher-Erkennung, Qualitätsprüfung.
Die Migration ist nicht für jeden Anwendungsfall vollständig. Drei Funktionen sind laut Speech-to-Text-Guide an Modelle gebunden, die abgeschaltet werden:
- Zeitstempel: Wort- und Segment-Zeitstempel (
timestamp_granularities) gibt es nur mit whisper-1. - Übersetzung nach Englisch: Der Endpunkt
/v1/audio/translationsarbeitet nur mit whisper-1. - Sprecher-Labels: Das Format
diarized_jsonmit Sprecher, Start und Ende liefert nur gpt-4o-transcribe-diarize.
Die Deprecations-Seite nennt zwar auch für diese Modelle gpt-transcribe und gpt-live-transcribe als Ersatz. Die Dokumentation beider Nachfolger erwähnt aber weder Zeitstempel noch Sprecher-Erkennung. Stand Oktober 2026 ist damit nicht klar, wie diese Funktionen nach dem Februar weiter angeboten werden. Bis dahin gibt es pragmatische Behelfe: Die Startzeiten der Teile ergeben grobe Zeitstempel, feinere Teile ergeben feinere. Für die Struktur eines Earnings-Calls hilft, dass der Moderator der Telefonkonferenz (Operator) Fragesteller meist namentlich ankündigt; ein Sprachmodell kann daraus Abschnitte wie vorbereitete Statements und Q&A ableiten. Das ist fehleranfällig und ersetzt keine echte Sprecher-Erkennung. Übersetzungen lassen sich über Transkription plus Sprachmodell lösen. Wer Zeitstempel oder Sprecher-Labels zwingend braucht, sollte auch einen selbst betriebenen Open-Source-Ansatz prüfen.
Unabhängig davon gehört eine Qualitätsprüfung in jede Migration. Viele Unternehmen veröffentlichen Transkripte auf ihrer Investor-Relations-Seite, andere nur über kommerzielle Anbieter mit eigenen Nutzungsbedingungen. Nehmen Sie fünf bis zehn Calls mit offiziellem Transkript, transkribieren Sie sie mit altem und neuem Modell und vergleichen Sie. Eine Wortfehlerrate lässt sich in Python etwa mit dem Paket jiwer berechnen. Wichtiger als die Gesamtquote sind aber die Stellen, die Ihre Auswertung verwendet: Umsatz, Gewinn je Aktie, Prognosespannen, Tickersymbole und Namen. Ein verhörtes „fifteen“ statt „fifty“ verändert eine Aussage komplett.
Daraus folgt eine klare Grenze: Ein automatisch erzeugtes Transkript ist eine Arbeitsgrundlage, keine verlässliche Quelle für Handelsentscheidungen. Wer Signale aus Transkripten ableitet, braucht Plausibilitätsprüfungen gegen die veröffentlichten Zahlen und eine menschliche Kontrolle, bevor Kapital im Spiel ist. Hinzu kommt das Anbieterrisiko: OpenAI hat seine Transkriptionsmodelle zuletzt in vergleichsweise kurzen Abständen gewechselt, und mit jedem Wechsel können Funktionen wegfallen. Planen Sie den Modellwechsel als wiederkehrende Aufgabe, nicht als Einmalprojekt.
Checkliste für den Umstieg vor Februar 2027.
Die folgende Reihenfolge klärt zuerst den Funktionsbedarf und erst danach den Code. So fällt eine fehlende Funktion auf, bevor Umbauaufwand entsteht:
- Inventur: Code und Konfiguration nach
whisper-1,gpt-4o-transcribe,gpt-4o-mini-transcribe,gpt-4o-transcribe-diarize,/audio/translationsundtimestamp_granularitiesdurchsuchen. - Funktionsbedarf klären: Brauchen Sie Zeitstempel, Sprecher-Labels oder Übersetzung? Wenn ja, einen Plan B festlegen, bevor das alte Modell verschwindet.
- Modellname auslagern: in eine Konfigurationsdatei oder Umgebungsvariable, damit der nächste Wechsel eine Zeile kostet.
- Aufruf anpassen:
languagedurchlanguagesersetzen, Kontext-Prompt und Keywords ergänzen, Auswertung der Antwort auf das neue JSON umstellen. - Größe absichern: Komprimierung und Aufteilung in Sprechpausen einbauen, Dateigröße vor dem Upload prüfen.
- Testset aufbauen: fünf bis zehn Calls mit offiziellem Transkript, Vergleich alt gegen neu, Fokus auf Zahlen und Namen.
- Kosten neu rechnen: Minuten pro Saison mal 0,0045 $, Budget-Warnungen oder -Grenzen im API-Konto einrichten.
- Überwachung: fehlgeschlagene Transkriptionen melden lassen, die Deprecations-Seite von OpenAI regelmäßig prüfen.
- Puffer einplanen: Ziel ist ein vollständig umgestellter Betrieb deutlich vor dem 26. Februar 2027, idealerweise vor der Berichtssaison im Januar.
Wenn Sie Ihre Research- oder Trading-Pipeline nicht selbst umbauen wollen oder die Umstellung prüfen lassen möchten: Unter Trading-Automatisierung finden Sie, wie ich solche Python-Systeme für private Trader und Unternehmen entwickle und teste.
Häufige Fragen.
Wann schaltet OpenAI Whisper in der API ab?
OpenAI hat whisper-1 zusammen mit gpt-4o-transcribe, gpt-4o-mini-transcribe und gpt-4o-transcribe-diarize am 26. August 2026 abgekündigt. Die Abschaltung ist für den 26. Februar 2027 angesetzt. Als Ersatz nennt OpenAI gpt-transcribe für Audiodateien und gpt-live-transcribe für Echtzeit-Transkription.
Kann man Whisper nach der Abschaltung noch nutzen?
Abgeschaltet wird der API-Dienst whisper-1 bei OpenAI. Das quelloffene Whisper-Modell lässt sich grundsätzlich weiterhin auf eigener Hardware betreiben. Das erfordert allerdings eigene Infrastruktur, Wartung und Qualitätsprüfung und ist eine andere Entscheidung als die reine API-Migration.
Was kostet gpt-transcribe pro Stunde Audio?
Laut OpenAI-Pricing-Seite vom 7. Oktober 2026 kostet gpt-transcribe 0,0045 US-Dollar pro Audiominute, also rund 0,27 US-Dollar pro Stunde. Das Echtzeit-Modell gpt-live-transcribe kostet 0,017 US-Dollar pro Minute, rund 1,02 US-Dollar pro Stunde. Preise können sich ändern und sollten vor einer Kalkulation geprüft werden.
Unterstützt gpt-transcribe Zeitstempel und Sprecher-Erkennung?
Stand Oktober 2026 nennt die Dokumentation für gpt-transcribe weder Zeitstempel noch Sprecher-Labels. Zeitstempel sind im Guide an whisper-1 gebunden, Sprecher-Labels an gpt-4o-transcribe-diarize, und beide werden am 26. Februar 2027 abgeschaltet. Grobe Zeitstempel lassen sich über die Startzeiten aufgeteilter Audiodateien rekonstruieren.
Wie transkribiert man Audiodateien über 25 MB mit der OpenAI-API?
Die API akzeptiert höchstens 25 MB pro Datei. Längere Aufnahmen werden komprimiert, etwa als Mono-MP3 mit niedriger Bitrate, und in Teile zerlegt. OpenAI empfiehlt, nicht mitten im Satz zu schneiden. In Python geht das zum Beispiel mit ffmpeg und dessen Pausenerkennung; jeder Teil wird einzeln transkribiert und danach wieder zusammengesetzt.
Quellen und Stand.
- Deprecations — OpenAI
- Speech to text — OpenAI
- gpt-transcribe (Model) — OpenAI
- gpt-live-transcribe (Model) — OpenAI
- API Pricing — OpenAI
- FFmpeg Filters Documentation: silencedetect — FFmpeg
- openai/whisper (MIT-Lizenz) — OpenAI auf GitHub
Stand: 7. Oktober 2026. Produkte, Funktionen und Preise ändern sich schnell; maßgeblich sind die Angaben der Anbieter und Behörden.
Sie wollen Ihre Transkriptions- und Research-Pipeline rechtzeitig umstellen? Unverbindlich anfragen — wir prüfen Ihren Code, bauen Aufteilung, Kontext-Hinweise und Qualitätsprüfung und testen gegen echte Calls. Mehr zu meinem Angebot: Trading-Systeme entwickeln lassen.