API guide
The API is part of Pro and Ultra. It uses your plan's monthly words and limits, and text sent through it is not kept in your history. Create a key on the API keys page.
Request
curl https://samesay.app/v1/humanize \
-H "Authorization: Bearer hz_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"text": "Your draft...", "n": 2, "rounds": 5}'Parameters
| Field | Type | Meaning |
|---|---|---|
| text | string, required | The draft. At least 30 characters, up to your plan's words per text. |
| n | integer | Versions, 1 to 3, ranked by the meaning check. Capped by your plan and by text length. |
| fidelity | boolean | Run the Fidelity check after the rewrite (figures, names, negations, qualifiers and claims restored). One free run on Free, 1.5x words on Basic, included on Pro, Ultra and credits. |
| rounds | integer | Strength as a number of passes: 3 = Medium, 5 = Extra, 10 = Max. Up to your plan's maximum (Basic 5, Pro and Ultra 10). Default: the maximum. |
Response
{
"id": "6f1c…",
"engine": "max",
"paid_with": "plan",
"words_in": 182,
"outputs": [
{ "rank": 1, "text": "…", "words": 176, "human_score": 74, "style_score": 94,
"meaning_ok": true, "meaning_flags": [] }
],
"usage": { "words_used": 12582, "words_limit": 60000, "period_end": "2026-11-05T00:00:00Z", "credits": 3 }
}Errors and limits
- 401 missing or revoked key. 402 plan without API access, or not enough words left and no credit (codes
quotaandneeds_credit). A credit is spent automatically when the plan does not cover a run; the response carriespaid_with. - 413 text over 3,000 words (no plan or credit covers it); a text over your plan's limit but under 3,000 words returns 402
needs_creditunless you hold a credit. 429 more than 30 requests a minute per key. - 502 the rewrite failed on our side. No words are charged.