Pronunciation API Dokumentation

Integrieren Sie Aussprachebewertung in Ihre Anwendung mit unserer REST-API

Authentifizierung

Authentifizieren Sie Ihre Anfragen mit einem API-Schlüssel im Authorization-Header:

Authorization: Bearer lx_your_api_key_here

⚠️ Schützen Sie Ihren API-Schlüssel: Geben Sie Ihren API-Schlüssel niemals im Client-Code oder in öffentlichen Repositories preis.

Endpunkt-Details

🔬 Präzision auf Silbenebene

Die V3 API bietet eine tiefgreifende Ausspracheanalyse: Jedes Wort wird in Silben aufgeschlüsselt. Sie unterstützt dieselben 16 Sprachen wie V2.

Note: V3 ist experimentell und erfordert einen konfigurierten Modellserver. Bei einem Fehler kontakieren Sie uns bitte.

POST/api/pronunciation/v3/check

Ausspracheanalyse auf Silbenebene mit 16-Sprachen-Unterstützung via Zipformer/CTC-Modell

✨ Betriebsmodi:

  • Vorgabe-Modus: sentence-Parameter angeben → Bewertet Aussprache silbenweise anhand des eingegebenen Texts
  • Freisprech-Modus: sentence-Parameter weglassen → Whisper AI transkribiert zuerst die Sprache, dann wird die Aussprache bewertet

Anfrageparameter

ParameterTypErforderlichBeschreibung
speechdatafileJaAudiodatei (WAV, MP3, M4A, OGG, FLAC, WEBM)
sentencestringNeinErwarteter Text zum Vergleich. Falls weggelassen, transkribiert Whisper zuerst die Sprache ("Freies Sprechen"-Modus).
language_codestringNeinSprachcode (Standard: ja). Dieselben 16 Sprachen wie V2.

V3 Codebeispiel

Am besten setzen Sie den API-Schlüssel als Umgebungsvariable:

export LINGOLIX_API_KEY=your_api_key_here

# Bekannter-Text-Modus
curl -X POST "https://api.lingolix.com/api/pronunciation/v3/check-pronunciation" \
  -H "Authorization: Bearer $LINGOLIX_API_KEY" \
  -F "speechdata=@audio.wav" \
  -F "sentence=Guten Morgen" \
  -F "language_code=de"

# Freies-Sprechen-Modus (sentence weggelassen)
curl -X POST "https://api.lingolix.com/api/pronunciation/v3/check-pronunciation" \
  -H "Authorization: Bearer $LINGOLIX_API_KEY" \
  -F "speechdata=@audio.wav" \
  -F "language_code=de"

Antwortformat

V3 liefert eine reichhaltigere Struktur als V1/V2. Jedes Wort enthält ein syllables-Array mit IPA, Tonklasse, Timing und Vollständigkeit je Silbe. speaking_rate wird in Teilwörtern (Silben) pro Sekunde gemessen.

{
  "text": "Guten Morgen",
  "speaking_rate": 12.5,
  "accuracy": 0.7777777910232544,
  "completeness": 1,
  "words": [
    {
      "text": "Guten",
      "syllables": [
        {
          "text": "Gu",
          "expected_ipa": "ɡuː",
          "detected_ipa": "ɡu",
          "accuracy": 1,
          "completeness": 1,
          "pitch": "low",
          "duration_ms": 60,
          "start_ms": 20,
          "end_ms": 40,
          "is_missing": false,
          "is_extra": false
        },
        {
          "text": "ten",
          "expected_ipa": "tn̩",
          "detected_ipa": "tn",
          "accuracy": 1,
          "completeness": 1,
          "pitch": "high",
          "duration_ms": 100,
          "start_ms": 70,
          "end_ms": 110,
          "is_missing": false,
          "is_extra": false
        }
      ],
      "accuracy": 1,
      "completeness": 1,
      "start_ms": 20,
      "end_ms": 110
    },
    {
      "text": "Morgen",
      "syllables": [
        {
          "text": "Mor",
          "expected_ipa": "mɔʁ",
          "detected_ipa": "ma",
          "accuracy": 0.3333333134651184,
          "completeness": 0.6666666666666667,
          "pitch": "high",
          "duration_ms": 60,
          "start_ms": 160,
          "end_ms": 180,
          "is_missing": false,
          "is_extra": false
        },
        {
          "text": "gen",
          "expected_ipa": "ɡn̩",
          "detected_ipa": "ɡn",
          "accuracy": 1,
          "completeness": 1,
          "pitch": "flat",
          "duration_ms": 100,
          "start_ms": 220,
          "end_ms": 260,
          "is_missing": false,
          "is_extra": false
        }
      ],
      "accuracy": 0.6000000238418579,
      "completeness": 0.5,
      "start_ms": 160,
      "end_ms": 260
    }
  ]
}

Silbenfelder

FieldDescription
textSilbentext (z. B. "ni")
expected_ipaErwartete IPA-Transkription
detected_ipaErkannte IPA aus dem Audio
accuracyGenauigkeit auf Phonem-Ebene (0,0 – 1,0)
completenessAnteil der erkannten erwarteten Phoneme
pitchTonklasse: high | low | flat | unknown
duration_msSilbendauer in Millisekunden
start_msStartversatz in Millisekunden
end_msEndversatz in Millisekunden
is_missingtrue, wenn die Silbe vom Benutzer ausgelassen wurde
is_extratrue, wenn etwas gesagt wurde, das nicht im Zieltext steht

Ratenlimits & Kontingente

Kontingentsystem

Ihr monatliches Kontingent wird in Audiominuten gemessen und gilt für alle Ihre API-Schlüssel. Überprüfen Sie Ihre aktuelle Nutzung im Dashboard.

Kostenloser Tarif

  • 15 Minuten pro Monat
  • Hartes Limit - Anfragen werden blockiert, wenn das Kontingent erschöpft ist
  • Gibt 429-Fehler zurück, wenn das Kontingent überschritten wird

Bezahlte Tarife

  • Höhere monatliche Kontingente (60 Min. - 2000 Min. je nach Tarif)
  • Mehrverbrauch erlaubt mit minutengenauer Abrechnung
  • Mehrverbrauchspreise: 0,02 € - 0,05 € pro Minute je nach Tarif

💡 Tipp: Überwachen Sie Ihre Nutzung regelmäßig, um unerwartete Kosten zu vermeiden. Erweitern Sie Ihren Tarif auf der Abo-Seite.

Fehlerbehandlung

StatuscodeFehlerLösung
401Ungültiger oder fehlender API-SchlüsselÜberprüfen Sie Ihren Authorization-Header
400Ungültiges AudioformatVerwenden Sie WAV, MP3, M4A, OGG, FLAC oder WEBM-Format
429Kontingent überschrittenTarif erweitern oder auf nächsten Abrechnungszeitraum warten
503Dienst nicht verfügbarVersuchen Sie es nach einer kurzen Verzögerung erneut

Brauchen Sie Hilfe?

Haben Sie Fragen oder benötigen Sie Unterstützung bei der Integration der API? Wir sind für Sie da!

Support kontaktieren