antiplag.
Рабочее пространство для текста
Локальная обработка Конфиденциальность

Один движок.
Два способа подключения.

REST API для ваших приложений и MCP для совместимых AI-клиентов. Правила, права и квоты едины с интерфейсом сайта.

OpenAPI 3.1 · Создать API-ключ · Методика анализа

Быстрый старт

  1. Создайте ключ с правами analyze и read.
  2. Отправьте POST https://antiplag.online/api/v1/analyze с заголовками Authorization: Bearer ap_… и Content-Type: application/json.
  3. Ответ 202 содержит id. Опрашивайте GET /api/v1/jobs/ID с тем же ключом раз в 2 секунды до конечного статуса.
{
  "text": "На сегодняшний день проверка текста помогает редактору находить лишние слова.",
  "modules": [
    "water",
    "style",
    "nausea"
  ],
  "genre": "article",
  "webSearch": false
}

Серверный пример JavaScript; секрет берётся из окружения:

const headers = {
  Authorization: 'Bearer ' + process.env.ANTIPLAG_KEY,
  'Content-Type': 'application/json',
  'Idempotency-Key': 'document-123-v1'
};
const response = await fetch('https://antiplag.online/api/v1/analyze', {
  method: 'POST', headers, body: JSON.stringify(input)
});
if (!response.ok) throw new Error(await response.text());
const job = await response.json();
// Poll GET /api/v1/jobs/<job.id> with the Authorization header.

Выбор проверок

МодульНазначение
nauseaАкадемическая тошнота — повторяемость значимой лексики
evidenceОбоснованность — числа, источники и даты
structureСтруктура — абзацы и навигация по смыслу
terminologyТерминология — сокращения и точность языка
plagiarismАнтиплагиат — источники и заимствования
aiAI-детектор — нейросетевые признаки
waterВода — слова без полезной нагрузки
spamЗаспамленность — повторы и плотность слов
readabilityЧитаемость — ритм, предложения, абзацы
styleСтиль — клише и канцеляризмы
spellingОрфография — написание и грамматика
semanticsСемантика — смысл и полнота ответа
seoSEO и доверие — содержание, e-e-a-t, алиса
integrityЦелостность — скрытые знаки и подмены

Пропустите modules для всех проверок или передайте нужный набор. Дополнительные поля: query, keywords, questions, metadata, sources, sourceUrls, excludeQuotes. Полные типы и пределы — в OpenAPI. Неизвестные поля отклоняются.

Результат

Статусы задания: queued, running, complete, failed, cancelled. Отчёт собран при complete, но отдельные модули в result.states могут иметь partial, unavailable или insufficient_data.

  • metrics: значения, единицы, формулы и ограничения. null не равен нулю.
  • findings: замечания и координаты UTF-16, полуоткрытые [start,end). В JavaScript используйте text.slice(start, end). В Python преобразуйте UTF-16 в индексы строки.
  • matches: фрагменты текста и источника. semantic не входит в процент заимствований.
  • coverage: прочитанные источники и состояние внешнего поиска.
  • model: идентификатор, ревизия и объём AI-анализа. Балл не устанавливает авторство.

MCP: Streamable HTTP

Адрес: https://antiplag.online/mcp. Транспорт без серверных сессий, POST и Bearer. Клиент должен поддерживать Streamable HTTP с пользовательскими заголовками. OAuth и старый SSE-транспорт не заявлены.

{
  "mcpServers": {
    "antiplag": {
      "type": "http",
      "url": "https://antiplag.online/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_API_KEY>"
      }
    }
  }
}

Формат конфигурации зависит от клиента. Храните ключ в защищённом хранилище или окружении, не в Git.

ИнструментНазначение
list_checksМодули и ограничения
analyze_textТекст + modules → job id; право analyze
get_analysisid → состояние и результат; read
rewrite_textЧерновик → job id; rewrite
add_sourceЛичный источник → job id; sources
get_usageКвоты и расход; read

Ресурс antiplag://methodology описывает интерпретацию. После отправки опрашивайте get_analysis. Для повторяемой отправки анализа передайте idempotencyKey.

Редактура и библиотека

POST /api/v1/rewrite: text, style (clear, concise, academic, friendly), preserveTerms и query. Результат: text, before, after, similarity, degradation, model и reviewRequired: true. До публикации проверьте факты и цитаты.

POST /api/v1/sources: title, text или url. Источник доступен владельцу; общие источники добавляет администратор через кабинет. GET /sources возвращает библиотеку, DELETE /sources/ID исключает источник. История — GET /jobs, расход — GET /usage.

Лимиты и ошибки

  • Анализ: 20–50 000 символов; редактура: 40–10 000. До 8 текстовых источников и 5 явных URL. HTTP-тело — до 1 500 000 байт.
  • По умолчанию: 100 000 символов и 100 заданий в сутки UTC, до 5 незавершённых заданий. Администратор может изменить лимит символов.
  • Квота резервируется при принятии задания, включая переданные тексты сравнения. Импорт источника только по URL резервирует 50 000 символов. Неуспешное вычисление остаётся учтённым. Это ограничение ресурсов, платежей нет.
  • Idempotency-Key: 8–100 букв, цифр, подчёркиваний, точек или дефисов. Одинаковый ключ + нормализованное тело → прежнее задание без новой квоты; другое тело → 409. Ключ хранится вместе с заданием до 30 дней.
  • 400 — неверные поля; 401 — ключ не принят; 403 — недостаточно прав; 404 — нет объекта или доступа; 413 — большое тело; 429 — частота или квота. Тело ошибки: error.code, error.message.
  • При 429 используйте ограниченное ожидание. Суточная квота обновляется в 00:00 UTC. После обрыва ответа повторите запрос с прежним Idempotency-Key.

Тексты хранятся 30 дней, гостевые — до суток. webSearch=true передаёт до двух фрагментов по 10 слов Mwmbl. Локальные и приватные URL для загрузки источников запрещены.