ADVANCED
Async & large documents
How rendering works for big documents today, and what async will add.
Today: synchronous
Every render is synchronous: you POST to/v1/render and the PDF comes back in the same response, typically in roughly 400ms. There's no job id to poll and no callback to wait for — one request, one PDF.
Large documents
The synchronous path comfortably handles documents up to around30 pages. To keep big renders fast and reliable:
- Inline your CSS and embed assets as
data:URIs so there are no extra fetches during render. - Use
break-inside: avoidon rows and cards to avoid awkward splits. - Split very large reports into multiple PDFs and merge them on your side if you exceed the comfortable range.
Coming soon
Async rendering — submit a job, get an id, and receive the result via webhook or a hosted URL — is on the roadmap for very large documents that exceed the synchronous window. It isn't available yet.
coming soonWe'll document the job lifecycle here when it ships. Until then, the synchronous endpoint is the supported path for every render. Watch thechangelog for the launch.