Whisper ist das von OpenAI als Open Source veröffentlichte Spracherkennungsmodell; OpenAI bietet zusätzlich eine gehostete Transkriptionsschnittstelle. Für Entwickler ist der bequemste Weg meist nicht der eigene Modellbetrieb, sondern ein Key und ein Aufruf von /v1/audio/transcriptions: Audiodatei hochladen, Text erhalten.

Dieser Artikel erklärt, wie Sie den Key erhalten, wie die Schnittstelle aufgerufen wird, welche Dateilimits gelten, wie Zeitstempel funktionieren und welche Fehler und Datenschutzfragen typisch sind. Die Unterstützung von Audio-Schnittstellen unterscheidet sich je nach Gateway; maßgeblich sind die Hinweise auf dieser Website.

Hinweis: OpenAI und Whisper sind Marken der jeweiligen Rechteinhaber; dieser Artikel dient ausschließlich der technischen Einbindung. Modellnamen, Dateilimits und Abrechnungsregeln können sich ändern; maßgeblich sind die offizielle Dokumentation und die Dokumentation auf dieser Website, Preise richten sich nach der Preisseite.

1. Was die Whisper API leistet

  • Besprechungen, Interviews und Vorlesungen transkribieren;
  • Entwürfe für Podcast- und Kurzvideountertitel;
  • Qualitätsprüfung von Kundengesprächen und Extraktion von Schlüsselwörtern;
  • Sprachaufzeichnungen aufbereiten;
  • mehrsprachige Audio-Transkription und Übersetzung (Übersetzung über eine separate Schnittstelle).

Nicht geeignet für: hochpräzise Erkennung in lauter Umgebung, Besprechungen mit notwendiger Sprechertrennung, forensische Audioauswertung. In diesen Fällen nach der Transkription manuell prüfen oder eine spezialisierte Sprechertrennungs-Lösung einsetzen.

2. Whisper API Key beschaffen

Whisper hat keinen eigenen „Whisper-Key“; verwendet wird der API Key der OpenAI-Plattform oder eines Gateways. Der hier genannte Whisper API Key ist genau dieser Schlüssel für die Transkriptionsschnittstelle.

Möglichkeit 1: OpenAI direkt

  1. Konto auf der OpenAI-Plattform registrieren und Zahlungsmethode einrichten.
  2. Auf der Seite „API Keys“ einen Key erstellen und nach Projekt benennen.
  3. Sicherstellen, dass das Konto über verfügbares Guthaben verfügt.
  4. Den Key in eine serverseitige Umgebungsvariable schreiben.

Möglichkeit 2: ZSQH AI Gateway

  1. Beim ZSQH AI Gateway registrieren und anmelden.
  2. Die Seite für API-Schlüssel öffnen und einen neuen Key erstellen.
  3. In den Modellpreisen oder der Dokumentation prüfen, ob das Transkriptionsmodell verfügbar ist.
  4. Einen kleinen Betrag aufladen und zuerst mit kurzem Audio testen.

Unabhängig vom Weg gehört der Key ausschließlich auf den Server. Hält das Frontend im Browser oder in der App den Key, wird das Konto faktisch an Dritte übergeben.

3. Base URL und Authentifizierung

Punkt OpenAI direkt ZSQH-Gateway
Base URL https://api.openai.com/v1 https://ai.zhongshangqihang.com/v1
Authentifizierung Authorization: Bearer <key> wie oben
Schnittstelle /audio/transcriptions nach Dokumentation auf dieser Website
Modell whisper-1 und weitere nach Dokumentation oder Preisseite

Ob das Gateway Audio-Schnittstellen vollständig weiterleitet und welche response_format-Werte unterstützt werden, steht in der Dokumentation auf dieser Website. Gehen Sie nicht davon aus, dass mit funktionierenden Text-Schnittstellen automatisch auch die Audio-Schnittstelle funktioniert.

4. Aufruf mit curl

export WHISPER_API_KEY="sk-IHR-SCHLUESSEL"

curl "https://ai.zhongshangqihang.com/v1/audio/transcriptions" \
  -H "Authorization: Bearer $WHISPER_API_KEY" \
  -F "file=@meeting.mp3" \
  -F "model=whisper-1" \
  -F "language=de" \
  -F "response_format=json"

Beachten Sie: Das ist multipart/form-data, kein JSON. Verwenden Sie -F statt -d, sonst erreicht die Datei den Server nicht.

5. Aufruf mit Python

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["WHISPER_API_KEY"],
    base_url="https://ai.zhongshangqihang.com/v1",
)

with open("meeting.mp3", "rb") as f:
    result = client.audio.transcriptions.create(
        model="whisper-1",  # nach Dokumentation auf dieser Website
        file=f,
        language="de",
        response_format="verbose_json",
        timestamp_granularities=["segment"],
    )

for seg in result.segments:
    print(f"{seg.start:.1f}-{seg.end:.1f}  {seg.text}")

language erwartet einen ISO-639-1-Code, etwa de, en oder zh. Ohne Angabe erkennt das Modell die Sprache automatisch, was bei kurzem Audio oder gemischtsprachigem Material leicht danebenliegt; eine explizite Angabe ist stabiler.

6. Dateiformate und Größenlimits

Punkt Übliche Begrenzung Empfehlung
Unterstützte Formate flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, webm Einheitlich nach mp3 oder wav konvertieren
Dateigröße 25 MB (laut offizieller Dokumentation) Darüber aufteilen
Abtastrate Keine feste Vorgabe 16 kHz mono genügt
Dauer Indirekt durch Dateigröße begrenzt Lange Audios in 10-Minuten-Segmente teilen
Mehrkanal Unterstützt, Erkennung meist schwächer Vorher mischen oder Hauptkanal wählen

Ein falsches Format führt zu 400, eine zu große Datei häufig zu 413. Transkodierung ist die zuverlässigste Vorverarbeitung.

7. Zeitstempel und Ausgabeformate

response_format Rückgabe Geeignet für
json Reiner Text Nur Text benötigt
text Reiner Text, einfacherer Antwortkörper Skript-Pipelines
srt Untertiteldatei Videoschnitt
vtt Web-Untertitel Webplayer
verbose_json Text, Segmente, Sprache, Dauer Zeitstempel benötigt

Segmentgenaue Zeitstempel über timestamp_granularities=["segment"]; wortgenaue Zeitstempel sind üblicherweise nur bei whisper-1 und mit verbose_json verfügbar. Die konkrete Unterstützung richtet sich nach der offiziellen oder der Dokumentation auf dieser Website.

8. Umgang mit langen Audiodateien

Audios über dem Größenlimit mit ffmpeg aufteilen und segmentweise transkribieren:

ffmpeg -i input.mp3 -f segment -segment_time 600 \
  -ac 1 -ar 16000 -b:a 64k part_%03d.mp3

Beim Aufteilen beachten:

  1. Möglichst an Sprechpausen schneiden, damit keine Wörter zerteilt werden.
  2. Den Startversatz jedes Segments notieren und beim Zusammenführen auf die Zeitstempel addieren.
  3. Zwischen Segmenten 0,5–1 Sekunde Überlappung lassen, um Wortverluste an den Grenzen zu verringern.
  4. Nach dem Zusammenführen Duplikate entfernen und die Interpunktion bereinigen.

9. Häufige Fehler

Fehler Ursache Vorgehen
401 Key falsch oder Bearer fehlt Key und Request-Header prüfen
404 Base URL oder Pfad falsch /v1/audio/transcriptions prüfen
400 unsupported file Format nicht unterstützt Nach mp3 oder wav konvertieren
413 Datei zu groß Komprimieren oder aufteilen
429 Rate oder Kontingent überschritten Parallelität senken, Backoff verwenden
Leerer Text Stille, zu leise, Sprachfehlerkennung Audio prüfen, language angeben
Timeout Große Datei oder langsames Netz Aufteilen, Timeout erhöhen

10. Kostenkontrolle

  1. Vor der Transkription Stille erkennen und leere Abschnitte entfernen.
  2. Einheitlich 16 kHz mono konvertieren, um die Dateigröße zu senken.
  3. Lange Audios parallel segmentieren, aber die Parallelität begrenzen, um 429 zu vermeiden.
  4. Zuerst einen kurzen Ausschnitt prüfen, dann den Rest batchweise senden.
  5. Die Audiodauer jedes Aufrufs erfassen und nach Projekt abstimmen.
  6. Wiederholungen begrenzen, um doppelte Abrechnung zu vermeiden.

Audio-Transkription wird üblicherweise pro Minute abgerechnet; der Einzelpreis steht in den Modellpreisen. Günstig bedeutet nicht sparsam: Formatkonvertierung, manuelle Prüfung und Wiederholungen fließen in die Gesamtkosten ein.

11. Wie die Genauigkeit steigt

  1. Audio vorbereiten: 16 kHz mono, leichte Rauschunterdrückung, Knallgeräusche und lange Stille entfernen.
  2. Sprache festlegen: für deutsche Aufnahmen language=de, bei gemischtsprachigem Material eine segmentweise Verarbeitung prüfen.
  3. Prompt mitgeben: Eigennamen, Personen- und Produktnamen über den prompt-Parameter übergeben, damit das Modell die Begriffe trifft.
  4. Sinnvoll segmentieren: an Sprechpausen schneiden, 5–10 Minuten pro Segment, um Wortverluste an Grenzen zu vermeiden.
  5. Nachbearbeiten: Zahlen, Daten, Beträge und Eigennamen regelbasiert prüfen, in kritischen Fällen manuell gegenlesen.
  6. Wörterbuch aufbauen: häufige Fehlwörter als Ersetzungstabelle sammeln und mit jeder Version verbessern.

Eine einheitliche Genauigkeitszahl gibt es nicht; sie hängt stark von Aufnahmequalität, Akzent und Fachwortschatz ab. Vor dem Livegang eine Stichprobe mit echtem Audiomaterial aus dem eigenen Geschäft ist aussagekräftiger als Werbeparameter.

12. Datenschutz und Compliance

  • Audio kann Namen, Telefonnummern, Adressen oder Gesundheitsdaten enthalten; vor dem Upload informieren und eine Einwilligung einholen.
  • Sensible Inhalte vorab anonymisieren oder eine privat betreibbare Lösung wählen.
  • Aufbewahrungsrichtlinien, Log-Strategie und Löschwege des Anbieters prüfen.
  • Audios mit Kundendaten nicht unter öffentlich erreichbaren URLs ablegen.
  • Bei grenzüberschreitender Übertragung lokale Vorschriften und Unternehmens-Compliance bewerten.

Häufige Fragen

Unterstützt die Whisper API Deutsch?

Ja. Für deutsche Aufnahmen empfiehlt sich language=de und die Ergänzung von Eigennamen im Prompt oder in der Nachbearbeitung.

Kann ein Key auch Textmodelle aufrufen?

Im Gateway ist das meist möglich, ob die Audio-Schnittstelle freigeschaltet ist, steht jedoch in der Dokumentation auf dieser Website; bei einem offiziellen Key richten sich die Rechte nach Konto und Projektkonfiguration.

Sind wortgenaue Zeitstempel möglich?

Einige Modelle und Formate unterstützen das, üblicherweise mit verbose_json und timestamp_granularities. Maßgeblich ist die Dokumentation.

Was tun bei Audios über 25 MB?

Mit ffmpeg komprimieren oder in 10-Minuten-Segmente teilen, segmentweise transkribieren und zusammenführen. Schnittpunkte möglichst in Sprechpausen legen.

Dürfen Transkripte kommerziell verwendet werden?

Das hängt von den Rechten am Audioinhalt, den Plattformbedingungen und lokalem Recht ab. Bei fremden Aufnahmen, Musik oder Kursinhalten zuerst die Erlaubnis klären.

Nächste Schritte

Beim ZSQH AI Gateway registrieren, einen Test-Key erstellen, mit einer einminütigen Audiodatei /v1/audio/transcriptions testen und anschließend in den Batch-Prozess einbinden. Modelle und Preise richten sich nach den Modellpreisen.

Weiterlesen: