[Neuroslop](https://neuroslop.net/ru/)

/API

# Neuroslop API

Подключите детекцию, подробный разбор и гуманизацию к своему приложению или AI-ассистенту через API и MCP.

[Получить ключ API](https://neuroslop.net/#api-offers)
[Эндпоинты](https://neuroslop.net/#endpoints)
[Markdown](https://neuroslop.net/ru/api.md)

## Где пригодится

### Контент-платформы и CMS

Проверяйте черновики перед публикацией в CMS. Показывайте автору найденные фрагменты и предлагайте редактуру по запросу.

### Агентства и SEO-сервисы

Встройте проверку и переписывание в свой сервис. Расход единиц зависит от операции и длины текста.

### EdTech и текстовые редакторы

Дайте авторам подсказки прямо в редакторе. Показывайте конкретные замечания, чтобы текст можно было исправить.

## Почему этот API

### Детерминированная проверка

Проверка по правилам на сайте воспроизводима при одинаковых тексте, настройках, версии движка и снимке правил и словарей.

### Проверка и редактура

Проверка и гуманизация с одним ключом. Баллы до и после возвращаются, когда оценка применима; недоступный балл равен null.

### Результаты с учётом языка

Ответ сообщает применимость анализа. Правила для прозы наиболее развиты для русского и английского; для других языков анализ может быть ограничен.

## Тарификация: юниты

Проверка и редактура через API для приложений, ботов и MCP. Расход юнитов зависит от операции и длины текста. Условия квоты указаны у каждого пакета; старые ключи сохраняют купленные условия.

На сайте можно оплатить картой, через СБП или в USDT, в боте — Telegram Stars. Цены на странице ориентировочные; точную сумму и валюту вы увидите при оплате.

[Тарифы](https://neuroslop.net/en/pricing#apikeys)

Пакет на 3 000 юнитов это 3 000 проверок, или 100 гуманизаций Стандарт, или 30 Премиум. Вес проверки 1, Стандарт 30 за каждые 2500 знаков, Премиум 100 за 7500.

[Эндпоинты](https://neuroslop.net/#api-unit-costs)

## 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](https://neuroslop.net/downloads/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)](https://neuroslop.net/mcp) [Получить ключ в кабинете](https://neuroslop.net/account#api)

## Аутентификация

MCP-проверка использует бесплатный POST /api/check с ограничением частоты. POST /v1/check требует ключ и расходует его юниты. GET /v1/health доступен без ключа.

Для /v1/check, /v1/rewrite и /v1/balance передайте ключ в заголовке: Authorization: Bearer <key> / X-API-Key: <key>.

Ключ получить двумя путями, без ручного одобрения:

На сайте — [кабинет → API](https://neuroslop.net/account#api): выбери пакет, оплати картой, СБП или USDT — ключ выдаётся мгновенно.

В Telegram-боте — [@AITextChecker_bot](https://t.me/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
}
```

Расход юнитов указан в spent. Локальная правка и возврат исходника имеют spent=0, даже если локальный алгоритм изменил текст. Не определяйте списание по изменениям текста или баллам.

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 | Запрос не выполнен; сначала попробуйте восстановить сохранённый результат |

[Получить ключ API](https://neuroslop.net/#api-offers)

---
https://neuroslop.net/ru/api

## api

- apikey_start: 4.5 USDT; units=3000; quotaMode=one_time.
- apikey_business: 14 USDT; units=11000; quotaMode=one_time.
- apikey_max: 36 USDT; units=30000; quotaMode=one_time.

