Skip to content

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

FieldTypeMeaning
textstring, requiredThe draft. At least 30 characters, up to your plan's words per text.
nintegerVersions, 1 to 3, ranked by the meaning check. Capped by your plan and by text length.
fidelitybooleanRun 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.
roundsintegerStrength 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 quota and needs_credit). A credit is spent automatically when the plan does not cover a run; the response carries paid_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_credit unless you hold a credit. 429 more than 30 requests a minute per key.
  • 502 the rewrite failed on our side. No words are charged.