01
Synchronous HTTP request
A request goes in and the finished response comes back in the same HTTP connection.
Suitable for
Direct actions in the user interface, short texts and low latency
Demo
simple8 transforms complex content into structured Easy Read for people who need stronger language support. Compare Plain Language and Easy Read, complete and condensed output, optional quality hints and all four delivery patterns with live request and response examples.
Easy Read
simple8 transforms complex content into structured Easy Read for people who need stronger language support.
DIN-conformant German output
German plain-language output from simple8 conforms to DIN ISO 24495-1 and DIN 8581-1. German Easy Read output conforms to DIN SPEC 33429.
CMS, API and a one-line website widget
Integrate simple8 with WordPress, TYPO3, Drupal, Storyblok, and many other systems, connect it through the API, or add the website widget with one line of JavaScript.
Hosted and operated in Germany
simple8 is hosted and operated entirely in Germany. Hosting and data processing comply with the GDPR.
99.9% monthly availability SLA
simple8 provides a 99.9% monthly availability SLA for the production API.
Interactive example
Here you can directly see how simple language, easy language, complete or condensed answers and optional quality information work together.
Input
Mode
Output detail
API request
{
"text": "To speed up processing, users must first check their personal information after registering successfully, update it if necessary and then confirm the process online. After confirmation, they will receive a message explaining the next steps.",
"locale": "en",
"mode": "easy-language",
"settings": {
"rewriteScope": "complete",
"qualityHints": false
}
}Output
After sending, the streamed translation will appear here.
API response
{
"requestId": "simple8_case_01",
"cacheStatus": "hit",
"durationMs": 940,
"locale": "en",
"mode": "easy-language",
"settings": {
"rewriteScope": "complete",
"qualityHints": false
},
"output": {
"text": "Log in. Check your information. Correct any inaccurate information online. Confirm the process digitally. You will then receive a message. The message contains the next steps."
}
}Four API architectures
The choice depends on whether the result is needed immediately, whether progress should be visible and whether the calling system can actively wait, poll or be notified via event.
01
A request goes in and the finished response comes back in the same HTTP connection.
Suitable for
Direct actions in the user interface, short texts and low latency
02
A request starts processing, the response comes back step by step as a stream.
Suitable for
Longer content, progressive UI, visible processing progress
03
The first request creates a job, then the client queries the status repeatedly.
Suitable for
Batch processing, backends, longer jobs without a persistent open connection
04
The first request creates a job, the completion message comes back later via a webhook.
Suitable for
CMS workflows, event architecture, reliable system-to-system integration
The four patterns
01
A request goes in and the finished response comes back in the same HTTP connection.
Output API
The calling system sends a request and actively waits for the result. `mode` and `settings` are passed in the same request and directly determine the form of the response.
We send individual form texts directly to simple8 and immediately receive the appropriate language version for the selected mode.
API
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
A request starts processing, the response comes back step by step as a stream.
Output API
The client only starts one request, but does not remain blind until the end. Instead of a single final response, they receive ongoing status or content updates over the same connection.
Our editorial team should see which version is currently being created and, if necessary, immediately receive the quality information.
API
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
The first request creates a job, then the client queries the status repeatedly.
Output API
The actual processing is decoupled from the first HTTP call. The calling system immediately receives a job ID and later controls itself when it queries the status again.
Our backend collects a lot of texts and later specifically asks which mode variant is ready.
API
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
The first request creates a job, the completion message comes back later via a webhook.
Output API
Here too, processing is started asynchronously. Unlike polling, the client does not query the status repeatedly, but is actively notified as soon as a result or error is available.
Our CMS decides for each content whether simple language or easy language is used and only saves the finished version after the webhook.
API
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."
}
}