License & Pricing
Boundaries
- Free, open-source packages:
@paperjsx/json-to-pptx(MIT),@paperjsx/json-to-pdf,@paperjsx/json-to-docx,@paperjsx/json-to-xlsx(all Apache-2.0). Local/self-hosted developer use. - Paid packages:
@paperjsx/json-to-pptx-pro,@paperjsx/json-to-pdf-pro,@paperjsx/json-to-docx-pro,@paperjsx/json-to-xlsx-pro. Advanced features plus a commercial license for production and self-hosted commercial use. - Hosted API: managed runtime with preflight, diff, approvals, and brand packs. Billed per plan.
Getting a license key
- Create an account at paperjsx.com/auth/signup.
- Choose a plan at paperjsx.com/pricing.
- Copy your license key from Dashboard → API Keys.
Using the key
Set the environment variable:
Terminal
export PAPERJSX_LICENSE_KEY=pj_live_your_key_here
Or pass it directly when creating an engine:
TypeScript
import { createEngine } from "@paperjsx/json-to-pptx-pro";
const pptx = createEngine({
licenseKey: process.env.PAPERJSX_LICENSE_KEY,
});
Plans
| Plan | Role | Includes |
|---|---|---|
| Free | Open wedge | MIT/Apache-2.0 packages, local/self-hosted dev use, playground, 5 hosted evaluation renders/month, local MCP install and testing |
| Pro (single) | Paid package | One paid package (e.g. json-to-pptx-pro) for self-hosted commercial generation |
| Pro | Single-format production | One paid format, hosted production usage, 1,000 MCP calls/month, standard support |
| Pro (All Formats) | Expansion | PPTX, DOCX, XLSX, and PDF with all Pro features, one key, 1,000 MCP calls/month |
| Enterprise | Commercial | Annual agreements, OEM redistribution, SLA, volume licensing, custom throughput and MCP limits |
How validation works
- On first render, the SDK sends your license key to
api.paperjsx.com/v1/license/validate. Only the key and SDK version are sent — no document data. - On success, validation is cached for 24 hours.
- If the validation server is unreachable, a 72-hour grace period allows continued offline use.
- After 72 hours without revalidation, rendering throws a license error.
Revoking, upgrading, cancelling
- Revoke: Dashboard → API Keys → delete. Fails validation within 24 hours.
- Upgrade: takes effect immediately; the same key reflects the new tier on next validation.
- Cancel: plan remains active until the end of the billing period, then rendering throws a license error. No data is deleted.