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.