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.

CHF 0.15 / callCall itTry it
Yost typewriter, patent model, 1885
Yost typewriter, patent model1885

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

REST
curl -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 name
rewrite_to_level

After 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"
    }
  ]
}

More in Language level