Generate a PDF

Six ways in, one rendering pipeline out. Pick whichever matches what you already have — a description, a markdown file, a starting template, or your editor of choice. Output is the same PDF/A-2A + PDF/UA-1 dual-compliant PDF either way.

Build with embedded AI

Describe what you want

Two-column chat at /ai/chat: ask for a layout in plain English, see the PDF rebuild in the workspace pane. Saves the result as a reusable template. No model of your own required — runs on ours.

For: anyone who doesn't already have an AI assistant set up.

Bring your own AI

Skill file + MCP server

Point Claude, Cursor, ChatGPT, or any agent at our skill file or MCP server and it can author templates against the same DSL. No lock-in, no second model bill.

For: developers and power users with their own agent already.

Markdown → PDF

Paste markdown

GitHub Flavored Markdown in, styled PDF out. Tables, code blocks, task lists, Mermaid diagrams, LaTeX math, GFM alerts. Frontmatter for page size, fonts, theme.

For: docs, READMEs, reports, anything you'd write in markdown anyway.

Start from a template

Browse the library

Curated, pre-built templates for the common document types. Fork one to your account, edit it (by hand or via the embedded chat), then render with your data via /api/v1/render.

For: when there's already a shape that's close enough to what you need.

Editor extension

VS Code

Convert markdown files to PDF without leaving the editor. Adds a "Convert Markdown to PDF" command, an editor title-bar icon, and a right-click context menu action. No signup needed for documents up to 20 pages — add an API key in settings for higher limits and saved renders.

Editor extension

ObsidianComing soon

Export notes to typeset, accessible PDFs from a ribbon icon or the command palette, with configurable page size, font, and output folder.

Same pipeline, same compliance

Every entry point above renders through the same deterministic engine: tagged structure tree, embedded fonts, Unicode text extraction, sRGB ICC profile, validated against veraPDF on every release. Output is dual-compliant by construction (PDF/A-2A + PDF/UA-1) — not by best-effort post-processing.

Or skip the UI — call the API

Every option above is also a REST endpoint. POST /api/v1/md takes markdown, POST /api/v1/render takes a stored template ID + data (or inline DSL), and POST /api/v1/templates persists a template you authored elsewhere. JSON in, PDF bytes out. Authenticate with a Bearer API key from Settings → API Keys, or settle per-render in USDC via x402 wallets — no account required.

Full endpoint reference, request/response shapes, rate limits, and curl examples live in the API docs.

Already have a PDF? You're in the wrong place — try /enhance to add accessibility tags or regenerate clean source, or /validate to check it against PDF/A-2A + PDF/UA-1.