Human Write API and MCP

Create an integration key, call the public /v1 API, or connect an MCP client to use Human Write from your own tools.

Create an integration key

1Sign in

Open Account, then go to Integrations.

2Create a key

Give the key a label like Production app. The full secret is shown once.

3Send the key

Use the key as a Bearer token from your server or trusted local tool.

Use Bearer authentication

Every REST and MCP request uses the same integration key format. Do not put this key in browser-side code, public websites, or public repositories.

Authorization: Bearer hw_live_sk_xxxxxxxxxxxxxxxx_xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx
Content-Type: application/json

Public REST endpoints

GET/v1/me

Shows your account tier and the API/MCP limits that apply to your key.

GET/v1/voices

Lists saved personal or brand voices that can be reused in rewrites.

POST/v1/rewrite

Rewrites or cleans one draft. Choose a rewrite tool, language hint, voice, and preservation rules.

POST/v1/analyze

Checks one draft for clarity, grammar, flow, formatting, and natural wording.

POST/v1/reduce-ai-likeness

Runs the paid AI-risk reduction path and returns the revised text with before-and-after score.

POST/v1/compare

Compares two drafts and explains what changed and what improved.

POST/v1/batch-review

Checks a small set of drafts together and returns one combined result.

Base URL: https://api.humanwrite.cc/v1. Responses include the charged words, a short summary, and the result. Set save_result to true only when the output should be saved to your account history.

Need every request field?

The generated API reference comes from the live API service and stays aligned with accepted fields.

Open API reference

Endpoint details

GET/v1/me

Use this to confirm that a key works and to read the limits for that account.

No JSON body is sent.

  • No JSON body is sent.
GET/v1/voices

Use this before a rewrite when you want to apply a saved personal or brand voice.

No JSON body is sent.

  • No JSON body is sent.
POST/v1/rewrite

Use this for rewriting, paraphrasing, cleaning hidden marks, or generating variations.

text
Required. The draft to rewrite.
tool
One of the rewrite tools listed below. Defaults to natural_rewrite.
intent
Writing purpose, such as everyday_writing, professional, email_reply, or search_friendly.
voice
Optional built-in voice name.
saved_voice_id
Optional id from /v1/voices.
language
Use auto unless you know the language.
variants
Number of versions to return when tool is variations.
save_result
Save the output to account history when true.
strict_grammar_checking
Find more spelling, grammar, and wording suggestions when true. Defaults to false.
controls.rewrite_strength
0 to 100. Higher means stronger rewriting.
controls.how_much_to_change
0.0 to 1.0. Caps how much wording may change.
controls.keep_edits_light
Use smaller edits when true.
controls.preserve
Rules for keeping code, markdown, names, brand terms, keywords, and similar text unchanged.

Tool names you can pass

  • natural_rewriteMake a draft sound clearer and more natural.
  • paraphraseSay the same thing with different wording.
  • variationsReturn multiple alternate versions of the same draft.
  • clean_hidden_marksClean hidden formatting and unusual hidden characters.
POST/v1/analyze

Use this to check one draft before deciding whether to rewrite it.

text
Required. The draft to check.
language
Use auto unless you know the language.
save_result
Save the output to account history when true.
strict_grammar_checking
Find more spelling, grammar, and wording suggestions when true. Defaults to false.
  • This endpoint does not rewrite the text. It returns a report.
POST/v1/compare

Use this when you have an original draft and a changed version.

before
Required. The original draft.
after
Required. The changed draft.
before_label
Optional label for the original draft.
after_label
Optional label for the changed draft.
language
Use auto unless you know the language.
save_result
Save the output to account history when true.
  • Word usage counts both before and after text.
POST/v1/batch-review

Use this when you need one combined result for several short drafts.

texts
Required. List of drafts to check together.
language
Use auto unless you know the language.
save_result
Save the output to account history when true.
strict_grammar_checking
Find more spelling, grammar, and wording suggestions when true. Defaults to false.
  • Word usage is the sum of all submitted drafts, then the batch multiplier is applied.

Call the rewrite API

curl -X POST https://api.humanwrite.cc/v1/rewrite \
  -H "Authorization: Bearer hw_live_sk_xxxxxxxxxxxxxxxx_xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx" \
  -H "Content-Type: application/json" \
  -d '{"text":"This draft is clear, but it still sounds a little too polished and generic.","tool":"natural_rewrite","intent":"professional","language":"auto","save_result":false,"strict_grammar_checking":false,"controls":{"rewrite_strength":55,"keep_edits_light":true,"preserve":{"brand_terms":["Human Write"],"keywords":["privacy","clarity"]}}}'

Connect assistants with MCP

MCP apps connect to https://api.humanwrite.cc/mcp and send the same Bearer key. Free and paid accounts can use MCP within the same tool access and limits shown for the account.

{
  "mcpServers": {
    "human-write": {
      "url": "https://api.humanwrite.cc/mcp",
      "headers": {
        "Authorization": "Bearer hw_live_sk_xxxxxxxxxxxxxxxx_xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx"
      }
    }
  }
}

Tool details

rewrite_text

Rewrite or clean one draft.

text
Draft to rewrite.
tool
Rewrite tool, such as natural_rewrite, paraphrase, variations, or clean_hidden_marks.
intent
Writing purpose.
voice / saved_voice_id
Optional voice controls.
language
Use auto unless known.
save_result
Save to account history when true.
strict_grammar_checking
Find more spelling, grammar, and wording suggestions when true.
rewrite_strength / how_much_to_change
Optional controls for edit strength.
brand_terms / industry_terms / keywords
Terms to keep unchanged.
variants
Number of versions when using variations.
analyze_text

Check one draft for clarity, grammar, flow, formatting, and natural wording.

text
Draft to check.
language
Use auto unless known.
save_result
Save to account history when true.
strict_grammar_checking
Find more spelling, grammar, and wording suggestions when true.
reduce_ai_likeness

Run the paid AI-risk reduction path and return the revised text plus the before-and-after score.

text
Draft to reduce AI likeness for.
intent
Writing purpose.
voice / saved_voice_id
Optional voice controls.
language
Use auto unless known.
save_result
Save to account history when true.
rewrite_strength / how_much_to_change
Optional controls for edit strength.
brand_terms / industry_terms / keywords
Terms to keep unchanged.
compare_versions

Compare an original draft with a changed draft.

before / after
The two drafts to compare.
before_label / after_label
Optional labels.
language
Use auto unless known.
save_result
Save to account history when true.
batch_review

Check several drafts and return one combined result.

texts
List of drafts to check.
language
Use auto unless known.
save_result
Save to account history when true.
list_saved_voices

List saved voices that can be used during rewrites.

No inputs.

upgrade_info

Show the API URL, MCP URL, and current account limits.

No inputs.

Live account limits

Loading API and MCP limits...

Your key can also check its current limits with GET /v1/me. If you send too many requests, the API returns HTTP 429 with retry_after_seconds and a Retry-After header.

How words are charged

Word usage is based on submitted input words, not generated output words. Rewrites count the submitted text. Compare counts both submitted drafts. Batch review counts every submitted draft. Variations count the submitted text once per requested variant.

Loading word multipliers...