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

От нуля до первого результата — пять шагов.

1. Создайте аккаунт

Зарегистрируйтесь на app.hotdoc.io — привязка карты не требуется.

2. Создайте API-ключ hotdoc

В кабинете, раздел «API-ключи». Полный ключ показывается один раз при создании — сохраните его. Формат: hotdoc_<id>.<secret>.

3. Подготовьте ключи BYOK

Для обработки документов нужны два ключа:

  • Ключ провайдера модели (neural.apiKey) — от одного из провайдеров: OpenAI, Anthropic (Claude), xAI (Grok), Together, DeepSeek, Xiaomi или OpenRouter. Используется на LLM-стадии.
  • Ключ OCR-провайдера (ocr.providerKey) — BYOK-ключ для OCR-стадии. Провайдер задаётся через ocr.provider (например, NEURAL_CLIENT_TYPE_MISTRAL), модель — через ocr.model (например, mistral-ocr-latest). Обязателен в каждом запросе.

Оба ключа принимаются только на вход; в открытом виде не хранятся — зашифрованные копии удаляются вместе с задачей (~7 дней).

4. Создайте задачу

Передайте ссылки на файлы, промпты и конфигурацию модели:

curl -X POST https://api.hotdoc.io/v1/jobs \
  -H "Authorization: Bearer hotdoc_<id>.<secret>" \
  -H "Content-Type: application/json" \
  -d '{
    "sourceUrls": ["https://example.com/invoice.pdf"],
    "title": "Invoice #42",
    "prompts": ["Extract the invoice number, date, supplier, line items, and total. Return strict JSON."],
    "ocr": { "provider": "NEURAL_CLIENT_TYPE_MISTRAL", "model": "mistral-ocr-latest", "providerKey": "<YOUR_KEY>" },
    "neural": {
      "type": "NEURAL_CLIENT_TYPE_XIAOMI",
      "model": "mimo-v2-flash",
      "apiKey": "<YOUR_PROVIDER_KEY>",
      "reasoningEffort": "low"
    }
  }'

Какую модель использовать? Сравните интеллект, цену за токен и провайдеров в сравнении LLM и укажите подходящую модель.

В ответ придёт задача в статусе JOB_STATUS_NEW с её id.

5. Дождитесь результата

Опрашивайте статус задачи, пока она не дойдёт до терминального состояния (JOB_STATUS_COMPLETE, JOB_STATUS_PARTIAL или JOB_STATUS_FAILED):

curl https://api.hotdoc.io/v1/jobs/JOB_ID \
  -H "Authorization: Bearer hotdoc_<id>.<secret>"

Когда задача завершилась — заберите полный результат с распознанным текстом и ответами модели:

curl https://api.hotdoc.io/v1/jobs/JOB_ID/result \
  -H "Authorization: Bearer hotdoc_<id>.<secret>"

Пример ответа:

{
  "result": {
    "job": { "status": "JOB_STATUS_COMPLETE" },
    "ocr": [{ "status": "JOB_OCR_STATUS_DONE", "content": "<p>Invoice #42 dated 2026-06-01…</p>" }],
    "llm": [{ "status": "JOB_LLM_STATUS_DONE", "content": "{\"number\": \"42\", \"date\": \"2026-06-01\", \"total\": \"15000\"}" }]
  }
}

Файл можно не выкладывать на публичный URL, а загрузить напрямую — см. «Загрузка файлов».

Примеры строк model

Передаются провайдеру как есть (актуальны на 2026-06-17, сверяйтесь с каталогом провайдера): Xiaomi — mimo-v2-flash (проверено); OpenAI — gpt-4o-mini; Anthropic — claude-3-5-sonnet-latest. Значение не валидируется hotdoc — при опечатке провайдер вернёт ошибку в llm[].error.