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
- Konto auf der OpenAI-Plattform registrieren und Zahlungsmethode einrichten.
- Auf der Seite „API Keys“ einen Key erstellen und nach Projekt benennen.
- Sicherstellen, dass das Konto über verfügbares Guthaben verfügt.
- Den Key in eine serverseitige Umgebungsvariable schreiben.
Möglichkeit 2: ZSQH AI Gateway
- Beim ZSQH AI Gateway registrieren und anmelden.
- Die Seite für API-Schlüssel öffnen und einen neuen Key erstellen.
- In den Modellpreisen oder der Dokumentation prüfen, ob das Transkriptionsmodell verfügbar ist.
- 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:
- Möglichst an Sprechpausen schneiden, damit keine Wörter zerteilt werden.
- Den Startversatz jedes Segments notieren und beim Zusammenführen auf die Zeitstempel addieren.
- Zwischen Segmenten 0,5–1 Sekunde Überlappung lassen, um Wortverluste an den Grenzen zu verringern.
- 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
- Vor der Transkription Stille erkennen und leere Abschnitte entfernen.
- Einheitlich 16 kHz mono konvertieren, um die Dateigröße zu senken.
- Lange Audios parallel segmentieren, aber die Parallelität begrenzen, um 429 zu vermeiden.
- Zuerst einen kurzen Ausschnitt prüfen, dann den Rest batchweise senden.
- Die Audiodauer jedes Aufrufs erfassen und nach Projekt abstimmen.
- 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
- Audio vorbereiten: 16 kHz mono, leichte Rauschunterdrückung, Knallgeräusche und lange Stille entfernen.
- Sprache festlegen: für deutsche Aufnahmen
language=de, bei gemischtsprachigem Material eine segmentweise Verarbeitung prüfen. - Prompt mitgeben: Eigennamen, Personen- und Produktnamen über den
prompt-Parameter übergeben, damit das Modell die Begriffe trifft. - Sinnvoll segmentieren: an Sprechpausen schneiden, 5–10 Minuten pro Segment, um Wortverluste an Grenzen zu vermeiden.
- Nachbearbeiten: Zahlen, Daten, Beträge und Eigennamen regelbasiert prüfen, in kritischen Fällen manuell gegenlesen.
- 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:
