Один движок.
Два способа подключения.
REST API для ваших приложений и MCP для совместимых AI-клиентов. Правила, права и квоты едины с интерфейсом сайта.
OpenAPI 3.1 · Создать API-ключ · Методика анализа
Быстрый старт
- Создайте ключ с правами
analyzeиread. - Отправьте
POST https://antiplag.online/api/v1/analyzeс заголовкамиAuthorization: Bearer ap_…иContent-Type: application/json. - Ответ
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 | Антиплагиат — источники и заимствования |
ai | AI-детектор — нейросетевые признаки |
water | Вода — слова без полезной нагрузки |
spam | Заспамленность — повторы и плотность слов |
readability | Читаемость — ритм, предложения, абзацы |
style | Стиль — клише и канцеляризмы |
spelling | Орфография — написание и грамматика |
semantics | Семантика — смысл и полнота ответа |
seo | SEO и доверие — содержание, 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_analysis | id → состояние и результат; 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 для загрузки источников запрещены.