Ultra HumanizerUltraHumanizer
REST API · v3

API Reference

Authenticate with your client_key in every request body. All requests and responses are JSON over HTTPS.

New to the API? Start with the AI Humanizer API overview.

Base URL

https://api.ultrahumanizer.com

Uptime

99.9%

Latency

<500ms median

Rate limit

100 req/sec

Quick start

Send a POST request with your text and API key. Your key is available in your account dashboard.

curl
curl -X POST https://api.ultrahumanizer.com/api/humanize \
  -H "Content-Type: application/json" \
  -d '{
    "text": "The findings suggest a correlation between the variables.",
    "client_key": "uk_your_api_key",
    "style": "academic",
    "context": "research paper",
    "language": "english",
    "depth": "standard"
  }'
POST/api/humanize

Humanize AI-generated text. Credits are billed per input word. Enhanced depth costs 2× credits and must be enabled on your account.

Parameters

text*

string

Input text. Max 100,000 characters / 5,000 words.

client_key*

string

Your API key from the account dashboard.

style*

string

Output tone. One of: general, academic, formal, professional, conversational, scholar.

context*

string

Use case that guides the rewriting approach, e.g. essay, thesis, report, email. Keep it short.

language

string

Output language. Default: english. 12+ languages supported.

depth

string

standard (default) or enhanced (2× credits, requires account enablement).

stream

boolean

Stream output as newline-delimited JSON. Default: false.

restructure

boolean

Apply light sentence restructuring for stronger detection bypass. Default: false.

voice_profile

string

150–250 word plain-English description of a target writing style. When provided, output matches that voice.

preserve_markdown

boolean

Retain markdown formatting in the output. Default: false.

ultra_mode

boolean

Advanced processing mode for maximum undetectability. Default: false.

settings

object

Optional fine-tuning object. See fields below.

Settings object

locked_phrases

string[]

Phrases to leave unchanged: citations, brand names, defined terms. Default: [].

preserve_citations

boolean

Keep quoted and referenced text intact. Default: true.

formality

number 0–100

Output register. 0 = very casual, 100 = highly formal. 70–90 suits most academic writing. Default: 50.

variation

number 0–100

How aggressively alternate phrasing is applied. Higher values diverge more from the source. Default: 50.

length_tolerance

number 0–100

Maximum allowed percentage change in output length relative to input. Default: 20.

Request
{
  "text": "The findings suggest a correlation between variables.",
  "client_key": "uk_your_api_key",
  "style": "academic",
  "context": "research paper",
  "language": "english",
  "depth": "standard",
  "settings": {
    "formality": 80,
    "variation": 60
  }
}
Response 200 · Non-streaming
{
  "result": "The results indicate a relationship between the variables.",
  "config": {
    "style": "academic",
    "context": "research paper",
    "language": "english",
    "depth": "standard",
    "stream": false,
    "restructure": false,
    "voice_profile": null,
    "preserve_markdown": false,
    "ultra_mode": false,
    "settings": {
      "locked_phrases": [],
      "preserve_citations": true,
      "formality": 80,
      "variation": 60,
      "length_tolerance": 20
    }
  }
}

For streaming (stream: true), the response is Content-Type: application/x-ndjson. One JSON object per line. Sort by index, then join humanized.

Response 200 · Streaming
{"index":0,"original":"First sentence.","humanized":"Humanized sentence."}
{"index":1,"original":"Second sentence.","humanized":"Another humanized line."}
POST/api/usage

Check your account credit balance and feature flags.

client_key*

string

Your API key.

Request
{ "client_key": "uk_your_api_key" }
Response 200
{
  "credits_remaining": 48200,
  "credits_used": 1800,
  "enhanced_enabled": false
}

Errors

All errors return a JSON body with error and code fields.

StatusCodeDescription
403INVALID_KEYAPI key missing or not recognised.
403INSUFFICIENT_CREDITSAccount balance too low. Top up to continue.
403ENHANCED_NOT_ENABLEDEnhanced depth not enabled for this account.
413PAYLOAD_TOO_LARGEText exceeds the maximum allowed size.
422MISSING_FIELDA required field is missing or invalid.
429RATE_LIMIT_EXCEEDEDToo many requests. Retry after a short delay.
500SERVER_ERRORUnexpected error. Safe to retry with exponential backoff.

Billing

Credits are consumed per input word at the time of the request.

Standard depth

1 credit / word

Enhanced depth

2 credits / word

Max request size

5,000 words / 100,000 chars

For volume pricing or enterprise plans, contact support@ultrahumanizer.com.