Inicio rápido

De cero a su primer resultado en cinco pasos.

1. Cree una cuenta

Regístrese en app.hotdoc.io: no se requiere tarjeta de crédito.

2. Cree una API key de hotdoc

En el panel, en «API keys». La clave completa se muestra una sola vez, en el momento de su creación: guárdela. Formato: hotdoc_<id>.<secret>.

3. Tenga listas sus claves BYOK

El procesamiento de documentos necesita dos claves:

  • Clave del proveedor del modelo (neural.apiKey): de uno de los proveedores admitidos: OpenAI, Anthropic (Claude), xAI (Grok), Together, DeepSeek, Xiaomi u OpenRouter. Se usa en la etapa LLM.
  • Clave del proveedor de OCR (ocr.providerKey): una clave BYOK para la etapa OCR. Indique el proveedor mediante ocr.provider (p. ej. NEURAL_CLIENT_TYPE_MISTRAL) y el modelo mediante ocr.model (p. ej. mistral-ocr-latest). Obligatoria en cada solicitud.

Ambas claves se aceptan solo como entrada; ninguna se almacena en texto plano: las copias cifradas se eliminan junto con la tarea (~7 días).

4. Cree una tarea

Pase las URL de sus archivos, los prompts y la configuración del modelo:

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

¿Qué modelo usar? Compare inteligencia, precio por token y proveedores en la comparativa de LLM y elija el modelo adecuado.

Recibirás de vuelta una tarea en estado JOB_STATUS_NEW, con su id.

5. Espere el resultado

Consulte el estado de la tarea hasta que alcance un estado terminal (JOB_STATUS_COMPLETE, JOB_STATUS_PARTIAL o JOB_STATUS_FAILED):

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

Una vez terminada la tarea, obtenga el resultado completo con el texto reconocido y las respuestas del modelo:

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

Ejemplo de respuesta:

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

No tiene por qué alojar el archivo en una URL pública: puede subirlo directamente. Consulte «Subida de archivos».

Ejemplos de cadenas de modelo

Se pasan al proveedor tal cual (vigentes a fecha de 2026-06-17, compruebe el catálogo del proveedor): Xiaomi — mimo-v2-flash (verificado); OpenAI — gpt-4o-mini; Anthropic — claude-3-5-sonnet-latest. hotdoc no valida este valor: si lo escribe mal, el proveedor devuelve un error en llm[].error.