PDF template API
Typeset-quality PDF API — LaTeX in, polished PDF out.
Real typesetting engine, deterministic pagination, and professional typography through a REST API, remote MCP server, agent skill, and gallery of LaTeX templates you copy and render. No headless browser.
{
"invoiceNumber": "INV-2026-001",
"customer": {
"name": "Acme GmbH"
},
"items": [
{
"description": "Backend development",
"quantity": 10,
"unitPrice": 120
},
{
"description": "API integration",
"quantity": 4,
"unitPrice": 140
}
],
"total": 1760
}\section*{Invoice [[ .invoiceNumber ]]}
\begin{longtable}{l r r}
\toprule
Description & Qty & Unit \\
\midrule \endhead
[[ range .items ]]
[[ .description ]] &
[[ .quantity ]] &
[[ .unitPrice ]] \\
[[ end ]]
\bottomrule
\end{longtable}
\hfill Total due: [[ .total ]]Invoice
INV-2026-001
Bill to
Acme GmbH
94 Market St, San Francisco
Due date
2026-07-12
| Description | Qty | Total |
|---|---|---|
| Backend development | 10 | 1,200.00 |
| API integration | 4 | 560.00 |
Total due
EUR 1,760.00
Page 1 of 3 — headers repeat, totals never split
The problem
HTML-to-PDF breaks when pagination matters.
Print CSS works for simple one-page documents. It falls apart the moment real documents need structure.
- Tables split badly across pages
- Headers and footers are inconsistent
- Totals land on wrong pages
- Page breaks require hacks
- Browser rendering differs across environments
- Good multi-page layout takes too much time
How it works
Use data. Keep templates. Get PDFs.
JSON data + LaTeX template → PDF
- Create a LaTeX template with placeholders
- Design the document once. Merge fields, loops, and layout rules live in the template.
- Send resources plus optional JSON data
- One POST request with your LaTeX files and data for [[ ]] placeholders. No TeXLive, no Docker images.
- Receive PDF bytes synchronously
- Pixel-perfect pagination, repeated headers, page numbers, and totals where they belong.
01 — Template
02 — API
03 — PDF
Examples
Same API. Very different documents.
Each example shows the JSON payload, the template snippet, and the generated PDF.
Numbered sections, tables, charts, and an appendix with predictable page breaks.
{
"title": "Q2 Usage Report",
"period": "2026-04 / 2026-06",
"sections": [
{
"heading": "Summary",
"metrics": [
{
"label": "Renders",
"value": 48210
},
{
"label": "p50 time",
"value": "740ms"
}
]
},
{
"heading": "Appendix",
"table": "usage_by_team"
}
]
}[[ range .sections ]]
\section{[[ .heading ]]}
[[ if .metrics ]]
\begin{tabular}{l r}
[[ range .metrics ]]
[[ .label ]] & [[ .value ]] \\
[[ end ]]
\end{tabular}
[[ end ]]
[[ end ]]
\appendix
\input{tables/usage_by_team}Q2 Usage Report
2026-04 / 2026-06
1. Summary
| Renders | 48,210 |
| p50 render time | 740ms |
2. Renders by week
Page 1 of 6 — sections, tables, appendix
AI agents
Built for AI agents.
Texify gives agents a PDF tool they can call, inspect, and retry without guessing at browser print output.
Remote MCP server
Connect Claude Code, Cursor, or any streamable HTTP MCP client to https://api.texify.dev/mcp. No install.
{
"mcpServers": {
"texify": {
"url": "https://api.texify.dev/mcp"
}
}
}Agent skill
Install the Texify skill from GitHub, then let the agent render, read compile errors, and fix LaTeX until the PDF compiles.
opencode skill add https://github.com/texifydotdevREST compile failures return 422 with a trimmed error snippet. MCP tool errors return the full LaTeX log verbatim, so agents can run the self-fix loop instead of asking humans to debug TeX.
Developer API
Built for API workflows.
Render documents with a single request. REST compile errors include a trimmed snippet; MCP tool errors include the verbatim log.
POST /render HTTP/1.1
Host: api.texify.dev
Content-Type: application/json
{
"entrypoint": "main.tex",
"resources": {
"main.tex": "\\documentclass{article}\n\\begin{document}Hello Texify.\\end{document}"
}
}HTTP/1.1 200 OK
Content-Type: application/pdf
%PDF-1.5
% binary PDF bytes...Roadmap and trust
Typesetting first. Compliance next.
Texify is focused on reliable LaTeX rendering today. Production controls and compliance features are on the roadmap.
Available now
- Raw LaTeX rendering
- LaTeX templates
- Trimmed REST compile errors
- Remote MCP server
- Template gallery
Coming next
- PDF/A support, Ghostscript + veraPDF validated
- Factur-X / ZUGFeRD e-invoicing
- Hosted template-ID endpoint
- Async jobs
- Webhooks
- Template versioning
- Custom fonts
- Image uploads
Exploring
- AI compile-error explanation
- HTML-to-LaTeX migration helper
- Hosted template editor
- Team accounts
Pricing
Pricing is being shaped with beta users.
Join the beta or request a paid pilot. We are using real document workflows to shape launch plans.
- Beta access
- Try LaTeX rendering and templates while the product takes shape.
- Paid pilot
- Get help turning one document flow into a working render path.
- Launch planning
- Share volume, compliance, and workflow needs for future plans.
Need this now? Request paid setup.
Send one template and sample JSON. We help convert it into a working Texify render flow.
Join beta
Tell us about your PDF pain.
The more we know about your documents, the faster we can get your first template rendering.
Prefer to see output first? Download the sample PDF.
FAQ
Questions, answered.
- Is this HTML-to-PDF?
- No. Texify uses LaTeX-quality document rendering. HTML input may come later, but the current focus is structured data plus LaTeX templates.
- Do I need to know LaTeX?
- For the beta, yes. Later, templates and examples should reduce the LaTeX knowledge required to get started.
- Can I use my own templates?
- Yes. The beta supports user-provided LaTeX templates.
- Can I send raw LaTeX?
- Yes. POST raw LaTeX files as resources to /render and save the application/pdf response body.
- Is this safe for private documents?
- During beta, avoid sending highly sensitive production documents. Security and isolation are core roadmap items, but we will not claim enterprise security before it exists.
- Why not use HTML-to-PDF?
- HTML is great for simple documents. Texify targets documents where pagination, tables, math, and layout predictability matter.