Zum Hauptinhalt springen
Lektion 7 von 18 · Realtime API und Voice Agents

Unterstützte Formate und Sprachen

Lektion 7 von 18 Aktualisiert am 3. November 2026 Entwickler
Auf dieser Seite
  1. Unterstützte Formate und Sprachen
  2. Unterstützte Audioformate
  3. Unterstützte Sprachen
  4. Umgang mit mehrsprachigem Inhalt
  5. Preisgestaltung
  6. Kernaussagen

Aktualisierung vom 2. November 2026 — Audio-Modelle. Mehrere Modelle in diesem Kurs sind veraltet: tts-1, tts-1-hd und gpt-4o-mini-tts werden am 6. Januar 2027 abgeschaltet (die angegebene Ersatzlösung ist gpt-realtime-2.1-mini, die laut OpenAI-TTS-Leitfaden nicht durch /v1/audio/speech unterstützt wird: Die Migration der Spracherstellung erfolgt über die Realtime API); gpt-realtime, gpt-4o-realtime und veraltete Audio-Modelle am 20. Januar 2027 (gpt-realtime-2.1, gpt-realtime-2.1-mini, gpt-audio-1.5); whisper-1, gpt-4o-transcribe und /v1/audio/translations am 26. Februar 2027 (gpt-transcribe, gpt-live-transcribe, v1/realtime/translations). Für die Voll-Duplex-Stimme ist GPT-Live 1 seit dem 10. September 2026 in der API verfügbar. Lektion korrigiert am 3. November 2026: Beispiele aktualisiert von whisper-1 zu gpt-transcribe (unter Verwendung des Parameters languages), Anzahl der Whisper-Sprachen korrigiert (98, nicht „über 50”, gemäß dem Leitfaden zur Datei-Transkription), zweistufige mehrsprachige Methode durch gpt-transcribe-Sprachhinweise ersetzt, Preissätze bezogen. Quellen: Datei-Transkription · GPT-Transcribe · Transkription erstellen.

Unterstützte Formate und Sprachen

Die Transkriptionsmodelle von OpenAI akzeptieren eine Vielzahl von Audioformaten und unterstützen Dutzende von Sprachen. Die Wahl des richtigen Eingabeformats und die korrekte Konfiguration der Sprache wirken sich direkt auf die Transkriptionsqualität und die Kosten aus. In dieser Lektion werden die verfügbaren Optionen und bewährte Verfahren im Detail erläutert.

Unterstützte Audioformate

Laut API-Referenz akzeptiert der Transkriptionsendpunkt die Formate flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav und webm, sofern der Dateiname die korrekte Endung enthält. Die gebräuchlichsten Formate:

Format Endung Komprimierung Empfohlene Verwendung
MP3 .mp3 Verlustbehaftet, gutes Verhältnis Podcasts, Sprachaufnahmen
MP4 / M4A .mp4, .m4a AAC (verlustbehaftet) Videos, mobile Aufnahmen
WAV .wav Unkomprimiert Studio-Aufnahmen
WebM .webm Opus (verlustbehaftet) Browser-Aufnahmen
FLAC .flac Verlustfrei Maximale Qualität ohne Qualitätsverlust
OGG .ogg Vorbis/Opus Open-Source-Anwendungen

Die maximale Dateigröße beträgt 25 MB. Bei einem MP3 mit 128 kbps entspricht dies etwa 25 Minuten Audio. Bei unkomprimiertem WAV ist die Zeit deutlich kürzer.

Optimierung der Dateigröße

from pydub import AudioSegment

def optimize_for_transcription(input_path: str, output_path: str):
    """Konvertiert eine Audiodatei in ein leichtgewichtiges MP3, das für Sprache ausreicht."""
    audio = AudioSegment.from_file(input_path)

    # Konvertieren in Mono 16 kHz (ausreichend für Sprache)
    audio = audio.set_channels(1)
    audio = audio.set_frame_rate(16000)

    # Export als 64 kbps MP3 (gutes Verhältnis von Qualität zu Größe für Sprache)
    audio.export(output_path, format="mp3", bitrate="64k")

    return output_path

Unterstützte Sprachen

whisper-1 unterstützt 98 Sprachen, wobei die Genauigkeit je nach Sprache variiert. gpt-transcribe erkennt die Sprache automatisch; wenn Sie wissen, welche Sprachen erwartet werden, geben Sie diese im Parameter languages an: ISO 639-1-Codes (fr, en, es…), einige ISO 639-3-Codes (eng, spa, yue, cmn) und regionale chinesische Varianten (zh-cn, zh-tw, zh-hk). Ein nicht unterstützter oder fehlerhafter Code führt dazu, dass die Anfrage fehlschlägt.

# Automatische Erkennung (Standard)
result = client.audio.transcriptions.create(
    model="gpt-transcribe",
    file=audio_file,
)
print(result.languages)  # erkannte Sprachen mit ausreichender Sicherheit

# Erwartete Sprachen
result = client.audio.transcriptions.create(
    model="gpt-transcribe",
    file=audio_file,
    languages=["fr"],
)

languages ist eine Liste, die spezifisch für gpt-transcribe ist; ältere Modelle akzeptieren eine einzelne Sprache im Parameter language. Senden Sie niemals beide gleichzeitig.

Häufige europäische Sprachen

Die am häufigsten verwendeten ISO 639-1-Codes in Europa:

EUROPEAN_LANGUAGES = {
    "fr": "Französisch",
    "en": "Englisch",
    "de": "Deutsch",
    "es": "Spanisch",
    "it": "Italienisch",
    "pt": "Portugiesisch",
    "nl": "Niederländisch",
    "pl": "Polnisch",
    "ro": "Rumänisch",
    "sv": "Schwedisch",
    "da": "Dänisch",
    "fi": "Finnisch",
    "el": "Griechisch",
    "cs": "Tschechisch",
    "hu": "Ungarisch",
    "bg": "Bulgarisch",
    "hr": "Kroatisch",
    "sk": "Slowakisch",
    "sl": "Slowenisch",
    "et": "Estnisch",
    "lv": "Lettisch",
    "lt": "Litauisch",
}

Umgang mit mehrsprachigem Inhalt

Ein internationales Meeting wechselt zwischen Sprachen. gpt-transcribe ist für diesen Fall konzipiert: Die Modellkarte verweist auf die Unterstützung mehrerer Sprachhinweise, mehrsprachiger Audioinhalte und Code-Switching innerhalb eines einzigen Satzes. Geben Sie alle erwarteten Sprachen in einem Durchgang an:

with open("international-meeting.mp3", "rb") as f:
    result = client.audio.transcriptions.create(
        model="gpt-transcribe",
        file=f,
        languages=["fr", "en", "de"],
    )

print(result.text)
print("Erkannte Sprachen:", result.languages)

Die alte zweistufige Methode, bei der die dominierende Sprache mit whisper-1 im Modus verbose_json erkannt und die Transkription dann durch Erzwingen dieser Sprache erneut durchgeführt wurde, ist nicht mehr notwendig: Sie erzwingt eine einzelne Sprache für die gesamte Aufnahme, und whisper-1 wird am 26. Februar 2027 abgeschaltet.

Preisgestaltung

Die Transkription wird nach der Dauer der verarbeiteten Audioinhalte berechnet: 0,0045 USD pro Minute mit gpt-transcribe, gemäß seiner Modellkarte (November 2026). Das Audioformat beeinflusst daher die Kosten nicht: Nur die Dauer ist relevant.

Um die Kosten bei großen Volumina zu senken:

from pydub import AudioSegment
from pydub.silence import split_on_silence


def preprocess_for_cost(file_path: str) -> str:
    """Entfernt Stille, um die abgerechnete Dauer zu reduzieren."""
    audio = AudioSegment.from_file(file_path)

    # Entfernt Stille, die länger als 1 Sekunde ist
    chunks = split_on_silence(
        audio,
        min_silence_len=1000,
        silence_thresh=-40,
        keep_silence=200  # Behält 200 ms Stille für Lesbarkeit bei
    )

    if not chunks:
        return file_path

    combined = chunks[0]
    for chunk in chunks[1:]:
        combined += chunk

    output_path = "/tmp/optimized_audio.mp3"
    combined.export(output_path, format="mp3", bitrate="64k")
    return output_path

Kernaussagen

  • Der Transkriptionsendpunkt akzeptiert FLAC, MP3, MP4, MPEG, MPGA, M4A, OGG, WAV und WebM, mit einem Limit von 25 MB pro Datei.
  • Mit gpt-transcribe gibt die Liste languages die erwarteten Sprachen an; die Antwort gibt die erkannten Sprachen zurück.
  • Mono 16 kHz MP3 bei 64 kbps bietet das beste Verhältnis von Qualität zu Größe für Sprache.
  • Die Abrechnung erfolgt pro Minute Audio: Das Entfernen von Stille senkt die Kosten.
  • Für mehrsprachige Inhalte ersetzt ein einzelner Durchgang mit allen erwarteten Sprachen im Parameter languages die alte zweistufige Methode.