Hecho para agentes de IA, no solo navegadores: cómo funciona la API
Cada herramienta del catálogo es un endpoint REST bajo /api/v1/, más MCP en /mcp. Las llamadas anónimas no piden cuenta ni clave; los fallos traen problem+json.

Una pestaña del navegador sigue funcionando: eliges una herramienta, subes un archivo y descargas el resultado. Los agentes y los scripts llaman a las mismas operaciones sin abrir una interfaz. Los dos caminos llegan al mismo catálogo.
Cada página de herramienta es también un endpoint
Combinar, dividir, comprimir, OCR, convertir: cada herramienta del catálogo se corresponde con una ruta /api/v1/…. Abre la página de una herramienta y desplázate hasta Llámalo desde el código para ver un ejemplo de curl construido con los parámetros reales de esa herramienta, no una plantilla genérica. En el sitio público, las llamadas anónimas no necesitan cuenta ni clave de API; los prefijos anónimos son /api/v1/general/, /api/v1/misc/, /api/v1/security/, /api/v1/convert/ y /api/v1/filter/.
El ejemplo de combinación es concreto:
curl -fsS -X POST "$API_BASE/api/v1/general/merge-pdfs" \
-F "[email protected]" \
-F "[email protected]" \
-o merged.pdf
La especificación OpenAPI está en /v1/openapi.json. El trabajo de varios pasos usa POST /api/v1/pipeline con una lista ordenada steps. Envía Idempotency-Key cuando un reintento no deba ejecutar dos veces un trabajo que modifica datos. Las respuestas alojadas anuncian X-RateLimit-Limit, X-RateLimit-Remaining y X-RateLimit-Reset; ante un HTTP 429, lee Retry-After (límites de tasa anónimos).
El OCR del mismo catálogo devuelve Markdown (text/markdown) desde /api/v1/misc/ocr-pdf, no un PDF con una capa de texto oculta. Un agente que espere un PDF buscable de ese endpoint manejará mal la descarga: el contrato es extracción de texto para pipelines, no una reescritura al estilo de OCRmyPDF.
MCP para los clientes que lo hablan
MCP (Model Context Protocol) permite a los clientes de agente descubrir e invocar herramientas como funciones en lugar de raspar documentación. Este sitio expone un servidor MCP en /mcp, junto a la API REST, de modo que un cliente compatible se conecta una vez y obtiene el catálogo completo.
MCP y REST comparten las expectativas de autenticación: anónimas donde lo permitan los prefijos de herramienta, y claves de API para la automatización estable y para los servidores autoalojados con acceso restringido. Apuntar un agente a /mcp no es un producto distinto de apuntar curl a /api/v1/…. Documentación: MCP para desarrolladores.
Los errores están estructurados, no en prosa
Los fallos devuelven application/problem+json (estilo RFC 7807), no un 500 pelado ni un «algo salió mal». Cada respuesta trae un código estable (rate_limited, bad_request, invalid_document, missing_dependency y similares), una pista legible y, a menudo, un siguiente paso. Una persona puede leerlo por encima; un agente puede decidir si reintenta, cambia el archivo o se detiene sin que nadie tenga que interpretar una traza de pila.
Cuando quien llama es un script, esa estructura importa más que una página HTML de error amigable. Referencia: Errores para desarrolladores.
llms.txt es para las herramientas, no para el ranking
/llms.txt es un índice en texto plano de todas las herramientas (nombre, descripción breve y URL), generado a partir del mismo catálogo que alimenta el sitio. Los agentes de código y las herramientas de documentación pueden leerlo como un README. No es una palanca de posicionamiento en Google: Search ignora /llms.txt (fuentes: guía de Google para la optimización con IA). Como se genera automáticamente, no puede quedarse obsoleto en silencio como un archivo editado a mano.
El CLI y la skill comparten las mismas formas
pdfx puede ejecutar el pdf-core local o --cloud contra una URL base. La skill para agentes de código de dist/skills/pdf-toolbox/SKILL.md documenta las formas de curl para combinación y pipeline, para que los agentes no inventen un segundo contrato. Cuatro clientes, un catálogo: La misma operación, cuatro clientes.
La ruta del navegador no cambia
Soltar un archivo en una pestaña sigue funcionando igual. La superficie adicional son esos mismos endpoints para un agente, un script o CI: el mismo procesamiento, sin una persona de por medio. El autoalojamiento mantiene esa superficie dentro de tu red (Self-host); el servicio alojado sigue siendo la vía de prueba anónima.
Referencia de la API: Swagger. Fundamentos para cualquiera de las dos vías: Ayuda y Desarrolladores.