Документация
API Reference
Базовый URL: https://humanizeru.com/api
Аутентификация
Передавайте API-ключ в заголовке Authorization:
Authorization: Bearer hru_ваш_ключ
API-ключ можно создать в Dashboard.
POST /api/humanize
Гуманизирует AI-сгенерированный текст.
Параметры
| Параметр | Тип | Описание |
|---|---|---|
text | string | Текст для гуманизации (50-50,000 символов) |
tone | string | conversational | business | academic |
model | string | fast (default) | quality |
translate | boolean | Перевести в русский + гуманизировать (текст на любом языке) |
style_sample | string | Пример текста для извлечения стиля (120-20,000 символов) |
style_profile | object | Профиль из /api/styles/extract, чтобы не извлекать стиль повторно |
style_id | string | ID приватного сохранённого стиля из /api/styles |
style_strength | string | subtle | balanced | strong |
style_preset | string | Готовая база стиля: technical_programmer, famteam_voice, client_explainer, yulia_product_voice, product_update, founder_memo, telegram_expert, docs_api, sales_without_hype |
style_adjustments | object | Лёгкая настройка пресета: аудитория, техническость, теплота, словарь, запреты |
detailed | boolean | Включить подробный отчёт |
Пример запроса
curl -X POST https://humanizeru.com/api/humanize \
-H "Authorization: Bearer hru_ваш_ключ" \
-H "Content-Type: application/json" \
-d '{
"text": "Искусственный интеллект представляет собой одну из наиболее перспективных технологий.",
"tone": "conversational",
"model": "fast"
}'Ответ
{
"success": true,
"data": {
"text": "AI меняет правила игры. За последний год...",
"score": 12,
"verdict": "READY",
"characters_used": 89,
"iterations": 1
}
}POST /api/styles/extract
Извлекает переносимый профиль письма из примера текста. API не копирует уникальные фразы автора, а возвращает паттерны тона, ритма, структуры и лексики.
Пример запроса
curl -X POST https://humanizeru.com/api/styles/extract \
-H "Authorization: Bearer hru_ваш_ключ" \
-H "Content-Type: application/json" \
-d '{
"sample": "Сначала покажем проблему простыми словами. Потом разберем, что поменялось на практике, без пафоса и лишних обещаний. В конце оставим короткий вывод, чтобы читатель понял, что делать дальше."
}'Ответ
{
"success": true,
"data": {
"style_profile": {
"summary": "Живой экспертный Telegram-стиль",
"tone": "разговорный, уверенный",
"persona": "практик",
"rhythm": "короткие абзацы",
"sentence_length": "mixed",
"vocabulary": ["простые слова", "умеренные технические термины"],
"structure": ["хук", "объяснение", "пример", "короткий вывод"],
"punctuation": ["тире", "вопросы"],
"rhetorical_devices": ["контраст", "риторический вопрос"],
"formatting": ["короткие строки"],
"avoid": ["канцелярит", "пафос"]
},
"characters_used": 1840
},
"meta": {
"request_id": "2db13475-0fb1-4e3d-a9c2-244e5dfb9a2e",
"processing_ms": 1200,
"model_used": "claude-haiku-4-5"
}
}Переписать с готовым профилем
curl -X POST https://humanizeru.com/api/humanize \
-H "Authorization: Bearer hru_ваш_ключ" \
-H "Content-Type: application/json" \
-d '{
"text": "В современном мире искусственный интеллект играет ключевую роль в оптимизации бизнес-процессов и повышении эффективности команд.",
"style_profile": {
"summary": "Живой экспертный Telegram-стиль",
"tone": "разговорный, уверенный",
"persona": "практик",
"rhythm": "короткие абзацы",
"sentence_length": "mixed",
"vocabulary": ["простые слова"],
"structure": ["хук", "пример", "вывод"],
"punctuation": ["тире"],
"rhetorical_devices": ["вопросы"],
"formatting": ["короткие строки"],
"avoid": ["канцелярит"]
},
"style_strength": "balanced"
}'GET /api/styles
Возвращает приватные стили пользователя. Сохранённый стиль можно использовать в POST /api/humanize через style_id.
Сохранить стиль
curl -X POST https://humanizeru.com/api/styles \
-H "Authorization: Bearer hru_ваш_ключ" \
-H "Content-Type: application/json" \
-d '{
"name": "Founder style",
"profile": {
"summary": "Короткая позиция основателя",
"tone": "личный, прямой",
"persona": "основатель",
"rhythm": "короткие абзацы",
"sentence_length": "mixed",
"vocabulary": ["рынок", "команда", "клиент"],
"structure": ["наблюдение", "позиция", "вывод"],
"punctuation": ["тире"],
"rhetorical_devices": ["контраст"],
"formatting": ["короткие абзацы"],
"avoid": ["мотивационный пафос"]
}
}'Использовать style_id
curl -X POST https://humanizeru.com/api/humanize \
-H "Authorization: Bearer hru_ваш_ключ" \
-H "Content-Type: application/json" \
-d '{
"text": "Сырой текст агента...",
"style_id": "0d9f4a1a-7b2c-4a37-9e32-8df4f15c6a4d",
"style_strength": "balanced"
}'GET /api/style-presets
Возвращает готовые базы стиля, которые агенты могут выбрать и настроить под задачу.
Пример запроса
curl https://humanizeru.com/api/style-presets
Пример использования пресета
curl -X POST https://humanizeru.com/api/humanize \
-H "Authorization: Bearer hru_ваш_ключ" \
-H "Content-Type: application/json" \
-d '{
"text": "Сырой технический текст агента...",
"style_preset": "technical_programmer",
"style_strength": "balanced",
"style_adjustments": {
"audience": "founders",
"technicality": "high",
"warmth": "medium",
"vocabulary_add": ["agent runtime", "latency", "pipeline"],
"avoid_add": ["инфобизнес", "громкие обещания"],
"structure_hint": "тезис, техническая причина, практический вывод"
}
}'POST /api/detect
Проверяет текст на AI-сгенерированность (без гуманизации).
Пример запроса
curl -X POST https://humanizeru.com/api/detect \
-H "Content-Type: application/json" \
-d '{
"text": "Ваш текст для проверки..."
}'Ответ
{
"success": true,
"data": {
"score": 87,
"verdict": "REWRITE",
"report": { ... }
}
}Система оценок
| Score | Verdict | Значение |
|---|---|---|
| 0-34 | READY | Текст звучит как человеческий |
| 35-64 | NEEDS_WORK | Требуется доработка |
| 65-100 | REWRITE | Текст явно AI-сгенерирован |
Тоны
conversationalРазговорный. Как коллега рассказывает за кофе. Частицы, неполные предложения, ремарки.businessДеловой. Как хороший отчёт руководству. Структурированный, с метриками.academicНаучный. Как качественная курсовая. Формальный, со ссылками.Коды ошибок
| HTTP | Код | Описание |
|---|---|---|
| 400 | TEXT_TOO_SHORT | Минимум 50 символов |
| 400 | TEXT_TOO_LONG | Максимум 50,000 символов |
| 401 | INVALID_API_KEY | Неверный API-ключ |
| 429 | RATE_LIMIT_EXCEEDED | Превышен дневной лимит |
| 500 | INTERNAL_ERROR | Сервис временно недоступен |
Лимиты
| Тариф | Символов/день | Символов/мес |
|---|---|---|
| Free | 3,000 | 90,000 |
| Starter | 50,000 | 500,000 |
| Pro | 200,000 | 2,000,000 |