Docling como API alojada

La API de docling-serve con una sola clave de API: PDF, Word, PowerPoint, Excel, HTML e imágenes a Markdown y JSON, por 1 crédito por página de PDF.

Última actualización

Precio 1 crédito por página de PDF convertida (2 con force_ocr), 10 créditos por cualquier otro archivo
Límites Un archivo por solicitud, de hasta 25 MB y 200 páginas
Espera Las llamadas síncronas esperan hasta 50 s; las conversiones más largas siguen como tareas que consultas
Resultados Se guardan 7 días y luego se eliminan

Docling convierte archivos PDF, Word, PowerPoint, Excel, HTML e imágenes a Markdown, JSON, HTML o texto plano. Detecta el orden de lectura, los títulos, las listas y las tablas, y aplica OCR a las páginas escaneadas.

Esta API es la de docling-serve: las mismas rutas, campos de formulario y respuestas bajo https://api.pagespool.com/v1/docling. Un cliente escrito para docling-serve funciona si cambias su URL base y añades tu clave de API. Pruébalo primero con un PDF corto en la herramienta gratuita.

Precio y límites

Un PDF cuesta 1 crédito por página convertida. Con page_range pagas solo las páginas del rango, y force_ocr duplica el precio. Cualquier otro archivo cuesta 10 créditos. Los créditos se cobran al enviar la conversión y se reembolsan si falla. Los planes están en la página de precios.

  • Un archivo por solicitud, de hasta 25 MB y 200 páginas.
  • Hasta 1 conversión sin terminar a la vez en el plan gratuito, 3 en un plan de pago.
  • Las rutas síncronas esperan hasta 50 segundos. Una conversión más larga responde 504 con el código use_async y su task_id. Sigue en marcha, y la consultas como una asíncrona.
  • Docling detiene un PDF tras 8 segundos por página, como mínimo 2 y como máximo 24 minutos; cualquier otro archivo, tras 5 minutos.
  • Los resultados se guardan 7 días. El archivo subido se elimina cuando termina la conversión.
  • No se admiten: callbacks, destinos zip y presigned, pipelines distintos de standard ni opciones fuera de to_formats, from_formats, image_export_mode, do_ocr, force_ocr, ocr_engine, ocr_lang, pdf_backend, table_mode, page_range, abort_on_error, do_table_structure, include_images, images_scale y md_page_break_placeholder. Cada uno responde 400. No hay ruta de estado por WebSocket; el cliente de Docling pasa entonces a consultar el estado (polling).

Alojarlo tú o usarlo alojado

docling-serve es de código abierto y puedes ejecutarlo tú. La imagen para CPU ocupa 4,4 GB, y cada worker de conversión carga en memoria los modelos de maquetación, tablas y OCR: calcula varios GB de RAM por worker, más para PDF largos o escaneados. Además, mantienes la cola, la clave de API, las actualizaciones y la máquina.

Alojado aquí, necesitas una clave de API. La misma clave y el mismo saldo de créditos sirven para los demás motores de este sitio, y cada motor tiene su propio servidor MCP.

curl

Convierte un PDF y espera el resultado (hasta 50 segundos):

curl -H "X-Api-Key: YOUR_API_KEY" \
  -F "files=@report.pdf" -F "to_formats=md" \
  https://api.pagespool.com/v1/docling/v1/convert/file

El Markdown está en document.md_content. Un documento largo lo pones en cola, lo consultas y luego descargas el resultado:

curl -H "X-Api-Key: YOUR_API_KEY" -F "files=@report.pdf" \
  https://api.pagespool.com/v1/docling/v1/convert/file/async
# {"task_id": "3f9c…", "task_type": "convert", "task_status": "pending", "task_position": 0, "task_meta": null}

curl -H "X-Api-Key: YOUR_API_KEY" https://api.pagespool.com/v1/docling/v1/status/poll/3f9c…
curl -H "X-Api-Key: YOUR_API_KEY" https://api.pagespool.com/v1/docling/v1/result/3f9c…

Un documento en la web va a la ruta source. La API lo descarga ella misma desde su URL https:

curl -H "X-Api-Key: YOUR_API_KEY" -H "Content-Type: application/json" \
  -d '{"options": {"to_formats": ["md"], "page_range": [1, 10]}, "sources": [{"kind": "http", "url": "https://arxiv.org/pdf/2501.17887"}]}' \
  https://api.pagespool.com/v1/docling/v1/convert/source/async

Open WebUI

Open WebUI envía los documentos subidos a docling-serve cuando su motor de extracción de contenido es Docling. Apúntalo aquí:

CONTENT_EXTRACTION_ENGINE=docling
DOCLING_SERVER_URL=https://api.pagespool.com/v1/docling
DOCLING_API_KEY=YOUR_API_KEY

Open WebUI usa la ruta síncrona, así que un documento que tarda más de 50 segundos falla ahí. Para PDF largos, usa las rutas asíncronas.

El cliente de Python de Docling

docling-client instala el DoclingServiceClient de Docling, que ejecuta una conversión en un endpoint de docling-serve en lugar de en tu equipo:

pip install docling-client
from docling.service_client import DoclingServiceClient, StatusWatcherKind

with DoclingServiceClient(
    url="https://api.pagespool.com/v1/docling",
    api_key="YOUR_API_KEY",
    status_watcher=StatusWatcherKind.POLLING,
    job_timeout=1800,
) as client:
    result = client.convert(source="report.pdf")
    print(result.document.export_to_markdown())

StatusWatcherKind.POLLING evita el intento por WebSocket, que esta API no ofrece, y job_timeout da a los PDF largos el tiempo que necesitan.

Tu clave de API

Crea una clave en la página Claves de API. Envíala de una de estas tres formas:

  • X-API-Key: YOUR_API_KEY (los clientes de Docling la envían como X-Api-Key, la misma cabecera);
  • Authorization: Bearer YOUR_API_KEY;
  • HTTP Basic con la clave como contraseña. Un cliente que solo acepta una URL puede llevar la clave en ella, como https://x:YOUR_API_KEY@….

No pongas nunca la clave en una ruta ni en una query string: ambas acaban en los registros de acceso. Una clave ausente o incorrecta responde 401.

MCP y la herramienta gratuita

Para agentes de IA, el servidor MCP de Docling es https://api.pagespool.com/mcp/docling/. Su herramienta convert_document pone un documento en cola, y get_conversion devuelve el Markdown cuando está listo. Los pasos para cada cliente están en la página de conexión.

La herramienta gratuita PDF a Markdown hace la misma conversión con un PDF de hasta 3 páginas, sin cuenta.

Docling™ es una marca de LF Projects, LLC; pagespool no está afiliado a LF Projects.