Skip to main content

Opinionated Markdown converter with native LLM enhancement support

Project description

Markitai

English | 简体中文

Opinionated Markdown converter with native LLM enhancement support.

Features

  • Multi-format Support - DOCX/DOC, PPTX/PPT, XLSX/XLS, PDF, TXT, MD, JPG/PNG/WebP, URLs
  • LLM Enhancement - Format cleaning, metadata generation, image analysis
  • Batch Processing - Concurrent conversion, resume capability, progress display
  • OCR Recognition - Text extraction from scanned PDFs and images
  • URL Conversion - Direct webpage conversion with SPA browser rendering support
  • Smart Caching - LLM result caching, SPA domain learning, auto-proxy detection

Installation

One-Click Setup (Recommended)

# Linux/macOS
curl -fsSL https://raw.githubusercontent.com/Ynewtime/markitai/main/scripts/setup.sh | sh

# Windows (PowerShell)
irm https://raw.githubusercontent.com/Ynewtime/markitai/main/scripts/setup.ps1 | iex

Manual Installation

# Requires Python 3.11-3.13 (3.14 not yet supported)
uv tool install markitai

# Or using pip
pip install --user markitai

Quick Start

# Basic conversion
markitai document.docx

# URL conversion
markitai https://example.com/article

# LLM enhancement
markitai document.docx --llm

# Using presets
markitai document.pdf --preset rich      # LLM + alt + desc + screenshot
markitai document.pdf --preset standard  # LLM + alt + desc
markitai document.pdf --preset minimal   # Basic conversion only

# Batch processing
markitai ./docs -o ./output

# Resume interrupted job
markitai ./docs -o ./output --resume

# Batch URL processing (auto-detect .urls files)
markitai urls.urls -o ./output

Output Structure

output/
├── document.docx.md        # Basic Markdown
├── document.docx.llm.md    # LLM-enhanced version
├── assets/
│   ├── document.docx.0001.jpg
│   └── images.json         # Image descriptions
├── screenshots/            # Page screenshots (with --screenshot)
│   └── example_com.full.jpg

Configuration

Priority: CLI arguments > Environment variables > Config file > Defaults

# View configuration
markitai config list

# Initialize config file
markitai config init -o .

# View cache status
markitai cache stats

# Clear cache
markitai cache clear

Config file location: ./markitai.json or ~/.markitai/config.json

Environment Variables

Variable Description
OPENAI_API_KEY OpenAI API Key
GEMINI_API_KEY Google Gemini API Key
DEEPSEEK_API_KEY DeepSeek API Key
ANTHROPIC_API_KEY Anthropic API Key
JINA_API_KEY Jina Reader API Key (URL conversion)

Dependencies

Documentation

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

markitai-0.4.0.tar.gz (6.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

markitai-0.4.0-py3-none-any.whl (271.5 kB view details)

Uploaded Python 3

File details

Details for the file markitai-0.4.0.tar.gz.

File metadata

  • Download URL: markitai-0.4.0.tar.gz
  • Upload date:
  • Size: 6.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for markitai-0.4.0.tar.gz
Algorithm Hash digest
SHA256 781c6a40ef15fa93e1d7888aa2370071075f1605daa8de6c2adb83ad2ba03e57
MD5 b883516b0a3c9ca078c3b51f938df088
BLAKE2b-256 6b749de9fe10722f8df6c2e957b87744c6100b0fafb856f465a3223f3ce96873

See more details on using hashes here.

Provenance

The following attestation bundles were made for markitai-0.4.0.tar.gz:

Publisher: publish.yml on Ynewtime/markitai

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file markitai-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: markitai-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 271.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for markitai-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6fca5a3a7810e4b5a27ed22eb40ca53ab5afcf98e30f4cb7389bb652fc47087b
MD5 730a42db4ebb2f85e644be6c04a2228a
BLAKE2b-256 163f2c92146a16eccded350580d4afd364ca3f264b397ceacbe7d0fa7e53fc09

See more details on using hashes here.

Provenance

The following attestation bundles were made for markitai-0.4.0-py3-none-any.whl:

Publisher: publish.yml on Ynewtime/markitai

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page