Schnellstart

Von null zu Ihrem ersten Ergebnis in fünf Schritten.

1. Konto erstellen

Registrieren Sie sich auf app.hotdoc.io — keine Kreditkarte erforderlich.

2. hotdoc API-Schlüssel erstellen

Im Dashboard unter „API keys”. Der vollständige Schlüssel wird einmalig bei der Erstellung angezeigt — speichern Sie ihn. Format: hotdoc_<id>.<secret>.

3. BYOK-Schlüssel bereithalten

Die Dokumentenverarbeitung braucht zwei Schlüssel:

  • Modell-Provider-Schlüssel (neural.apiKey) — von einem der unterstützten Provider: OpenAI, Anthropic (Claude), xAI (Grok), Together, DeepSeek, Xiaomi oder OpenRouter. Wird in der LLM-Stufe verwendet.
  • OCR-Provider-Schlüssel (ocr.providerKey) — ein BYOK-Schlüssel für die OCR-Stufe. Übergeben Sie den Provider über ocr.provider (z. B. NEURAL_CLIENT_TYPE_MISTRAL) und das Modell über ocr.model (z. B. mistral-ocr-latest). Bei jeder Anfrage erforderlich.

Beide Schlüssel werden nur als Eingabe entgegengenommen; keiner wird im Klartext gespeichert — die verschlüsselten Kopien werden zusammen mit dem Job gelöscht (~7 Tage).

4. Job erstellen

Übergeben Sie Ihre Datei-URLs, Prompts und Modellkonfiguration:

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"
    }
  }'

Welches Modell verwenden? Vergleichen Sie Intelligenz, Preis pro Token und Anbieter im LLM-Vergleich und wählen Sie das passende Modell.

Sie bekommen einen Job im Status JOB_STATUS_NEW mit seiner id zurück.

5. Auf das Ergebnis warten

Fragen Sie den Job-Status ab, bis er einen terminalen Zustand erreicht (JOB_STATUS_COMPLETE, JOB_STATUS_PARTIAL oder JOB_STATUS_FAILED):

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

Sobald der Job fertig ist, holen Sie das vollständige Ergebnis mit dem erkannten Text und den Antworten des Modells ab:

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

Beispielantwort:

{
  "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\"}" }]
  }
}

Sie müssen die Datei nicht unter einer öffentlichen URL hosten — Sie können sie direkt hochladen. Siehe „Dateien hochladen”.

Beispiel-model-Strings

Werden unverändert an den Provider übergeben (Stand 2026-06-17, prüfen Sie den Katalog des Providers): Xiaomi — mimo-v2-flash (verifiziert); OpenAI — gpt-4o-mini; Anthropic — claude-3-5-sonnet-latest. hotdoc validiert diesen Wert nicht — bei einem Tippfehler gibt der Provider einen Fehler in llm[].error zurück.