Rendering
Bindery Press renders templates into documents on demand. You send a template (or template ID) with data, and get back a rendered document in your chosen format.
Output Formats
Section titled “Output Formats”| Format | Content-Type | Description |
|---|---|---|
pdf | application/pdf | Vector PDF. Best for printing and archival. |
png | image/png | Raster image. Configurable DPI. |
zpl | text/plain | Zebra Programming Language. For thermal label printers. |
html | text/html | Rendered HTML. Useful for previews and web display. |
Delivery Modes
Section titled “Delivery Modes”Control how you receive the rendered output with the delivery field.
URL Delivery (default)
Section titled “URL Delivery (default)”{ "delivery": "url" }The response includes a url field pointing to the rendered output. The file is stored for 7 days and can be downloaded with your API key.
{ "id": "a1b2c3d4-...", "status": "complete", "format": "pdf", "url": "https://api.binderypress.dev/v1/render-outputs/a1b2c3d4-...", "sizeBytes": 12345, "renderTimeMs": 450}Inline Delivery
Section titled “Inline Delivery”{ "delivery": "inline" }The rendered document is returned directly in the response body with the appropriate Content-Type header. No URL is provided — the output is not stored.
This is useful when you need the document immediately and don’t need to download it later.
DPI (PNG only)
Section titled “DPI (PNG only)”For PNG output, set the dpi field to control resolution. Default is 300 DPI.
{ "format": "png", "dpi": 150}Higher DPI produces larger files but sharper output. Common values:
| DPI | Use Case |
|---|---|
| 72 | Screen preview |
| 150 | Web display |
| 300 | Print quality (default) |
| 600 | High-quality print |
Test Mode
Section titled “Test Mode”Renders made with a test key (bp_sk_test_) produce watermarked output and are tagged as test renders. They do not count against your monthly quota.
Test renders are functionally identical to live renders — same templates, same formats, same processing pipeline. The only difference is the watermark and quota treatment.
Rendering Pipeline
Section titled “Rendering Pipeline”When a render request arrives:
- Auth — API key or session is validated.
- Rate limit — Request is checked against the team’s rate limit.
- Quota — Monthly render count is checked (live mode only).
- Template resolution — Inline template is used directly, or the saved template is loaded from storage by
templateId. - Render — The template and data are sent to a container in the render pool. The container uses a headless browser to produce the output.
- Storage — The output is written to cloud storage (URL delivery) or streamed back (inline delivery).
- Response — The render metadata or inline content is returned.
Render Job Retention
Section titled “Render Job Retention”Render outputs (URL delivery) are stored for 7 days. After that, the file is deleted and the download URL returns 404.
Render job metadata (job ID, timing, format, status) is retained separately for auditing and is visible in the dashboard.
Limits
Section titled “Limits”| Limit | Value |
|---|---|
| Request body size | 1 MB max |
| Output retention | 7 days |
| Container pool size | 3 instances |