markit  by Michaelliv

Universal document and media converter with AI integration

Created 2 weeks ago

New!

1,101 stars

Top 34.4% on SourcePulse

GitHubView on GitHub
1 Expert Loves This Project
Project Summary

Markit is a versatile command-line interface (CLI) and library designed to convert a vast array of file formats—including documents, spreadsheets, presentations, web content, images, and audio—into Markdown. It targets developers, researchers, and power users seeking a unified tool for content transformation, enhanced by integrated Large Language Model (LLM) capabilities for media analysis and transcription, streamlining workflows and data accessibility.

How It Works

The project employs a pluggable architecture, allowing for extensible support of diverse file types through community or custom plugins. Core functionality includes direct conversion of over 20 formats using dedicated parsers and libraries (e.g., unpdf, mammoth, turndown). For media files like images and audio, Markit integrates with various LLM providers (OpenAI, Anthropic, Ollama, etc.) to perform AI-driven tasks such as image description and audio transcription, enriching the Markdown output with contextual information.

Quick Start & Requirements

  • Install: npm install -g markit-ai for the CLI.
  • Prerequisites: Setting environment variables for LLM API keys (e.g., OPENAI_API_KEY, ANTHROPIC_API_KEY) is necessary for AI-powered features. Development utilizes bun.
  • Links: The README serves as the primary documentation.

Highlighted Details

  • Broad Format Support: Converts PDF, DOCX, PPTX, XLSX, HTML, EPUB, Jupyter notebooks, RSS feeds, images, audio, ZIP archives, URLs, and various code/text formats.
  • AI Integration: Leverages LLMs for image EXIF metadata, AI-generated image descriptions, and audio transcription. Supports custom AI prompts for targeted content extraction.
  • Extensibility: Features a robust plugin system for adding new format converters or LLM providers, with options to install via npm, Git, or local paths.
  • SDK: Provides a TypeScript/JavaScript library API for programmatic conversion, allowing flexible LLM provider configuration and mixing.

Maintenance & Community

No specific details regarding maintainers, community channels (e.g., Discord, Slack), or project roadmap are provided in the README. Development is managed using bun.

Licensing & Compatibility

  • License: MIT.
  • Compatibility: The MIT license permits commercial use and integration into proprietary software without significant restrictions.

Limitations & Caveats

AI-driven features are contingent on the availability and configuration of external LLM services, which may incur costs and introduce latency. Conversion fidelity for highly complex or graphically rich documents may vary.

Health Check
Last Commit

2 days ago

Responsiveness

Inactive

Pull Requests (30d)
6
Issues (30d)
7
Star History
1,106 stars in the last 17 days

Explore Similar Projects

Starred by Tom Preston-Werner Tom Preston-Werner(Cofounder of GitHub), Chip Huyen Chip Huyen(Author of "AI Engineering", "Designing Machine Learning Systems"), and
21 more.

markitdown by microsoft

7.6%
100k
Python tool for converting files to Markdown for LLM text analysis
Created 1 year ago
Updated 1 week ago
Feedback? Help us improve.