SuperAPI AI Directory

convert-to-markdown

Office & productivity

View repository

Updated 10-16 02:04

About this skill

Convert Files and URLs to Markdown

All scripts live in scripts/. Run them "as is".

Tool Selection

Input type Command Script location
.pdf, .docx, .pptx, .xlsx, .xls, .csv, .json, .xml, .epub, images (.jpg/.png/etc.), audio (.mp3/.wav/etc.), .html, .txt, .md uvx markitdown <path> built-in CLI
YouTube URL or video ID ./scripts/youtube-transcript <url_or_id> scripts/youtube-transcript
Regular web URL (Crawl4AI server running) ./scripts/web-to-md <url> scripts/web-to-md
.mhtml file or MHTML URL ./scripts/mhtml-to-md <source> scripts/mhtml-to-md

YouTube Transcript

./scripts/youtube-transcript <url_or_video_id> [--info] [--lang <code>] [--raw]
  • --info: Include video metadata (title, channel, duration) before transcript.
  • --lang <code>: Subtitle language (e.g. en, de). Default: auto-detect source language.
  • --raw: Output raw VTT instead of cleaned text.

MHTML to Markdown

./scripts/mhtml-to-md <path_or_url>

Accepts local .mhtml files or remote URLs serving MHTML content.

Web Page to Markdown (via Crawl4AI)

./scripts/web-to-md <url> [-o output.md] [-s server_url]

Requires a Crawl4AI server running on http://localhost:11235 (or set $CRAWL4AI_URL). The server fetches the full page HTML; this script converts it to Markdown.

No Crawl4AI? Fall back:

curl -o page.html <url> && uvx markitdown page.html

MarkItDown (General File Conversion)

All other formats use uvx markitdown:

uvx markitdown <path> [-o output.md]

Supports: PDF, DOCX, PPTX, XLSX/XLS, images (EXIF + OCR), audio (transcription), EPUB, CSV, JSON, XML, HTML, TXT, ZIP.

When Things Go Wrong

Issue What to do
Scanned PDF yields no text Try uvx markitdown <path> treating it as an image — markitdown runs OCR on images
Password-protected file Remove password first; markitdown can't decrypt
Large ZIP archive Extract specific files first, then convert individually
YouTube age-restricted video yt-dlp will fail — no workaround
Audio transcription poor quality Depends on audio clarity; nothing we can do from here
Excel has many sheets All sheets included as separate tables in output