API Documentation.
Build on HumanGPT.
Integrate AI text humanization into your content pipeline. REST API with JSON responses. Same humanization engine as the web tool. Pro plan required.
Quick start.
The HumanGPT API lets you programmatically humanize AI-generated text. It's the same engine that powers the web tool: same Gemini-based pipeline, same modes, same bypass rates. The only difference is you're calling it from code instead of a browser.
Base URL: https://api.humangpt.io/v1
Authentication: Include your API key in the Authorization header as a Bearer token.
POST /humanize
Rewrites AI-generated text to bypass AI detectors. Returns the humanized text with metadata.
POST https://api.humangpt.io/v1/humanize
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"text": "Your AI-generated text here...",
"mode": "medium",
"purpose": "academic",
"reading": "university",
"enhanced": false,
"freeze": ["specific terms", "to preserve"],
"language": "auto"
}text required — The AI text to humanize. Max 5,000 words (Pro), 1,500 words (Free).mode optional — Humanization intensity: "light", "medium" (default), or "heavy".purpose optional — Writing context: "general" (default), "academic", "essay", "article", "marketing", "legal", "story", "report", "business".reading optional — Target reading level: "highschool", "university" (default), "doctorate", "journalist".enhanced optional — Boolean. Pushes humanization one level harder. Default false.freeze optional — Array of strings to preserve unchanged through the rewrite.language optional — ISO language code or "auto" (default). Supports 30+ languages.{
"output": "The humanized text...",
"mode": "medium",
"purpose": "academic",
"reading": "university",
"enhanced": false,
"input_words": 247,
"output_words": 252,
"quota_remaining": 49753
}POST /check
Checks text against all 7 AI detectors. Returns per-detector scores and perplexity/burstiness metrics.
POST https://api.humangpt.io/v1/check
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"text": "Text to check for AI detection..."
}{
"overall_ai_probability": 14,
"verdict": "human",
"detectors": {
"gptzero": { "score": 12, "verdict": "human" },
"turnitin": { "score": 8, "verdict": "human" },
"originality": { "score": 16, "verdict": "human" },
"copyleaks": { "score": 10, "verdict": "human" },
"zerogpt": { "score": 6, "verdict": "human" },
"sapling": { "score": 14, "verdict": "human" },
"winston": { "score": 12, "verdict": "human" }
},
"metrics": {
"perplexity": 72,
"burstiness": 24
}
}Code examples.
import requests
response = requests.post(
"https://api.humangpt.io/v1/humanize",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={
"text": "AI-generated text to humanize...",
"mode": "medium",
"purpose": "academic"
}
)
result = response.json()
print(result["output"])const response = await fetch(
"https://api.humangpt.io/v1/humanize",
{
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
body: JSON.stringify({
text: "AI-generated text to humanize...",
mode: "medium",
purpose: "academic"
})
}
);
const { output } = await response.json();
console.log(output);curl -X POST https://api.humangpt.io/v1/humanize \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"AI text here...","mode":"medium"}'Error codes.
| Code | Meaning | Fix |
|---|---|---|
| 400 | Bad request | Check your JSON payload. Text field is required. |
| 401 | Unauthorized | Check your API key. Must be a valid Pro or Lifetime key. |
| 429 | Rate limited | Too many requests. Wait and retry. Max 60 req/min. |
| 402 | Quota exceeded | Monthly or lifetime word limit reached. Upgrade or wait for reset. |
| 500 | Server error | Retry after a few seconds. If persistent, contact support. |
API Questions.
Straight answers.
Yes. API access is included with Pro ($10/month, 50K words) and Lifetime ($199, 1M words) plans. The free tier is web-only.
Pro users can make up to 60 requests per minute. Each request can contain up to 5,000 words of input text. Rate limits are per API key.
Identical. The API uses the same Gemini-powered humanization pipeline. Same modes, same purposes, same bypass rates. The web tool is just a frontend for the same API.
Yes. Send multiple requests sequentially or in parallel (within rate limits). Each request is independent. For very large batches (100K+ words), contact us for volume pricing.
All 30+ languages supported by the web tool. Set the language parameter or let auto-detection handle it. Each language uses native rewriting patterns.
After subscribing to Pro or Lifetime, your API key is available in your dashboard. One key per account. Keys can be regenerated if compromised.
Same engine. Same quality. Programmable. Build AI humanization into your content pipeline with two API calls.
Get API access