Neuroslop API
Подключите детекцию, подробный разбор и гуманизацию к своему приложению или AI-ассистенту через API и MCP.
Где пригодится
Контент-платформы и CMS
Проверяйте черновики перед публикацией в CMS. Показывайте автору найденные фрагменты и предлагайте редактуру по запросу.
Агентства и SEO-сервисы
Встройте проверку и переписывание в свой сервис. Расход единиц зависит от операции и длины текста.
EdTech и текстовые редакторы
Дайте авторам подсказки прямо в редакторе. Показывайте конкретные замечания, чтобы текст можно было исправить.
Почему этот API
Детерминированная проверка
Проверка по правилам на сайте воспроизводима при одинаковых тексте, настройках, версии движка и снимке правил и словарей.
Проверка и редактура
Проверка и гуманизация с одним ключом. Баллы до и после возвращаются, когда оценка применима; недоступный балл равен null.
Результаты с учётом языка
Ответ сообщает применимость анализа. Правила для прозы наиболее развиты для русского и английского; для других языков анализ может быть ограничен.
Тарификация: юниты
Проверка и редактура через API для приложений, ботов и MCP. Расход юнитов зависит от операции и длины текста. Условия квоты указаны у каждого пакета; старые ключи сохраняют купленные условия.
На сайте можно оплатить картой, через СБП или в USDT, в боте — Telegram Stars. Цены на странице ориентировочные; точную сумму и валюту вы увидите при оплате.
Пакет на 3 000 юнитов это 3 000 проверок, или 100 гуманизаций Стандарт, или 30 Премиум. Вес проверки 1, Стандарт 30 за каждые 2500 знаков, Премиум 100 за 7500.
MCP-сервер
Подключи neuroslop к ИИ-агенту через MCP — он сам будет проверять текст на слоп, очеловечивать и снимать скрытые символы. Работает в Claude Code, Cursor, Codex, OpenClaw.
neuroslop_check
Проверяйте признаки AI-генерации, повторяющиеся конструкции, ритм и структуру текста. Разбор показывает конкретные фрагменты и объясняет результат. Бесплатно и без ключа через облачный API по HTTPS; действует антифлуд-лимит.
neuroslop_humanize
Гуманизируйте AI-черновик: меняйте подачу, делайте язык естественнее и сравнивайте версии с контролем важных деталей. Только neuroslop_humanize требует API-ключ.
neuroslop_clean
Снимает скрытые символы: zero-width пробелы, гомоглифы. Локально, без ключа.
Как подключить
- Бесплатно и без ключа через облачный API по HTTPS; действует антифлуд-лимит. Снимает скрытые символы: zero-width пробелы, гомоглифы. Локально, без ключа. Только neuroslop_humanize требует API-ключ.
- Download neuroslop-mcp.mjs and add the config:
{
"mcpServers": {
"neuroslop": {
"command": "node",
"args": ["neuroslop-mcp.mjs"]
}
}
}
- Замени абсолютный путь. NEUROSLOP_API_KEY необязателен и нужен только для neuroslop_humanize; neuroslop_check и neuroslop_clean работают без ключа.
Подключить к агенту (MCP) Получить ключ в кабинете
Аутентификация
MCP-проверка использует бесплатный POST /api/check с ограничением частоты. POST /v1/check требует ключ и расходует его юниты. GET /v1/health доступен без ключа.
Для /v1/check, /v1/rewrite и /v1/balance передайте ключ в заголовке: Authorization: Bearer <key> / X-API-Key: <key>.
Ключ получить двумя путями, без ручного одобрения:
- На сайте — кабинет → API: выбери пакет, оплати картой, СБП или USDT — ключ выдаётся мгновенно.
- В Telegram-боте — @AITextChecker_bot → «🔌 API»: оплата звёздами, ключ приходит в чат.
Тарификация: юниты
| Запрос | юнитов | Операция |
|---|---|---|
POST /v1/check | 1 | Анализ, применимость и замечания |
POST /v1/rewrite tier=flash | 30 / 2500 UTF-16 | Гуманизация Стандарт |
POST /v1/rewrite tier=pro | 100 / 7500 UTF-16 | Гуманизация Премиум |
POST/v1/check
Тело: { "text": "...", "lang": "ru" } (lang опционален). Текст до 20 000 символов.
Лимит обоих методов по умолчанию — 20 000 кодовых единиц UTF-16, включая пробелы. Сервер может задать меньший предел: GET /v1/health возвращает limits.maxInputChars, ошибка too_long — max.
Ниже показаны отдельные поля ответа, а не измеренные результаты клиентов. Баллы и остаток будут отличаться.
curl -X POST https://neuroslop.net/v1/check \
-H "Authorization: Bearer ns_YOURKEY" \
-H "Content-Type: application/json" \
-d '{"text":"The team utilizes this checklist to review each draft before publication.","lang":"en"}'
Ответ:
{
"score": 100,
"lang": "en",
"ruleCoverage": "full",
"scoreInterpretation": "style_rules_not_authorship",
"applicability": { "status": "applicable", "eligible": true },
"decision": {
"outcome": "human_like",
"action": "show_style_signal",
"abstained": false,
"confidence": null,
"confidenceKind": "not_calibrated"
},
"assessment": {
"outcome": "human_like",
"authorshipProbability": null,
"automaticRewrite": false
},
"remaining": 2999
}
Перед использованием балла проверьте applicability, decision и assessment. Балл 0–100 не является вероятностью авторства; null означает отсутствие оценки, а не ноль. lang описывает язык текста, не интерфейса.
POST/v1/rewrite
Тело: { "text": "...", "tier": "flash", "lang": "en" }. tier: flash (Стандарт, по умолчанию) или pro (Премиум). Предел ввода сообщает /v1/health.
curl -X POST https://neuroslop.net/v1/rewrite \
-H "Authorization: Bearer ns_YOURKEY" \
-H "Idempotency-Key: YOUR_UNIQUE_REQUEST_ID" \
-H "Content-Type: application/json" \
-d '{"text":"The team utilizes this checklist to review each draft before publication.","tier":"pro","lang":"en"}'
Ответ:
{
"text": "Your revised paragraph appears here.",
"tier": "pro",
"scoreBefore": 100,
"scoreAfter": 100,
"qualityBasis": "editorial_review",
"spent": 100,
"remaining": 2900
}
qualityBasis описывает проверку, а не списание. Среди значений — editorial_review, deterministic, bounded-source-witness, unchanged и unverified; список не закрытый. Одобренная переработка не обязана повышать балл детектора.
{
"text": "The team uses this checklist to review each draft before publication.",
"tier": "pro",
"scoreBefore": 100,
"scoreAfter": 100,
"unchanged": false,
"reason": "local_edited",
"qualityBasis": "deterministic",
"engine": "local-rules",
"editorialApproved": false,
"billable": false,
"spent": 0,
"remaining": 3000
}
{
"text": "Original text is returned here.",
"tier": "pro",
"scoreBefore": null,
"scoreAfter": null,
"unchanged": true,
"reason": "local_unchanged",
"qualityBasis": "unchanged",
"spent": 0,
"remaining": 3000
}
Idempotency-Key с каждой редактурой. Одинаковые ключ и запрос возвращают исходный ответ без повторной редактуры или списания; изменённый запрос получает 409. Только с этим заголовком итоговый ответ хранится зашифрованным до 24 часов в отдельном рабочем кеше, исключённом из резервных копий приложения. Без заголовка кеш ответа не создаётся.replayOnly: true
Чтобы получить сохранённый результат без запуска работы, повторите исходные Idempotency-Key, text, tier, lang и mode, добавив replayOnly:true. Если записи нет или она истекла, ответ — 409 idempotency_replay_unavailable, а не новая редактура. Это не доказывает, было ли списание в исходном запросе. Не повторяйте запрос автоматически с новым ключом.
curl -X POST https://neuroslop.net/v1/rewrite \
-H "Authorization: Bearer ns_YOURKEY" \
-H "Idempotency-Key: YOUR_UNIQUE_REQUEST_ID" \
-H "Content-Type: application/json" \
-d '{"text":"The team utilizes this checklist to review each draft before publication.","tier":"pro","lang":"en","replayOnly":true}'
GET/v1/balance
Остаток квоты ключа: { plan, quota, used, remaining, resetMonth, perMinute }.
quotaMode: "one_time", resetMonth: null- Разовый пакет юнитов. Без ежемесячного пополнения.
quotaMode: "monthly"- Месячная квота. Обновляется каждый календарный месяц.
GET/v1/health
Живость сервиса, без ключа: { "ok": true, "llm": true, "limits": { "maxInputChars": 20000 } }.
Ошибки
Сначала обработайте ошибку, затем используйте текст. Таймаут или 502 не доказывает статус списания: попробуйте восстановить сохранённый результат. Не повторяйте вслепую ошибки ключа, квоты или конфликта запросов.
| HTTP | error | Значение |
|---|---|---|
| 401 | no_api_key / unknown_key / disabled | Ключ отсутствует, неверен или отключён |
| 429 | rate_limited / quota | Превышена частота запросов или квота юнитов |
| 409 | idempotency_conflict / idempotency_in_progress | Ключ повторён с другим запросом либо исходный запрос ещё выполняется |
| 409 | idempotency_replay_unavailable / idempotency_receipt_corrupt | Сохранённый результат недоступен; не запускайте новую работу автоматически |
| 400 | text_required / too_long / bad_json / invalid_idempotency_key / invalid_replay_only / idempotency_key_required | Неверный запрос; исправьте его перед повтором |
| 413 | own_free_result_too_large | Локальный результат превышает предел ответа; spent=0 |
| 502 | rewrite_error | Запрос не выполнен; сначала попробуйте восстановить сохранённый результат |