docling-api: Scalable Document to Markdown Conversion Server

This repository profile is provided by osrepos.com, an open source repository discovery platform.

docling-api: Scalable Document to Markdown Conversion Server

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

Analyzed by OSRepos on January 30, 2026

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)

  1. Install Poetry:

    curl -sSL https://install.python-poetry.org | python3 -
    
  2. Clone and Setup Project:

    git clone https://github.com/drmingler/docling-api.git
    cd docling-api
    poetry install
    
  3. Configure Environment:
    Create a .env file in the project root:

    REDIS_HOST=redis://localhost:6379/0
    ENV=development
    
  4. 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
      
  5. 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
      

Docker Setup

  1. Clone the repository:

    git clone https://github.com/drmingler/docling-api.git
    cd docling-api
    
  2. Create a .env file:

    REDIS_HOST=redis://redis:6379/0
    ENV=production
    
  3. CPU Mode:

    docker-compose -f docker-compose.cpu.yml up --build --scale celery_worker=1
    
  4. 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):

  1. 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"
    
  2. 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

Related repositories

Similar repositories that may be relevant next.

AMD Skills: Empowering AI Agents with AMD's Optimized Software Stack

AMD Skills: Empowering AI Agents with AMD's Optimized Software Stack

August 16, 2026

AMD Skills is the official catalog of AI agent skills from AMD, designed to empower AI agents with optimized software for AMD hardware. This repository provides knowledge, scripts, and conventions for working with AMD's stack, enabling seamless integration with major coding agents like Cursor, Claude Code, OpenAI Codex, and Gemini CLI.

PythonAI AgentsMachine Learning
agent-tackle-box: A Terminal Debugger for LangGraph & LangChain Agents

agent-tackle-box: A Terminal Debugger for LangGraph & LangChain Agents

August 15, 2026

agent-tackle-box is a comprehensive toolkit for developing AI agents, featuring the powerful `agent-debugger`. This terminal debugger provides deep insights into LangGraph and LangChain agents. It allows developers to inspect state, monitor tool calls, and step through Python code, all within a unified Textual UI.

agent-debuggerai-agentslangchain
ADR: Uber's Enterprise Security System for AI Agents

ADR: Uber's Enterprise Security System for AI Agents

August 14, 2026

ADR (Agentic AI Detection and Response) is an enterprise security system developed by Uber to secure AI agents. It offers critical capabilities like observability, security benchmarking, and threat detection, ensuring the safe operation of both employee and customer-facing AI applications. This open-source project is deployed in production at Uber and was accepted to MLSys 2026.

PythonAI SecurityAgent Security
SkillOpt: Optimizing Self-Evolving Agent Skills for LLMs

SkillOpt: Optimizing Self-Evolving Agent Skills for LLMs

August 11, 2026

SkillOpt is an innovative text-space optimizer from Microsoft that enables the training of reusable natural-language skills for frozen LLM agents. It approaches skill development with the rigor of deep-learning optimization, using trajectory-driven edits and validation-gated updates. This results in deployable `best_skill.md` artifacts that significantly boost agent performance across various benchmarks and models without modifying model weights.

agent-skillsself-evolving-agentsPython

Source repository

Open the original repository on GitHub.

12 counted GitHub visits

View on GitHub
OS
OSRepos

Analysis and discovery of open source repositories. Find interesting projects and follow their updates.

Monitor your website with YourWebsiteScore

OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of third-party repository code is at your own risk. Always review source code, dependencies, licenses, and security implications before running anything.

© 2025 OSRepos. Built with Nuxt 3 and lots of ❤️