Skip to content

API

AI Text Cleaning API

One endpoint. Send text, get it back without the invisible Unicode, the exotic spaces or the lookalike letters. Plans from $19 a month.

Request

POST /api/v1/clean
Authorization: Bearer awr_live_...
Content-Type: application/json

{
  "text": "Your AI text here",
  "rules": {
    "invisible":   true,
    "spaces":      true,
    "confusables": true,
    "math":        true,
    "punctuation": false
  }
}

Response

200 OK

{
  "text": "Your AI text here",
  "changed": true,
  "found": {
    "invisible": 3,
    "spaces": 12,
    "confusables": 1,
    "math": 0,
    "punctuation": 0
  },
  "totalFound": 16,
  "characters": 1840,
  "ms": 0.43,
  "usage": { "used": 41, "limit": 10000 }
}

Why an API and not a library

The rules move. Unicode adds codepoints, models change what they emit, and the difference between a character that must go and one that is load-bearing is a judgement call that gets refined. A library pins you to whatever was true the day you installed it; an endpoint means you get the current rules without a deploy.

It is also genuinely small. There is no model behind it and no queue: it is deterministic string processing, which is why it answers in well under a millisecond and why it costs so little to run.

What it will not do

It removes characters: invisible Unicode, non-standard spaces, lookalike letters and styled letterforms, with typographic punctuation available on request. The full scope is written out here.

FAQ

Questions

How fast is it?
Around half a millisecond of processing for a 30,000-character document. It is deterministic string work with no model call, so latency is dominated by the network, not by us.
Is there a rate limit?
Plan quotas are monthly. There is also a per-connection limit of 600 requests an hour as abuse protection, which is far above normal use.
What happens to my text?
It is processed in memory and returned in the same response. Nothing is written to disk and nothing is logged except the number of characters flagged.
Can I detect without cleaning?
Yes. POST to /api/v1/detect and you get the same counts back without the rewritten text.