S8

simple8

Demo

Leichte Sprache: Sehen Sie jede API-Einstellung in Aktion.

simple8 überträgt komplexe Inhalte in klar strukturierte Leichte Sprache für Menschen, die stärkere sprachliche Unterstützung benötigen. Vergleichen Sie Einfache Sprache und Leichte Sprache, vollständige und komprimierte Ausgabe, optionale Qualitätshinweise und alle vier Liefermuster mit Live-Anfrage- und Antwortbeispielen.

Leichte Sprache

simple8 überträgt komplexe Inhalte in klar strukturierte Leichte Sprache für Menschen, die stärkere sprachliche Unterstützung benötigen.

DIN-konforme deutsche Ausgaben

Ausgaben von simple8 in deutscher Einfacher Sprache entsprechen DIN ISO 24495-1 und DIN 8581-1. Ausgaben in deutscher Leichter Sprache entsprechen DIN SPEC 33429.

CMS, API und Website-Widget mit einer Zeile JavaScript

simple8 lässt sich in WordPress, TYPO3, Drupal, Storyblok und viele mehr integrieren, über die API anbinden oder mit einer Zeile JavaScript als Website-Widget einfügen.

Echtes Hosting in Deutschland

simple8 wird vollständig in Deutschland gehostet und betrieben. Hosting und Datenverarbeitung sind DSGVO-konform.

SLA mit 99,9 % monatlicher Verfügbarkeit

simple8 bietet für die produktive API eine SLA mit 99,9 % monatlicher Verfügbarkeit.

Interaktives Beispiel

Request und Response ändern sich mit jeder Einstellung.

Hier lässt sich direkt nachvollziehen, wie Einfache Sprache, Leichte Sprache, vollständige oder verdichtete Antworten und optionale Qualitätshinweise zusammenwirken.

Eingabe

Ausgangstext und Einstellungen

290 / 1000 Zeichen

Sprachmodus

Ausgabetiefe

API-Anfrage

{
  "text": "Um die Bearbeitung zu beschleunigen, müssen Nutzerinnen und Nutzer nach erfolgreicher Anmeldung zunächst ihre persönlichen Angaben prüfen, gegebenenfalls aktualisieren und den Vorgang anschließend digital bestätigen. Nach dem Absenden erhalten sie eine Nachricht mit den nächsten Schritten.",
  "locale": "de",
  "mode": "easy-language",
  "settings": {
    "rewriteScope": "complete",
    "qualityHints": false
  }
}

Ausgabe

Leichte Sprache

Abgeschlossen940 ms

Nach dem Absenden erscheint hier die gestreamte Übersetzung.

API-Antwort

{
  "requestId": "simple8_case_01",
  "cacheStatus": "hit",
  "durationMs": 940,
  "locale": "de",
  "mode": "easy-language",
  "settings": {
    "rewriteScope": "complete",
    "qualityHints": false
  },
  "output": {
    "text": "Melden Sie sich an.\nPrüfen Sie Ihre Angaben.\nÄndern Sie falsche Angaben direkt online.\nBestätigen Sie den Vorgang digital.\nDanach bekommen Sie eine Nachricht.\nIn der Nachricht stehen die nächsten Schritte."
  }
}

Vier API-Architekturen

Alle vier Muster lösen denselben fachlichen Auftrag, aber mit anderer Transportlogik.

Die Wahl hängt davon ab, ob das Ergebnis sofort benötigt wird, ob Fortschritt sichtbar sein soll und ob das aufrufende System aktiv warten, pollen oder per Event benachrichtigt werden kann.

01

Synchronous HTTP request

Eine Anfrage geht rein und die fertige Antwort kommt in derselben HTTP-Verbindung zurück.

Geeignet für

Direkte UI-Aktionen, kurze Texte, geringe Latenz

02

One request + streaming response

Eine Anfrage startet die Verarbeitung, die Antwort kommt schrittweise als Stream zurück.

Geeignet für

Längere Inhalte, progressive UI, sichtbarer Verarbeitungsfortschritt

03

Async job + polling

Der erste Request erzeugt einen Job, danach fragt der Client den Status wiederholt ab.

Geeignet für

Batch-Verarbeitung, Backends, längere Jobs ohne dauerhafte offene Verbindung

04

Async job + webhook

Der erste Request erzeugt einen Job, die Fertigmeldung kommt später aktiv per Webhook zurück.

Geeignet für

CMS-Workflows, Ereignisarchitektur, zuverlässige System-zu-System-Integration

Die vier Muster

Konzept, technische Umsetzung und konkrete Beispiele je Architektur.

01

Synchronous HTTP request

Eine Anfrage geht rein und die fertige Antwort kommt in derselben HTTP-Verbindung zurück.

Ausgabe API

Das aufrufende System sendet einen Request und wartet aktiv auf das Ergebnis. `mode` und `settings` werden im selben Request übergeben und bestimmen direkt die Form der Antwort.

Wir senden einzelne Formulartexte direkt an simple8 und bekommen sofort die passende Sprachfassung für den gewählten Modus zurück.

API

  • Typisch ist ein `POST /api/translate` mit Text, Sprachmodus und Einstellungen.
  • Die API liefert bei Erfolg direkt `200 OK` mit dem vereinfachten Text zurück.
  • Wenn `qualityHints=false`, enthält die Antwort keine zusätzlichen Qualitätshinweise.
POST /api/translate
{
  "text": "Für die Beantragung des Personalausweises bringen Sie bitte Ihren alten Ausweis oder Reisepass sowie ein aktuelles Lichtbild mit.",
  "mode": "simple-language",
  "settings": {
    "rewriteScope": "complete",
    "qualityHints": false
  }
}

200 OK
{
  "requestId": "req_sync_001",
  "cacheStatus": "miss",
  "durationMs": 980,
  "mode": "simple-language",
  "settings": {
    "rewriteScope": "complete",
    "qualityHints": false
  },
  "output": {
    "text": "Wenn Sie einen Personalausweis beantragen, bringen Sie bitte Ihren alten Ausweis oder Reisepass und ein aktuelles Foto mit."
  }
}

02

One request + streaming response

Eine Anfrage startet die Verarbeitung, die Antwort kommt schrittweise als Stream zurück.

Ausgabe API

Der Client startet nur einen Request, bleibt aber nicht bis zum Schluss blind. Statt einer einzigen Endantwort erhält er laufend Status- oder Inhalts-Updates über dieselbe Verbindung.

Unsere Redaktion soll sehen, welche Fassung gerade entsteht, und bei Bedarf sofort die Qualitätshinweise mitbekommen.

API

  • Der Request enthält dieselben fachlichen Optionen wie im synchronen Muster: `mode`, `rewriteScope` und optional `qualityHints`.
  • Der Client verarbeitet Events wie `status`, `delta` und `completed`, ohne neue Requests abzusetzen.
  • Wenn `qualityHints` aktiv ist, kann die finale `completed`-Nachricht zusätzliche Qualitätshinweise enthalten.
POST /api/translate/stream
{
  "text": "Nach der Beantragung des Personalausweises erhalten Sie ein Schreiben, sobald das Dokument in der Behörde zur Abholung bereitliegt.",
  "mode": "easy-language",
  "settings": {
    "rewriteScope": "complete",
    "qualityHints": true
  }
}

event: status
data: {"state":"processing","mode":"easy-language"}

event: delta
data: {"chunk":"Nach dem Antrag bekommen Sie ein Schreiben.\n"}

event: delta
data: {"chunk":"Dann wissen Sie: Ihr Ausweis liegt bereit.\n"}

event: completed
data: {
  "requestId": "req_stream_001",
  "cacheStatus": "miss",
  "mode": "easy-language",
  "settings": {
    "rewriteScope": "complete",
    "qualityHints": true
  },
  "output": {
    "text": "Nach dem Antrag bekommen Sie ein Schreiben.\nDann wissen Sie: Ihr Ausweis liegt bereit.",
    "qualityHints": [
      "Die Ausgabe nutzt sehr kurze Sätze mit klarer Reihenfolge."
    ]
  }
}

03

Async job + polling

Der erste Request erzeugt einen Job, danach fragt der Client den Status wiederholt ab.

Ausgabe API

Die eigentliche Verarbeitung wird vom ersten HTTP-Aufruf entkoppelt. Das aufrufende System erhält sofort eine Job-ID und kontrolliert später selbst, wann es den Status erneut abfragt.

Unser Backend stößt viele Texte gesammelt an und fragt später gezielt ab, welche Modus-Variante fertig ist.

API

  • Ein `POST` erzeugt einen Job und speichert die gewählte Kombination aus Modus und Einstellungen mit.
  • Der Client fragt `GET /api/jobs/{id}` in Intervallen ab, bis `queued`, `running`, `completed` oder `failed` gemeldet wird.
  • Polling eignet sich gut, wenn verdichtete oder analysierte Fassungen in größere Batch-Flows eingeordnet werden.
POST /api/jobs
{
  "text": "Für die Beantragung des Personalausweises müssen Sie persönlich im Bürgeramt vorsprechen. Minderjährige brauchen die Zustimmung der Sorgeberechtigten.",
  "mode": "simple-language",
  "settings": {
    "rewriteScope": "condensed",
    "qualityHints": true
  }
}

202 Accepted
{
  "jobId": "job_poll_001",
  "status": "queued"
}

GET /api/jobs/job_poll_001
{
  "jobId": "job_poll_001",
  "status": "completed",
  "mode": "simple-language",
  "settings": {
    "rewriteScope": "condensed",
    "qualityHints": true
  },
  "output": {
    "text": "Für den Personalausweis müssen Sie persönlich ins Bürgeramt gehen.",
    "qualityHints": [
      "Die Ausgabe konzentriert sich auf die wichtigsten Aussagen und lässt Nebendetails weg."
    ]
  }
}

04

Async job + webhook

Der erste Request erzeugt einen Job, die Fertigmeldung kommt später aktiv per Webhook zurück.

Ausgabe API

Auch hier wird die Verarbeitung asynchron gestartet. Anders als beim Polling fragt der Client den Status nicht wiederholt ab, sondern wird aktiv benachrichtigt, sobald Ergebnis oder Fehler vorliegen.

Unser CMS entscheidet je Inhalt, ob Einfache Sprache oder Leichte Sprache gebraucht wird, und speichert die fertige Fassung erst nach dem Webhook.

API

  • Der Start-Request übermittelt neben den Fachdaten auch Modus, Einstellungen und `webhookUrl`.
  • Nach Abschluss sendet die API ein signiertes `POST`-Event an das Zielsystem.
  • Webhook-Flows sind besonders nützlich, wenn unterschiedliche Ausgabemodi in Publishing- oder Freigabeprozesse eingespeist werden.
POST /api/jobs
{
  "text": "Wenn Sie Ihren Personalausweis beantragen, können Gebühren anfallen. Bitte bringen Sie die erforderlichen Unterlagen vollständig zum Termin mit.",
  "mode": "easy-language",
  "settings": {
    "rewriteScope": "condensed",
    "qualityHints": false
  },
  "webhookUrl": "https://cms.example.com/webhooks/simple8"
}

202 Accepted
{
  "jobId": "job_hook_001",
  "status": "queued"
}

POST https://cms.example.com/webhooks/simple8
simple8-signature: sha256=...

{
  "event": "job.completed",
  "jobId": "job_hook_001",
  "mode": "easy-language",
  "settings": {
    "rewriteScope": "condensed",
    "qualityHints": false
  },
  "output": {
    "text": "Für den Personalausweis können Gebühren anfallen.\nBringen Sie bitte alle nötigen Unterlagen mit."
  }
}