Changelog
Публичный журнал изменений API. Аддитивные, обратно совместимые изменения (новые опциональные поля); ломающие изменения помечаются явно — существующие интеграции продолжают работать без правок.
2026-06-30 — Мульти-провайдерный OCR (BYOK)
Ломающее изменение. Этап OCR теперь принимает ocr.{provider, model, providerKey} (было
ocr.mistralApiKey). Выберите любого поддерживаемого провайдера — Mistral используется по умолчанию
(mistral-ocr-latest). Поле model обязательно. Новые маркеры ошибок OCR
(provider_auth_failed, provider_key_required, rate_limited, ocr_timeout,
ocr_backend_*, too_many_pages) заменяют mistral_key_required.
2026-06-26 — Идемпотентные ключи
POST /v1/jobs принимает idempotencyKey. Повторный запрос с тем же ключом и идентичными
параметрами возвращает исходную задачу; тот же ключ с другими параметрами возвращает
400.
2026-06-24 — вебхуки о завершении задачи
- Новые поля
webhookUrlиwebhookSecret(оба опциональные) при создании задачи.webhookUrl— абсолютныйhttp/https-адрес вашего эндпоинта; сервис отправит на негоPOST-запрос с JSON-телом (job_id,account_id,status,finished_at) ровно один раз, когда задача достигнет терминального статуса.webhookSecret— HMAC-секрет: при его наличии к каждому запросу добавляются заголовкиX-Hotdoc-TimestampиX-Hotdoc-Signature(sha256=hex(hmac_sha256(secret, "<ts>.<body>"))). Оба поля принимаются только на вход, в ответах не появляются. Политика повторов: до 6 попыток с задержками 1 м / 5 м / 15 м / 30 м / 30 м. Подробнее — в разделе «Вебхуки».
2026-06-24 — структурно-осведомлённое разбиение на части и настраиваемый их размер
- Структурно-осведомлённое деление текста на части. Длинный распознанный текст теперь режется по границам структуры формата (Markdown / HTML / XML / plain): таблицы не рвутся посреди строк (заголовок таблицы повторяется в каждой части), сохраняется контекст заголовков-секций. Прежнее поведение (части в отдельных строках
llm[]поchunkIndex/chunkTotal) сохранено — сервис по-прежнему не склеивает части. - Новое поле
neural.chunkBudgetTokens(опциональное) при создании задачи — бюджет одной части в токенах под контекстное окно вашей модели; диапазон16000–2000000, по умолчанию — консервативное значение сервиса. В ответе эхается фактический эффективный бюджет. - Новое поле
ocr[].outputFormatв результате задачи — формат распознанного текста (markdown/html/xml/plain).