Neuroslop API
AI-slop detector and text humanizer over HTTP. Deterministic checks with no LLM cost, humanization in 20 languages, unit-based billing, instant key.
Who it is for
Content platforms and CMS
Screen and QA text in the pipeline: flag machine slop before it goes live, humanize on demand.
Agencies and SEO tools
Check and humanize in bulk under your own product. One key, unit-based, no manual approval.
EdTech and writing tools
Score submissions and give writers a self-check with the exact markers, not a black-box percentage.
Why this API
Deterministic checks
/v1/check runs no LLM: the same text always returns the same score and markers. Fast, reproducible, cheap.
Detect and fix in one key
Check and humanization behind a single key. Score before and after comes back with the rewrite.
20 languages, instant key
Works across 20 languages. The key is issued on payment, with no waiting and no sales call.
MCP server
Connect neuroslop to your AI agent via MCP — it checks text for slop, humanizes it and strips hidden characters on its own. Works in Claude Code, Cursor, Codex, OpenClaw.
neuroslop_check
Liveliness score 0–100 and slop markers. Deterministic, no LLM call. 20 languages.
neuroslop_humanize
Rewrites machine text into natural writing, preserving meaning and length. Standard and Premium.
neuroslop_clean
Strips hidden characters: zero-width spaces, homoglyphs. Local, no key needed.
How to connect
- Buy an API key (in your account or the bot — issued instantly).
- Download neuroslop-mcp.mjs and add the config:
{
"mcpServers": {
"neuroslop": {
"command": "node",
"args": ["neuroslop-mcp.mjs"],
"env": { "NEUROSLOP_API_KEY": "ns_your_key" }
}
}
}
- Set
NEUROSLOP_API_KEY, restart the client and verify that all three tools appear.
Connect to your agent (MCP) Get a key in your account
Authentication
Every request carries the key in a header: Authorization: Bearer <key> or X-API-Key: <key>.
Get a key two ways, no manual approval:
- On the site — your account → API: pick a pack, pay by card, SBP or USDT — the key is issued instantly.
- In the Telegram bot — @AITextChecker_bot → «🔌 API»: pay with Telegram Stars, the key arrives in the chat.
Pricing: units
A key has a monthly unit quota (resets each calendar month) plus a per-minute request limit. Calls spend units by weight:
| Call | Weight | What it does |
|---|---|---|
POST /v1/check | 1 | deterministic breakdown: score, verdict, markers |
POST /v1/rewrite tier=flash | 30 per 2,500 chars | humanization, Standard |
POST /v1/rewrite tier=pro | 100 per 7,500 chars | humanization, Premium: holds meaning and style deeper |
| Plan | Units / mo | Price | Requests / min |
|---|
A 3,000-unit pack is 3,000 checks, or 100 Standard humanizations, or 30 Premium. Checks are weight 1, Standard 30 per 2,500 characters, Premium 100 per 7,500.
POST/v1/check
Body: { "text": "...", "lang": "en" } (lang optional). Up to 8,000 characters.
curl -X POST https://neuroslop.net/v1/check \
-H "Authorization: Bearer ns_YOURKEY" \
-H "Content-Type: application/json" \
-d '{"text": "In today'"'"'s fast-paced world, it is important to note..."}'
Response:
{
"score": 34, // 0-100, lower = more slop
"verdict": "AI slop",
"lang": "en",
"words": 120,
"findingsCount": 9,
"findings": [ { "id": "cliche", "category": "Cliché", "severity": "high", "count": 4 }, ... ],
"remaining": 2999 // units left
}
POST/v1/rewrite
Body: { "text": "...", "tier": "flash" | "pro", "lang": "en" } Defaults to tier=flash. Up to 8,000 characters.
curl -X POST https://neuroslop.net/v1/rewrite \
-H "Authorization: Bearer ns_YOURKEY" \
-H "Idempotency-Key: 018f-request-unique-id" \
-H "Content-Type: application/json" \
-d '{"text": "...", "tier": "pro"}'
Response:
{
"text": "rewritten text",
"tier": "pro",
"scoreBefore": 34,
"scoreAfter": 96,
"remaining": 2870
}
Idempotency-Key with each rewrite. A repeated key with the same request replays the original response without another model call or charge; a changed request returns 409. This opt-in keeps an AES-GCM-encrypted response in the live replay cache for up to 24 hours. Encrypted operational backups may retain it for up to 14 days. Without this header no response is cached.GET/v1/balance
Key quota left: { plan, quota, used, remaining, resetMonth, perMinute }.
GET/v1/health
Service liveness, no key needed: { "ok": true, "llm": true }.
Errors
| Code | error | Meaning |
|---|---|---|
| 401 | no_api_key / unknown_key / disabled | missing or invalid key |
| 429 | rate_limited / quota | per-minute limit or monthly quota |
| 409 | idempotency_conflict / idempotency_in_progress | request key reused with another body, or the first request is still running |
| 400 | text_required / too_long / bad_json | malformed request |
| 502/503 | rewrite_failed / llm_unavailable | LLM layer down, units not spent |