Starters · 1123 × 794 · 12 layers · 5 variables · pdf, certificate

Certificate, A4 landscape

A4 landscape at 96 dpi for POST /v1/pdfs: a framed certificate with the recipient's name in a serif face, the course, the date and a signature line.

live · POST /v1/images1123 × 794
Certificate, A4 landscape, rendered with the sample variables
rendering…
rendered with the sample variables · change them and render again
Open in the editor
the same render with your saved copy
curl -X POST https://api.imageapis.com/v1/images \
  -H 'X-API-Key: YOUR_KEY' -H 'Content-Type: application/json' \
  -d '{"template": "tpl_…", "variables": {"name": "Dana Reyes", "course": "Advanced PostgreSQL Administration", "date": "10 October 2026", "issuer": "Example Academy", "signer": "M. Okafor, Director"}}'

Make it yours

Copy the starter into your account once; from then on it is a template id you render with new variables. Creating and reading templates is free.

curl -s https://api.imageapis.com/v1/starters/certificate -H 'X-API-Key: YOUR_KEY' | jq .template > certificate.json
curl -X POST https://api.imageapis.com/v1/templates -H 'X-API-Key: YOUR_KEY' \
  -H 'Content-Type: application/json' -d @certificate.json
# → { "id": "tpl_…", "object": "template", … }

Change any layer by name at render time with modifications, or change the design itself in the editor and save it back with PUT /v1/templates/<id>.

Layers

NameTypex, ySizeContent
framerect28, 281067 × 738
innerrect40, 401043 × 714
issuertext80, 90963 × 36{{issuer}}
headingtext80, 150963 × 80Certificate of Completion
presentedtext80, 250963 × 36This certificate is presented to
nametext80, 300963 × 110{{name}}
fortext80, 430963 × 36for completing
coursetext120, 476883 × 90{{course}}
datetext120, 650380 × 36{{date}}
date_linerect160, 640300 × 1
signertext623, 650380 × 36{{signer}}
sign_linerect663, 640300 × 1

The template

Show the JSON (12 layers)
{
  "name": "Certificate",
  "width": 1123,
  "height": 794,
  "background": "#fffdf7",
  "layers": [
    {
      "name": "frame",
      "type": "rect",
      "x": 28,
      "y": 28,
      "width": 1067,
      "height": 738,
      "fill": "transparent",
      "border": "3px solid #b45309",
      "radius": 6
    },
    {
      "name": "inner",
      "type": "rect",
      "x": 40,
      "y": 40,
      "width": 1043,
      "height": 714,
      "fill": "transparent",
      "border": "1px solid #d6a560",
      "radius": 4
    },
    {
      "name": "issuer",
      "type": "text",
      "x": 80,
      "y": 90,
      "width": 963,
      "height": 36,
      "text": "{{issuer}}",
      "font": "Inter",
      "weight": 600,
      "size": 22,
      "color": "#b45309",
      "align": "center",
      "letter_spacing": 4,
      "transform": "uppercase"
    },
    {
      "name": "heading",
      "type": "text",
      "x": 80,
      "y": 150,
      "width": 963,
      "height": 80,
      "text": "Certificate of Completion",
      "font": "Playfair Display",
      "weight": 700,
      "size": 56,
      "color": "#0b1220",
      "align": "center"
    },
    {
      "name": "presented",
      "type": "text",
      "x": 80,
      "y": 250,
      "width": 963,
      "height": 36,
      "text": "This certificate is presented to",
      "font": "Inter",
      "weight": 400,
      "size": 22,
      "color": "#475569",
      "align": "center"
    },
    {
      "name": "name",
      "type": "text",
      "x": 80,
      "y": 300,
      "width": 963,
      "height": 110,
      "text": "{{name}}",
      "font": "Playfair Display",
      "weight": 600,
      "size": 84,
      "color": "#b45309",
      "align": "center",
      "valign": "middle",
      "fit": "shrink",
      "max_lines": 1,
      "style": "italic"
    },
    {
      "name": "for",
      "type": "text",
      "x": 80,
      "y": 430,
      "width": 963,
      "height": 36,
      "text": "for completing",
      "font": "Inter",
      "weight": 400,
      "size": 22,
      "color": "#475569",
      "align": "center"
    },
    {
      "name": "course",
      "type": "text",
      "x": 120,
      "y": 476,
      "width": 883,
      "height": 90,
      "text": "{{course}}",
      "font": "Inter",
      "weight": 700,
      "size": 40,
      "color": "#0b1220",
      "align": "center",
      "fit": "shrink",
      "max_lines": 2
    },
    {
      "name": "date",
      "type": "text",
      "x": 120,
      "y": 650,
      "width": 380,
      "height": 36,
      "text": "{{date}}",
      "font": "Inter",
      "weight": 500,
      "size": 22,
      "color": "#0b1220",
      "align": "center"
    },
    {
      "name": "date_line",
      "type": "rect",
      "x": 160,
      "y": 640,
      "width": 300,
      "height": 1,
      "fill": "#94a3b8"
    },
    {
      "name": "signer",
      "type": "text",
      "x": 623,
      "y": 650,
      "width": 380,
      "height": 36,
      "text": "{{signer}}",
      "font": "Inter",
      "weight": 500,
      "size": 22,
      "color": "#0b1220",
      "align": "center"
    },
    {
      "name": "sign_line",
      "type": "rect",
      "x": 663,
      "y": 640,
      "width": 300,
      "height": 1,
      "fill": "#94a3b8"
    }
  ]
}