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 ChunkChef
En el panel, en «API keys». La clave completa se muestra una sola vez, en el momento de su creación: guárdela. Formato: chunkchef_<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 medianteocr.provider(p. ej.NEURAL_CLIENT_TYPE_MISTRAL) y el modelo medianteocr.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).
Opcionalmente, establezca extractionMode en EXTRACTION_MODE_OCR_ALWAYS para forzar el OCR en todos los archivos; el valor predeterminado, EXTRACTION_MODE_HYBRID, deja que el convertidor decida por archivo (consulte «Modo de extracción» en la documentación del Job API).
Opcionalmente, pase responseSchema (un JSON Schema, como cadena) para que ChunkChef valide la respuesta JSON del modelo contra él — consulte «Salida estructurada» en la documentación del Job API.
¿Necesita una señal de confianza más allá de una sola ejecución? Añada consensus (requiere responseSchema) para que ChunkChef vote entre varias ejecuciones — consulte «Ejecuciones de consenso» en la documentación del Job API.
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 chunkchef_<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 chunkchef_<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 chunkchef_<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. ChunkChef no valida este valor: si lo escribe mal, el proveedor devuelve un error en llm[].error.