Skip to main content
The Document Converter (doc-converter) is a lightweight service that converts source files into PDF. It normalizes Office documents, images, and plain text into a single format the Document Parser and other AI workflows can process. It is a separate service from the Document Parser.
The Document Converter is CPU-only โ€” it loads no ML models and does not use a GPU. Conversion runs through headless LibreOffice and image libraries.

Dependencies

The Document Converter connects to standard FlowX infrastructure services that should already be configured in your environment:
  • Kafka โ€” event-driven conversion of files stored in object storage
  • Object storage (S3-compatible / MinIO) โ€” source and result files for the object-conversion endpoint and Kafka mode
  • CMS Core โ€” file retrieval from FlowX content management

Capabilities

The service converts the following input formats to PDF: The service runs in two modes:
  • HTTP API โ€” synchronous conversion of an uploaded file or a file in storage
  • Kafka consumer โ€” event-driven conversion of files stored in object storage

API endpoints

All endpoints are prefixed with the URL_PREFIX value (default: /doc-converter).

Configuration

Server configuration

The service listens on port 8080.

Image conversion

Object storage

Required for the object-conversion endpoints and the Kafka consumer, which read and write files in S3-compatible storage.
The Kafka consumer is enabled by default. Configure Kafka connection and authentication as described in the Kafka authentication configuration guide. CORS for the HTTP endpoints is configured through the standard APPLICATION_CORS_ALLOW_* variables โ€” see the Ingress configuration guide.

Observability (optional)


Deployment and sizing

The Document Converter is a lightweight, CPU-only service โ€” it needs no GPU. Conversions run as short-lived LibreOffice subprocesses, so memory is the main resource to size for; large Office documents can briefly increase memory use.
Increase the memory limit if you convert large or complex Office documents. Scale horizontally with more replicas for higher conversion throughput.

Verify your setup

The Document Converter pod is running: kubectl get pods -l app=doc-converter
The health endpoint returns HTTP 200: curl http://doc-converter:8080/api/v1/doc-converter/info/health
Test a conversion against the /api/v1/doc-converter/convert/file endpoint and verify the response is a PDF.

Document Parser setup

Configure the Document Parser for text extraction and OCR

AI Platform setup

Configure AI Platform services and service discovery

Kafka authentication

Configure Kafka connection and authentication

CMS Core setup

Configure content management for file retrieval
Last modified on July 1, 2026