Use Case

Generate Certificates at Scale with an API

RenderPix is a certificate generator API: design your template in HTML/CSS, send names and data, get back pixel-perfect PNG images — one call per certificate, or up to 50 at once with the batch endpoint.

Start Free — 100 certs/mo View API Docs
Who Uses This

Certificates for every use case

🎓
Online Courses
Auto-generate completion certificates when students finish a course. Integrate with your LMS — Teachable, Thinkific, or custom platforms.
🏆
Events & Conferences
Bulk-generate attendance certificates for hundreds of participants. Upload a CSV, loop through names, and get images back in seconds.
💼
Employee Recognition
Award certificates for training completion, performance milestones, or internal programs. Integrate with HR tools via API.
How It Works

HTML in, certificate image out

generate-certificate.js
// Generate a course completion certificate
const html = `
  <div style="width:1400px;height:1000px;background:white;display:flex;
    flex-direction:column;align-items:center;justify-content:center;
    border:12px solid #1e293b;padding:60px;font-family:Georgia,serif">
    <div style="font-size:18px;letter-spacing:6px;color:#64748b">
      CERTIFICATE OF COMPLETION
    </div>
    <div style="width:120px;height:2px;background:#22d3ee;margin:24px 0"></div>
    <div style="font-size:48px;color:#0f172a;margin:20px 0">
      ${recipientName}
    </div>
    <div style="font-size:18px;color:#475569;max-width:600px;text-align:center">
      has successfully completed the course
      <strong>${courseName}</strong>
      on ${completionDate}
    </div>
  </div>
`;

const res = await fetch('https://renderpix.dev/v1/render', {
  method: 'POST',
  headers: { 'X-API-Key': 'rpx_your_key', 'Content-Type': 'application/json' },
  body: JSON.stringify({ html, width: 1400, height: 1000, format: 'png' })
});

const certImage = await res.arrayBuffer();
Why renderpix

Built for bulk certificate generation

Full CSS support
Custom fonts, borders, gradients, images, logos — real Chromium rendering means your certificates look exactly as designed.
Bulk-friendly pricing
Generate 50,000 certificates/month for $79. That's $0.0016 per certificate — cheaper than any alternative.
PNG, JPEG, or WebP
Choose the format that fits. PNG for print-quality certs, JPEG for email attachments, WebP for web display.
Retina / 2x output
Set scale=2 for high-DPI certificate images that look crisp when printed on paper.
Get Started

Your first certificate in 2 minutes

$0/mo
100 free certificates/month · No credit card required
Get Your API Key — Free
New in June 2026

Now with batch rendering & template variables

Automate at scale without writing a loop.

Batch Rendering

Render up to 50 images in a single API call (Pro plan). Generate an entire week's content in one request.

Issue 200+ certificates the moment a course ends. Batch render all students in one request, zip and email in minutes.

Template Variables

Use {{placeholders}} in your HTML. Inject names, dates, titles dynamically — no string manipulation in your code.

{{name}}, {{course}}, {{date}}, {{instructor}} — one HTML template handles every student automatically.

Async Callbacks

Fire-and-forget rendering with callback_url. Your app doesn't wait — RenderPix calls you back when the image is ready. (Pro+)

Trigger certificate generation on course completion webhook. Your LMS gets a 200 immediately; student receives email when render completes.

batch-certificates.js
// Batch generate certificates for all students
const students = [
  { name: 'Jane Smith', course: 'Advanced n8n', date: 'June 2026' },
  { name: 'John Doe',   course: 'Advanced n8n', date: 'June 2026' },
];

const response = await fetch('https://renderpix.dev/v1/batch', {
  method: 'POST',
  headers: { 'X-API-Key': 'rpx_your_key', 'Content-Type': 'application/json' },
  body: JSON.stringify({
    items: students.map(s => ({
      html: `<div style="width:1200px;height:850px;background:white;display:flex;
        flex-direction:column;align-items:center;justify-content:center;
        border:20px solid #0f172a;font-family:Georgia,serif;padding:60px">
        <div style="font-size:18px;color:#64748b;letter-spacing:4px">CERTIFICATE OF COMPLETION</div>
        <div style="font-size:56px;font-weight:700;color:#0f172a;margin:24px 0">{{name}}</div>
        <div style="font-size:20px;color:#64748b">has successfully completed {{course}}</div>
        <div style="font-size:16px;color:#94a3b8;margin-top:32px">{{date}}</div>
      </div>`,
      vars: { name: s.name, course: s.course, date: s.date },
      width: 1200, height: 850, format: 'png'
    }))
  })
});
const { results } = await response.json();
// results[i].image = base64 PNG for each student
Related Guides
→ Batch Certificate Generation with n8n → Dynamic certificate generation with HTML and a render API
Template Variables

One template, every student

Write {{name}}, {{course}}, {{date}} in your HTML. Pass a vars object in the request body. RenderPix substitutes them before rendering — no string manipulation needed in your code.

curl — /v1/render with vars
# Single certificate with template variables
curl -X POST https://renderpix.dev/v1/render   -H "X-API-Key: rpx_your_key"   -H "Content-Type: application/json"   -d '{
    "html": "<div style=\"width:1200px;height:850px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;border:20px solid #0f172a;font-family:Georgia,serif;padding:60px\">\n  <div style=\"font-size:16px;letter-spacing:4px;color:#64748b\">CERTIFICATE OF COMPLETION</div>\n  <div style=\"font-size:52px;font-weight:700;color:#0f172a;margin:24px 0\">{{name}}</div>\n  <div style=\"font-size:18px;color:#475569\">has completed <strong>{{course}}</strong></div>\n  <div style=\"font-size:14px;color:#94a3b8;margin-top:28px\">{{date}}</div>\n</div>",
    "vars": { "name": "Jane Smith", "course": "Advanced n8n", "date": "June 2026" },
    "width": 1200,
    "height": 850,
    "format": "png",
    "scale": 2
  }'
# Returns base64 PNG at 2400x1700px — print-ready, ready to attach to email
Automation

Plug into your no-code stack

RenderPix has a native n8n node. Chain it with any trigger — form submission, LMS webhook, Zapier step, or Make scenario.

STEP 1
Form / LMS Trigger
Student completes a course or submits a registration. Typeform, Tally, Teachable webhook, or any HTTP trigger.
STEP 2
RenderPix n8n Node
HTML certificate template with {{name}} {{course}} {{date}} vars mapped from the trigger output.
STEP 3
Email or Drive
Attach the PNG certificate to a transactional email via SendGrid or Postmark, or upload to Google Drive for record-keeping.

Works the same way in Zapier and Make — use the HTTP Request module with your API key and vars object.

Examples

Certificate examples

Certificates generated with RenderPix — custom fonts, layouts, and colors, all from HTML/CSS templates.

FAQ

Frequently asked questions

Does RenderPix generate PDF certificates?
RenderPix returns PNG, JPEG, or WebP images. To deliver a PDF, render your certificate as a high-res PNG (scale=2 for print quality) then embed it into a PDF using any library — jsPDF, PDFKit, Python-pdfkit, or similar. The image quality is indistinguishable from a native PDF rendering.
How many certificates can I generate at once?
On the Pro plan you can batch up to 50 certificates in a single API call. For larger runs, fire multiple requests concurrently or use the async callback endpoint so your application is not blocked waiting for each batch to complete.
Can I use custom fonts and logos?
Yes. RenderPix uses headless Chromium, so any font reachable via a CSS @font-face URL (Google Fonts, CDN, or base64-inlined) and any image URL accessible on the internet will render exactly as designed.
Is there a free plan?
Yes. The free plan includes 100 renders per month with no credit card required — enough to build and test your full integration before going to production.
Does it work with n8n, Zapier, or Make?
Yes. RenderPix has a native n8n node, and works with Zapier and Make via HTTP request modules. Use {{name}}, {{course}}, {{date}} template variables in your HTML and pass a vars object populated from your workflow trigger.
Can I attach the certificate to an email?
Yes. The API returns a base64-encoded image you can attach directly to transactional emails via SendGrid, Postmark, or similar services, or upload to S3/Google Drive first and include the URL. Most LMS platforms accept base64 attachments or hosted image URLs.
More Use Cases

More ways to use RenderPix

OG / Social Cards

OG / Social Cards

Dynamic Open Graph images for every blog post or landing page.

Invoices & Receipts

Invoices & Receipts

Generate pixel-perfect invoice images from your billing data.

Social Media Automation

Social Media Automation

Automate social media image generation at scale with any HTML.

Full-Page Screenshots

Full-Page Screenshots

Screenshot any URL — live sites, staging, or archived pages.