docling-api: Scalable Document to Markdown Conversion Server
This repository profile is provided by osrepos.com, an open source repository discovery platform.

Summary
docling-api is a robust and scalable backend server designed for converting a wide array of document formats, including PDFs, DOCX, and images, into Markdown. Built with FastAPI, Celery, and Redis, it supports both CPU and GPU processing, making it ideal for large-scale workflows requiring efficient text, table, and image extraction, along with OCR capabilities. This service offers flexible synchronous and asynchronous API endpoints for single and batch document conversions.
Repository Information
Topics
Click on any tag to explore related repositories
Use at your own risk
OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of code from these repositories is the user's own responsibility. Always review the repository, source code, dependencies, licenses, and security implications before running or installing anything. OSRepos is not responsible for issues, damages, or losses resulting from third-party repositories.
Introduction
docling-api is an advanced backend server that provides a highly efficient and scalable solution for converting diverse document formats into Markdown. Leveraging IBM's powerful Docling parser, alongside FastAPI, Celery, and Redis, this service excels at transforming PDFs, DOCX, PPTX, HTML, images, and more into structured Markdown. It supports both CPU and GPU processing modes, with GPU recommended for optimal performance in production, making it perfect for complex, large-scale document processing tasks. The project also highlights its superior parsing capabilities compared to other libraries through visual comparisons.
Installation
Setting up docling-api is straightforward, whether you prefer a local environment or a Dockerized deployment.
Local Setup (Prerequisites: Python 3.8+, Poetry, Redis server)
-
Install Poetry:
curl -sSL https://install.python-poetry.org | python3 - -
Clone and Setup Project:
git clone https://github.com/drmingler/docling-api.git cd docling-api poetry install -
Configure Environment:
Create a.envfile in the project root:REDIS_HOST=redis://localhost:6379/0 ENV=development -
Start Redis Server:
- For MacOS:
brew install redis brew services start redis - For Ubuntu/Debian:
sudo apt-get install redis-server sudo service redis-server start
- For MacOS:
-
Start Application Components:
- Start FastAPI server:
poetry run uvicorn main:app --reload --port 8080 - Start Celery worker (new terminal):
poetry run celery -A worker.celery_config worker --pool=solo -n worker_primary --loglevel=info - Start Flower dashboard (optional, new terminal):
poetry run celery -A worker.celery_config flower --port=5555
- Start FastAPI server:
Docker Setup
-
Clone the repository:
git clone https://github.com/drmingler/docling-api.git cd docling-api -
Create a
.envfile:REDIS_HOST=redis://redis:6379/0 ENV=production -
CPU Mode:
docker-compose -f docker-compose.cpu.yml up --build --scale celery_worker=1 -
GPU Mode (Recommended for production):
docker-compose -f docker-compose.gpu.yml up --build --scale celery_worker=3
Examples
The docling-api provides flexible API endpoints for various conversion needs.
Synchronous Conversion (Single Document):
curl -X POST "http://localhost:8080/documents/convert" \
-H "accept: application/json" \
-H "Content-Type: multipart/form-data" \
-F "document=@/path/to/document.pdf" \
-F "extract_tables_as_images=true" \
-F "image_resolution_scale=4"
Asynchronous Conversion (Single Document):
- Submit document:
curl -X POST "http://localhost:8080/conversion-jobs" \ -H "accept: application/json" \ -H "Content-Type: multipart/form-data" \ -F "document=@/path/to/document.pdf" - Check status (replace
{job_id}):curl -X GET "http://localhost:8080/conversion-jobs/{job_id}" \ -H "accept: application/json"
Batch Processing (Asynchronous):
curl -X POST "http://localhost:8080/batch-conversion-jobs" \
-H "accept: application/json" \
-H "Content-Type: multipart/form-data" \
-F "documents=@/path/to/document1.pdf" \
-F "documents=@/path/to/document2.pdf"
Why Use It
docling-api stands out as a powerful solution for document-to-Markdown conversion due to several key advantages:
- Extensive Format Support: It handles a wide range of inputs, including PDFs, DOCX, PPTX, HTML, various image formats, and more, ensuring broad applicability.
- Advanced Conversion Capabilities: Beyond basic text extraction, it offers robust table detection and extraction, image processing, and multi-language OCR, providing comprehensive content conversion.
- Scalability and Performance: Designed for large-scale workflows, it leverages Celery for distributed task processing and supports both CPU and GPU modes, with GPU acceleration significantly boosting performance for demanding tasks.
- Flexible API: With synchronous, asynchronous, and batch processing endpoints, developers can integrate the service seamlessly into diverse applications, with job tracking for long-running tasks.
- Ease of Deployment: The project provides clear instructions for both local setup and Docker deployment, simplifying integration into existing infrastructures.
- Quality Output: Visual comparisons in the repository demonstrate its superior Markdown output quality compared to other parsing libraries.
Links
- GitHub Repository: https://github.com/drmingler/docling-api
- Docling (IBM's advanced document parser): https://github.com/DS4SD/docling
Related repositories
Similar repositories that may be relevant next.

Benchmark Radar: A Living Database for AI Benchmarks and Evaluation
September 29, 2026
Benchmark Radar is an extensive open-source project that tracks over 20,710 AI benchmark, evaluation, dataset, and data-quality records from 37 public sources. It provides daily updates, linked evidence, and tools for researchers and developers to discover and analyze AI benchmarks. This project is essential for anyone needing to stay current with AI evaluation trends and model performance.

Pydantic AI Harness: Enhancing Your AI Agents with Robust Capabilities
September 28, 2026
Pydantic AI Harness is the official capability and harness library for Pydantic AI, designed to extend agents for complex, long-running tasks. It provides a modular system of "capabilities" for functionalities like file system interaction, web research, memory, and sub-agent delegation. This library enables developers to build sophisticated and durable AI agents with ease.

Bernstein: Open-Source Governance and Orchestration for AI Agents
September 28, 2026
Bernstein is an open-source framework designed for the governance and orchestration of AI agents, allowing users to define rules declaratively. It enforces these policies and generates verifiable, replayable records of all agent activities. This Python-based solution provides a robust layer for managing complex AI agent workflows with transparency and accountability.

Meshtastic-MCP: AI Tooling for Meshtastic Device Control and Testing
September 27, 2026
Meshtastic-MCP provides an MCP server and agent skills designed for AI tooling to discover, drive, observe, and test Meshtastic devices and applications. It offers a comprehensive suite of capabilities, from portable device control to advanced hardware-free end-to-end testing and replay functionalities. This project aims to streamline the development and testing of Meshtastic ecosystems.
Source repository
Open the original repository on GitHub.
21 counted GitHub visits