An API certificate generator is one template and one JSON object per graduate. jsontoimg fills name, course, and date on named layers, draws a verification QR from a Code layer, then returns PNG for email or PDF for print.
Layers that actually change
full_name— auto-fit so long names do not overflow the platecourse/date— formatted before you send; the API will not localize dates for youcredential_id— printed on the plate- Code layer (format
qrcode) — verification URL or ticket id inlayers.<name>.text. Same pattern for code128 / ean13 / code39.
Issue one certificate
curl -X POST "https://app.jsontoimg.com/api/v1/render?wait=60" \
-H "Authorization: Bearer $JSONTOIMG_API_KEY" \
-H "Content-Type: application/json" \
-d '{"template":"<design-id>","format":"pdf","layers":{"full_name":{"text":"Ada Lovelace"},"course":{"text":"Intro to JSON renders"},"qr":{"text":"https://verify.example/ada"}}}'
Cohort of 200: four batches of 50. Track status per attendee id. Failed jobs are free; resend only those. Walkthrough with retries: certificate generator tutorial.
Identifiers you can actually verify
The credential id is the whole verification story. Mint an RFC 9562 UUID — v4 or v7 — not certificate number 41. A sequential id tells the holder how many you have issued and lets anyone walk to a neighbour’s record. Print it on the plate, encode the verification URL containing it in the Code layer, and serve a page that confirms it.
That page is what makes the certificate a lookup key rather than a claim. Without it, a QR is decoration: anyone can edit a PNG, but nobody can forge a row in your database.
Legibility, on screen and on paper
Certificates get printed, and print is unforgiving. WCAG 2.1’s contrast minimum asks 4.5:1 for body text and 3:1 for large text — a recipient name in light grey on cream fails on every single copy you issue. Check the template once and the whole cohort inherits it.
Then size for the longest realistic name, not the test one. Auto-fit on full_name handles the outliers, but a box designed around “Ada Lovelace” will still look wrong at “Mariana Fernanda de Oliveira Rodrigues”. Render a few worst cases before the run.
Related
- Event tickets
- Pricing
- PDF renders
- How JSON-to-image conversion works
- Certificate generator API guide
FAQ
What is an API certificate generator?
A service that takes a designed certificate template and JSON (name, course, date, id) and returns a PNG or PDF. jsontoimg does that with named layers, a Code layer for QR/barcodes, and one credit per image or PDF page.
PNG or PDF?
PNG/JPG for email and LinkedIn. PDF when the file must print. format: pdf on POST /api/v1/render; multi-page templates become multi-page PDFs, one credit per page.
How do QR codes work?
Add a Code layer in the editor, set format to qrcode, name it, and pass the payload in layers.<name>.text (verification URL or credential id). jsontoimg draws the code; you do not paste a PNG of a QR. Same pattern for barcodes.
Can I issue 500 certificates in one call?
One batch is 50 jobs. Loop 10 batches keyed by attendee id, wait or webhook each, retry the failures. Do not send 500 in a single POST.