The biggest pivot since launch. makesPDF is now positioned as the fastest PDF rendering API — no longer an AI product. The AI is yours to bring.
Breaking: /api/v1/render contract changed
- Old:
POST /api/v1/render { type, data }— called Claude/OpenAI to auto-generate a template, then rendered it. Billed. - New:
POST /api/v1/render { templateId, data }— renders a template you previously saved viaPOST /api/v1/templates. Billed (1 credit / 10 pages on success; zero on any 4xx/5xx).
There is no migration shim — pre-launch, no external customers to migrate.
New: template persistence API
POST /api/v1/templates— save a DSL template (free; catalog-validated; 512KB DSL cap).GET /api/v1/templates— list your templates.GET /api/v1/templates/:id— fetch DSL.PUT /api/v1/templates/:id— update DSL or name.DELETE /api/v1/templates/:id— delete.
All endpoints user-scoped; 404 for unknown or non-owned ids (indistinguishable by design).
/api/v1/preview is now the free draft surface
Iterate on DSL with /preview (free, length-preserving filler in data, "PREVIEW — NOT FOR USE" watermark baked in), save with /templates, then render real PDFs with /render.
AI removed from the core worker
CLAUDE_API_KEY is no longer required for deployment. It stays optional for dev tooling only (scan-template.ts, batch-scan.ts, the bakeoff runner). No Anthropic/OpenAI SDK is loaded at request time.
Promo: /api/v1/md free under a page cap
KV-gated. The Markdown-to-PDF route skips the credit deduct when pages ≤ cap and emits an X-Credits-Free-Under header.