S8

simple8

Demo

Letlæst sprog: Se alle API-indstillinger i aktion.

simple8 omskriver komplekst indhold til struktureret letlæst sprog for mennesker, der har brug for stærkere sproglig støtte. Sammenlign klarsprog og letlæst sprog, komplet og komprimeret output, valgfri kvalitetstip og alle fire leveringsmønstre med live anmodnings- og svareksempler.

Letlæst sprog

simple8 omskriver komplekst indhold til struktureret letlæst sprog for mennesker, der har brug for stærkere sproglig støtte.

Tysk output i overensstemmelse med DIN

simple8-output på tysk klarsprog overholder DIN ISO 24495-1 og DIN 8581-1. Output på tysk letlæst sprog overholder DIN SPEC 33429.

CMS, API og websitewidget med én linje JavaScript

Integrer simple8 med WordPress, TYPO3, Drupal, Storyblok og mange flere, tilslut via API'et, eller tilføj websitewidgetten med én linje JavaScript.

Hosting udelukkende i Tyskland

simple8 hostes og drives udelukkende i Tyskland. Hosting og databehandling overholder GDPR.

SLA på 99,9 % månedlig tilgængelighed

simple8 leverer en SLA på 99,9 % månedlig tilgængelighed for produktions-API'et.

Interaktivt eksempel

Forespørgsel og svar ændres med hver indstilling.

Her kan du direkte se, hvordan enkelt sprog, let sprog, komplette eller fortættede svar og valgfri kvalitetsinformation arbejder sammen.

Input

Kildetekst og indstillinger

250 / 1000 tegn

Tilstand

Detaljeringsgrad

API-anmodning

{
  "text": "For at fremskynde behandlingen skal brugere først kontrollere deres personlige oplysninger efter vellykket registrering, opdatere dem om nødvendigt og derefter bekræfte processen digitalt. Efter indsendelse vil du modtage en besked med de næste trin.",
  "locale": "da",
  "mode": "easy-language",
  "settings": {
    "rewriteScope": "complete",
    "qualityHints": false
  }
}

Output

Letlæst sprog

Fuldført940 ms

Efter afsendelse vises den streamede oversættelse her.

API-svar

{
  "requestId": "simple8_case_01",
  "cacheStatus": "hit",
  "durationMs": 940,
  "locale": "da",
  "mode": "easy-language",
  "settings": {
    "rewriteScope": "complete",
    "qualityHints": false
  },
  "output": {
    "text": "Log ind. Tjek dine oplysninger. Skift falske oplysninger direkte online. Bekræft processen digitalt. Du vil derefter modtage en besked. Meddelelsen indeholder de næste trin."
  }
}

Fire API-arkitekturer

Alle fire mønstre løser den samme tekniske opgave, men med forskellig transportlogik.

Valget afhænger af, om resultatet er nødvendigt med det samme, om fremskridt skal være synligt, og om det opkaldende system aktivt kan vente, polle eller få besked via begivenhed.

01

Synkron HTTP-anmodning

En anmodning går ind, og det færdige svar kommer tilbage i den samme HTTP-forbindelse.

Velegnet til

Direkte handlinger i brugergrænsefladen, korte tekster og lav latenstid

02

Én anmodning + streamingsvar

En anmodning begynder at behandle, svaret kommer tilbage trin for trin som en strøm.

Velegnet til

Længere indhold, progressiv UI, synlig behandlingsfremgang

03

Asynkront job + polling

Den første anmodning opretter et job, hvorefter klienten forespørger om status gentagne gange.

Velegnet til

Batchbehandling, backends, længere job uden en vedvarende åben forbindelse

04

Asynkroniseringsjob + webhook

Den første anmodning opretter et job, færdiggørelsesmeddelelsen kommer tilbage senere via en webhook.

Velegnet til

CMS-arbejdsgange, begivenhedsarkitektur, pålidelig system-til-system-integration

De fire mønstre

Koncept, teknisk implementering og konkrete eksempler for hver arkitektur.

01

Synkron HTTP-anmodning

En anmodning går ind, og det færdige svar kommer tilbage i den samme HTTP-forbindelse.

Output API

Det kaldende system sender en anmodning og venter aktivt på resultatet. `mode` og `settings` sendes i samme anmodning og bestemmer svarets form direkte.

Vi sender individuelle formulartekster direkte til simple8 og modtager straks den passende sprogversion til den valgte tilstand.

API

  • En `POST /api/translate` med tekst, sprogtilstand og indstillinger er typisk.
  • Hvis det lykkes, returnerer API'en direkte '200 OK' med den forenklede tekst.
  • Hvis `qualityHints=false`, indeholder svaret ikke yderligere kvalitetstip.
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

Én anmodning + streamingsvar

En anmodning begynder at behandle, svaret kommer tilbage trin for trin som en strøm.

Output API

Klienten starter kun én anmodning, men forbliver ikke blind indtil slutningen. I stedet for et enkelt endeligt svar modtager de løbende status- eller indholdsopdateringer over den samme forbindelse.

Vores redaktion bør se, hvilken version der i øjeblikket oprettes, og om nødvendigt straks modtage kvalitetsinformationen.

API

  • Anmodningen indeholder de samme faglige indstillinger som det synkrone mønster: `mode`, `rewriteScope` og valgfrit `qualityHints`.
  • Klienten behandler hændelser som `status`, `delta` og `completed` uden at sende nye anmodninger.
  • Når `qualityHints` er aktiv, kan den afsluttende `completed`-meddelelse indeholde yderligere kvalitetsanvisninger.
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

Asynkront job + polling

Den første anmodning opretter et job, hvorefter klienten forespørger om status gentagne gange.

Output API

Den faktiske behandling er afkoblet fra det første HTTP-kald. Det kaldende system modtager straks et job-id og styrer senere selv, når det forespørger om status igen.

Vores backend samler en masse tekster og spørger senere specifikt, hvilken tilstandsvariant der er klar.

API

  • En "POST" opretter et job og gemmer den valgte kombination af tilstand og indstillinger.
  • Klienten anmoder regelmæssigt om `GET /api/jobs/{id}`, indtil status `queued`, `running`, `completed` eller `failed` rapporteres.
  • Polling er velegnet, når kondenserede eller analyserede versioner klassificeres i større batchflows.
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

Asynkroniseringsjob + webhook

Den første anmodning opretter et job, færdiggørelsesmeddelelsen kommer tilbage senere via en webhook.

Output API

Også her startes behandlingen asynkront. I modsætning til polling forespørger klienten ikke om status gentagne gange, men bliver aktivt underrettet, så snart et resultat eller en fejl er tilgængelig.

Vores CMS bestemmer for hvert indhold, om der bruges simpelt sprog eller let sprog, og gemmer kun den færdige version efter webhook.

API

  • Ud over de tekniske data sender startanmodningen også tilstand, indstillinger og `webhookUrl`.
  • Efter afslutningen sender API'en en signeret 'POST'-hændelse til målsystemet.
  • Webhook-flows er særligt nyttige, når forskellige output-tilstande tilføres udgivelses- eller udgivelsesprocesser.
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."
  }
}