Для разработчиков
API ЗОРГ
Отправляйте изображения и видео на проверку из своих систем: модерации, редакционных инструментов, CRM. Та же проверка, что и в личном кабинете.
Доступ
- API доступен на всех платных тарифах: Журналист, Редактор, Модератор, Пресса.
- Ключ создаётся в личном кабинете: Настройки → API-ключи. Он показывается один раз — сохраните его.
- Ключ передаётся в заголовке:
Authorization: Bearer zk_… - Базовый адрес:
https://www.zorgai.ru/api/v1
Лимиты
- Проверки расходуют дневной лимит вашего тарифа — общий для сайта и API. Сутки считаются по московскому времени.
- Не больше 60 запросов в минуту на ключ.
- Неудачные проверки лимит не расходуют.
1. Отправить файл
POST /api/v1/analyses — multipart-форма с полями file и type. Ответ приходит сразу (код 202), проверка идёт в фоне.
| type | Что проверяет | Файлы |
|---|---|---|
complex | Все проверки последовательно: ИИ-генерация, дипфейк, фотомонтаж | JPG, PNG, WEBP, BMP, GIF до 50 МБ |
synthetic | ИИ-генерация | то же |
deepfake | Признаки манипуляции с лицом | то же |
forgery | Фотомонтаж: copy-move, splicing, inpainting с картой областей | то же |
video | Дипфейк по ключевым кадрам (до 16) | MP4, MOV, WEBM, MKV, AVI до 200 МБ и 10 минут |
curl -X POST https://www.zorgai.ru/api/v1/analyses \
-H "Authorization: Bearer zk_ваш_ключ" \
-F "type=complex" \
-F "file=@photo.jpg"
{
"success": true,
"analysis": { "id": "aB3dE5fG7hJ9kL1mN2pQ", "status": "queued", "type": "complex", "result": null, … },
"usage": { "daily_limit": 15, "used_today": 4, "remaining_today": 11, "resets_at": "2026-09-16T00:00:00+03:00" }
}
2. Получить результат
GET /api/v1/analyses/{id} — опрашивайте раз в 1–2 секунды, пока status равен
queued или processing. Изображения обычно проверяются за 5–30 секунд, видео — до нескольких минут.
curl https://www.zorgai.ru/api/v1/analyses/aB3dE5fG7hJ9kL1mN2pQ \
-H "Authorization: Bearer zk_ваш_ключ"
{
"success": true,
"analysis": {
"id": "aB3dE5fG7hJ9kL1mN2pQ",
"status": "done",
"type": "complex",
"result": {
"is_forgery": true,
"label": "ai_generated",
"label_text": "ИИ-генерация",
"verdict": "Выявлены характерные признаки синтетической генерации",
"manipulation_probability": 91.5,
"steps": [{ "key": "synthetic_check", "label": "Проверка на ИИ-генерацию", "probability": 91.5, "flagged": true }],
"metadata": { "risk": "MEDIUM", "risk_text": "Средний", "flags": […], "warnings": […], "exif": {…} },
"c2pa": { "present": false, … },
"video": null,
"images": { "result_url": "https://www.zorgai.ru/media/analyses/…", "mask_url": "…" }
},
"media_available": true,
"media_expires_at": "2026-10-15T12:00:00+03:00"
}
}
Поля результата
| status | queued, processing, done, failed (текст ошибки — в error) |
|---|---|
| label | original, ai_generated, deepfake, copy-move, splicing, inpainting, unknown |
| manipulation_probability | Вероятность того, что файл изменён или сгенерирован, от 0 до 100 |
| images | Ссылки на картинку с разметкой и маску. Действуют 1 час — запросите анализ снова, чтобы получить свежие |
| c2pa | Метка подлинности Content Credentials, если она есть в файле |
| video | Для видео: число проверенных и подозрительных кадров, временная шкала |
3. Остаток лимита
curl https://www.zorgai.ru/api/v1/usage -H "Authorization: Bearer zk_ваш_ключ"
Ошибки
Ошибка — это код HTTP не из 2xx и тело {"success": false, "error": "текст", "code": "…"}. Текст можно показывать пользователю.
| HTTP | code | Что значит |
|---|---|---|
| 401 | unauthenticated | Нет ключа, ключ неверный или отозван |
| 403 | requires_plan | Тариф закончился — API доступен только на платных тарифах |
| 404 | not_found | Проверка не найдена или создана другим аккаунтом |
| 422 | validation | Не тот формат или размер файла, неизвестный type |
| 429 | limit_reached | Дневной лимит исчерпан (в теле есть usage) |
| 429 | throttled | Больше 60 запросов в минуту |
Хранение данных
Исходный файл удаляется сразу после проверки. Картинка с разметкой хранится 30 дней, затем удаляется автоматически,
а вердикт и цифры остаются доступны по id. Результат носит вероятностный характер и не является экспертным заключением.
Нужны особые условия?
Большие объёмы, свой лимит, выделенные ресурсы — напишите нам.
hello@1ntegral.ru