# Markovo Capabilities

Markovo uses one capability registry and one artifact contract for every input format. This file distinguishes Available, authenticated Beta, and Planned formats. Beta requires a signed-in session or API key and must not be treated as anonymous availability.

Last updated: 2026-07-30

## Live

| Capability | Inputs | Output | Status |
| --- | --- | --- | --- |
| `pdf-to-markdown` | `.pdf`, `application/pdf` | Markdown bundle | Available |

Live discovery is authoritative: `GET https://markovo.net/v1/capabilities`.

## Authenticated Beta

| Capability | Inputs | Billing |
| --- | --- | --- |
| `text-to-markdown` | `.txt`, `.md`, `.markdown`, `.json`, `.xml` | `max(110, ceil(words × 50 / 1,000)) credit_units` |
| `html-to-markdown` | `.html`, `.htm`, `.xhtml` | `max(110, ceil(words × 50 / 1,000)) credit_units` |
| `csv-to-markdown` | `.csv` | `max(70, ceil(non-empty cells × 50 / 2,000)) credit_units` |
| `docx-to-markdown` | `.docx` | 0.1 Credit / measured page |
| `pptx-to-markdown` | `.pptx` | 0.1 Credit / slide |
| `xlsx-to-markdown` | `.xlsx` | `max(110, ceil(non-empty cells × 50 / 2,000)) credit_units` |
| `image-to-markdown` | `.png`, `.jpg`, `.jpeg`, `.webp`, `.tif`, `.tiff`, `.bmp` | 0.5 Credit / actual OCR page |
| `epub-to-markdown` | `.epub` | `max(70, ceil(words × 50 / 1,000)) credit_units` |
| `notion-to-markdown` | Notion Markdown & CSV `.zip` export | `max(60, ceil(words × 50 / 1,000)) credit_units` |
| `audio-to-markdown` | `.mp3`, `.wav`, `.m4a`, `.aac`, `.flac`, `.ogg`, `.opus`, `.wma` | actual milliseconds at 1 Credit/minute; 0.3 minimum |
| `video-to-markdown` | `.mp4`, `.mov`, `.m4v`, `.webm`, `.mkv`, `.avi`, `.wmv` | decoded audio milliseconds at 4 Credits/minute; 0.3 minimum |
| `url-to-markdown` | one public `https://` page with explicit consent | `max(300, ceil(fetch_ms × 40 / 1,000) + ceil(words × 50 / 1,000)) credit_units` |

All Beta capabilities verify file type, use account ownership and Credits, and produce the same artifact bundle as PDF. Anonymous access remains PDF-only while Beta quality and reliability gates run.

### Recommended PDF formula enhancement Beta

For a signed-in PDF, `layout_fidelity=formula` performs unpaid region detection and renders detected equations as LaTeX. The browser recommends this option for a single PDF; API, CLI, and MCP callers select it explicitly. The normal file charge remains and each detected formula region adds 700 `credit_units` (0.7 Credit). The estimate shows the region count and maximum price, and any third-party processing scope is disclosed before conversion. Compare every equation with the original PDF. Failed, timed-out, or system-cancelled jobs release the full hold.

Formula enhancement remains Beta and every equation must be reviewed against the original PDF; symbol, variable, root, subscript, or superscript errors remain possible.

## Planned adapters

| Wave | Inputs | Planned customer result | Status |
| --- | --- | --- | --- |
| 2 | XLS, ODS | Sheet-aware Markdown for legacy spreadsheets | Planned |
| 2 | Scanned PDF | OCR-aware PDF conversion through the existing capability | Planned improvement |

## Current validation evidence

The deterministic release suite covers generated files across TXT, Markdown, JSON, XML, HTML, CSV, DOCX, PPTX, XLSX, EPUB, Notion Export ZIP, and image OCR. Every route must produce a valid bundle and recover its required test content. This is a release baseline, not a claim that every real-world document will convert perfectly.

The EPUB and Notion Beta release corpus adds 50 EPUB and 50 Notion Export ZIP cases. It verifies chapter order, Markdown and CSV content, local asset linkage, safe ZIP boundaries, bundle integrity, and token recovery. Authenticated production canaries for both formats passed on 2026-07-23; promotion still requires the 50-task and 7-day observation gates.

The Image Beta release corpus separately covers 50 PNG/JPEG/WebP/TIFF/BMP files. Its latest reproducible run passed all 50 cases with complete required-token recall and bundle verification. Image OCR remains Beta until it also meets the 7-day production gate; clear screenshots and single-column scans are the supported first-use scope, while tables, formulas, handwriting, charts, and multi-column layout require review.

The Office Beta corpus covers 50 DOCX files and 50 PPTX files. Its latest reproducible run passed all 100 cases with complete required-token recall and bundle verification. DOCX currently targets headings, paragraphs, tables, and embedded raster images. PPTX targets slide order, titles, text, simple tables, and raster images. Footnotes, notes, charts, diagrams, animation, and exact visual layout remain review boundaries.

XLSX is an authenticated Beta separate from legacy XLS/ODS. Markovo estimates non-empty worksheet cells before reservation and processes the workbook read-only. Charts, pivots, macros, formula calculation, conditional formatting, and exact visual layout remain review boundaries.

Audio and video are authenticated Beta capabilities. Markovo validates each supported container, measures decoded duration before confirmation, and produces detected language, duration, time-coded transcript segments, quality evidence, and actual duration-based Credits. Video conversion reads the audio track only; it does not inspect video frames, perform visual understanding, identify speakers, or promise a verbatim transcript. Media is limited to 50 MiB and 60 minutes. Settlement verifies duration again to millisecond precision, and failures release the full reservation.

The table above is the active Credit rate card; formula requests bind to their disclosed Beta card. The API uses `1 Credit = 1,000 credit_units`; for example, 110 units display as `0.11 Credit`. Responses expose exact integer-unit fields and compatibility decimal fields. Creem remains in Test Mode during the production preview. Automated semantic enhancement and additional OCR models remain disabled and cannot be quoted, held, or billed.

## Output contract

Every promoted capability is normalized to:

- `output.md`
- `assets/`
- `metadata.json`
- `source_map.json`
- `quality_report.json`
- `bundle.zip`

Image references inside Markdown point to bundle-relative paths. The sharing API now lists only manifest-verified image assets and issues revocable 60–600 second opaque bearer URLs after checking Job ownership. Tokens are stored only as hashes, every read is audited, expiry never exceeds Job retention, and source/result buckets remain private. The Browser, REST client, CLI, and MCP all use the same grant contract.

## Promotion rule

A format moves from Planned to Beta only after its benchmark corpus, quality threshold, actual Credit cost, resource limit, failure fallback, malware/input isolation, and output contract all pass. Beta moves to Available only after production error and latency targets are met.
