Rewrite a text for a CEFR level
Rewrite a text so a learner at a given CEFR level (A1–C2) can read it, in the same language, keeping the facts and the order of ideas. Lists the main changes.

Details
Languages: English, German, French, Spanish, Italian, Dutch, Portuguese, Russian, Thai, Chinese, Japanese (others are attempted).
Optional: a list of words the reader already knows (they may stay), and a list of words that must stay (names, terms).
Returns the statistics of the new text so you can check the result.
Limits: 1500 words. The text is not stored.
Price: CHF 0.15 per call (first 100 calls per day free).
Example: {"text":"Notwithstanding the inclement weather, attendance exceeded expectations.","target":"A2"} → "The weather was bad, but more people came than we thought."
Call it
RESTcurl -X POST https://api.tausendwerk.xyz/v1/rewrite-to-level \
-H "Content-Type: application/json" \
-d '{"text":"Notwithstanding the inclement weather, attendance exceeded expectations.","target":"A2"}'MCP tool namerewrite_to_levelAfter the free 100 calls per day, add a key: Authorization: Bearer tw_live_…. Pricing
Try it
Runs against the live API with the free allowance.
Input schema JSON Schema
{
"type": "object",
"additionalProperties": false,
"required": [
"text",
"target"
],
"properties": {
"text": {
"type": "string",
"minLength": 1,
"maxLength": 15000
},
"target": {
"type": "string",
"enum": [
"A1",
"A2",
"B1",
"B2",
"C1",
"C2"
]
},
"language": {
"type": "string",
"enum": [
"en",
"de",
"fr",
"es",
"it",
"nl",
"pt",
"ru",
"th",
"zh",
"ja"
],
"description": "Text language. Omit to detect."
},
"known_words": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60
},
"maxItems": 2000
},
"keep_words": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60
},
"maxItems": 200
}
},
"examples": [
{
"text": "Notwithstanding the inclement weather, attendance exceeded expectations.",
"target": "A2"
}
]
}