Turn AI drafts into text that reads human — or a stronger detection-aware paraphrase. Web try-it, REST API, and MCP (Cursor / Claude) share one contract. Honest about the trade-off — not a detector bypass guarantee.
Natural: rewrites to read like a person wrote it.
Undetectable: stronger detection-aware paraphrase when voice can change — not a bypass guarantee.
Numbers, names, entities, and claims are preserved by hard gates. Meaning verified via NLI entailment.
One endpoint. POST /v1/naturalize with text + preset. Get the rewrite + metadata in seconds. Full OpenAPI at /docs.
Use ThinkingNative inside Cursor or Claude Desktop — naturalize, presets, same API key. Local stdio or hosted https://api.thinkingnative.com/mcp (Bearer). See MCP setup.
We tell you exactly what each mode does — and what it costs. No "makes it undetectable AND natural" false promises.
Create a tn_… token on Account. Call with Authorization: Bearer tn_…. Tokens debit your word balance. Copy the secret once — we store only a hash.
| Where you call from | Where the token lives |
|---|---|
| Your server, n8n, CI, a Worker you run | Environment variable or secrets manager on that host |
| Cursor / Claude MCP on your machine | Local MCP config (do not commit the key to a public repo) |
| Mobile app or public website JavaScript | Not in the client. Your backend holds tn_… and the app talks to you |
A leaked token spends your words until you revoke it. That is the same as an OpenAI or Stripe secret — we hash, name, and revoke; we cannot make a secret in a binary private.
If you have no backend and need us to hold the key at the edge, that is a quoted add-on (not self-serve). It keeps the secret out of the binary; a stolen proxy URL can still spend your balance. Contact us if you need it.
OpenAPI (endpoints and schemas): /docs.
POST your text with a preset (natural or undetectable). Include preserve terms if needed.
The engine rewrites for your chosen goal — natural voice or detection-aware paraphrase — while preserving facts and meaning.
Receive the naturalized text + metadata (engine, stats, warnings). Use it directly in your pipeline.
Create an API token on your Account, then call /v1/naturalize with Authorization: Bearer ….