Deterministic PDFs from JSON.
In batches.
Typst-powered document engine on a batch-native API. Real pagination, retries, webhooks and signed URLs — no Chromium in the loop.
$ curl -X POST https://api.pagekiln.dev/v1/batches \
-d '{"template_id": "tpl_invoice", "items": [ …5000 ]}'
{"batch_id": "job_8f2a…", "total": 5000, "status": "queued"}
Still babysitting headless Chromium?
Cold starts, RAM spikes and Docker tuning — for a single PDF.
Fragile pagination for long tables, statements and reports.
DIY queues, retries, storage and webhooks around a single-render API.
Pricing that stops being predictable the moment volume grows.
Batch-native
One JSON array or NDJSON file in — thousands of PDFs out, with status, partial-failure handling and webhooks.
Document engine
Typst templates with real pagination, tables, page furniture and math — reproducible output, not browser screenshots.
API-first
Templates, versions, keys, usage, batches and webhooks — REST, SDK and CLI before any UI.
Predictable pricing
Document quotas first — no cent-level overage surprises at volume.
Template → JSON → PDFs
Upload a Typst template — or start from a starter template.
POST your JSON to /v1/render or /v1/batches.
Fetch signed URLs, or let a webhook tell you when the batch is done.
Get early access
Leave your email — we'll reach out when the private beta opens. Free tier at launch.