Texify

Certificates

Award certificate PDF API

Formal award certificate with a balanced serif layout and signature block. Good for hackathons, partner programs, and employee recognition. Send this LaTeX template and JSON data to Texify in one /render request.

Award certificate PDF preview

JSON schema

Fields this template expects.

FieldTypeRequiredDescription
recipient_namestringYesName printed on the certificate.
titlestringYesAward, course, or credential title.
issued_onstringYesIssue date.
issuerobjectYesIssuer organization and signer details.
certificate_idstringNoVerification id or public credential code.

API examples

POST LaTeX and JSON. Receive PDF bytes.

curl
cat > award-certificate-payload.json <<'JSON'
{
  "entrypoint": "main.tex",
  "resources": {
    "main.tex": "\\documentclass[12pt]{article}\n\\usepackage[margin=0.7in,landscape]{geometry}\n\\usepackage{xcolor}\n\\pagestyle{empty}\n\\begin{document}\n\\pagecolor{white}\n\\begin{center}\n\\vspace*{0.35in}\n{\\color{black}\\rule{0.92\\linewidth}{1pt}}\\\\[0.45in]\n{\\Huge\\bfseries Certificate of Achievement}\\\\[0.35in]\n{\\large This certifies that}\\\\[0.18in]\n{\\Huge\\bfseries [[ .recipient_name ]]}\\\\[0.22in]\n{\\large has successfully completed}\\\\[0.15in]\n{\\LARGE\\bfseries [[ .title ]]}\\\\[0.35in]\nIssued on [[ .issued_on ]] by [[ .issuer.organization ]]\\\\[0.5in]\n\\begin{tabular}{cc}\n\\rule{2.3in}{0.4pt} & \\rule{2.3in}{0.4pt}\\\\\n[[ .issuer.signer ]] & [[ .issuer.role ]]\\\\\n\\end{tabular}\\\\[0.3in]\n[[ with .certificate_id ]]Verification ID: \\texttt{[[ . ]]}[[ end ]]\\\\[0.35in]\n{\\color{black}\\rule{0.92\\linewidth}{1pt}}\n\\end{center}\n\\end{document}"
  },
  "data": {
    "recipient_name": "Alex Morgan",
    "title": "Infrastructure Excellence Award",
    "issued_on": "2026-07-07",
    "issuer": {
      "organization": "Northstar Labs",
      "signer": "Sam Rivera",
      "role": "CTO"
    },
    "certificate_id": "AWD-2026-77"
  }
}
JSON

curl -sS -X POST https://api.texify.dev/render \
  -H "Content-Type: application/json" \
  --data @award-certificate-payload.json \
  --output award-certificate.pdf
Python
import json
import requests

payload = json.loads(r'''{
  "entrypoint": "main.tex",
  "resources": {
    "main.tex": "\\documentclass[12pt]{article}\n\\usepackage[margin=0.7in,landscape]{geometry}\n\\usepackage{xcolor}\n\\pagestyle{empty}\n\\begin{document}\n\\pagecolor{white}\n\\begin{center}\n\\vspace*{0.35in}\n{\\color{black}\\rule{0.92\\linewidth}{1pt}}\\\\[0.45in]\n{\\Huge\\bfseries Certificate of Achievement}\\\\[0.35in]\n{\\large This certifies that}\\\\[0.18in]\n{\\Huge\\bfseries [[ .recipient_name ]]}\\\\[0.22in]\n{\\large has successfully completed}\\\\[0.15in]\n{\\LARGE\\bfseries [[ .title ]]}\\\\[0.35in]\nIssued on [[ .issued_on ]] by [[ .issuer.organization ]]\\\\[0.5in]\n\\begin{tabular}{cc}\n\\rule{2.3in}{0.4pt} & \\rule{2.3in}{0.4pt}\\\\\n[[ .issuer.signer ]] & [[ .issuer.role ]]\\\\\n\\end{tabular}\\\\[0.3in]\n[[ with .certificate_id ]]Verification ID: \\texttt{[[ . ]]}[[ end ]]\\\\[0.35in]\n{\\color{black}\\rule{0.92\\linewidth}{1pt}}\n\\end{center}\n\\end{document}"
  },
  "data": {
    "recipient_name": "Alex Morgan",
    "title": "Infrastructure Excellence Award",
    "issued_on": "2026-07-07",
    "issuer": {
      "organization": "Northstar Labs",
      "signer": "Sam Rivera",
      "role": "CTO"
    },
    "certificate_id": "AWD-2026-77"
  }
}''')
response = requests.post(
    "https://api.texify.dev/render",
    json=payload,
    timeout=90,
)
response.raise_for_status()

with open("award-certificate.pdf", "wb") as pdf:
    pdf.write(response.content)
Node fetch
import { writeFile } from "node:fs/promises";

const payload = {
  "entrypoint": "main.tex",
  "resources": {
    "main.tex": "\\documentclass[12pt]{article}\n\\usepackage[margin=0.7in,landscape]{geometry}\n\\usepackage{xcolor}\n\\pagestyle{empty}\n\\begin{document}\n\\pagecolor{white}\n\\begin{center}\n\\vspace*{0.35in}\n{\\color{black}\\rule{0.92\\linewidth}{1pt}}\\\\[0.45in]\n{\\Huge\\bfseries Certificate of Achievement}\\\\[0.35in]\n{\\large This certifies that}\\\\[0.18in]\n{\\Huge\\bfseries [[ .recipient_name ]]}\\\\[0.22in]\n{\\large has successfully completed}\\\\[0.15in]\n{\\LARGE\\bfseries [[ .title ]]}\\\\[0.35in]\nIssued on [[ .issued_on ]] by [[ .issuer.organization ]]\\\\[0.5in]\n\\begin{tabular}{cc}\n\\rule{2.3in}{0.4pt} & \\rule{2.3in}{0.4pt}\\\\\n[[ .issuer.signer ]] & [[ .issuer.role ]]\\\\\n\\end{tabular}\\\\[0.3in]\n[[ with .certificate_id ]]Verification ID: \\texttt{[[ . ]]}[[ end ]]\\\\[0.35in]\n{\\color{black}\\rule{0.92\\linewidth}{1pt}}\n\\end{center}\n\\end{document}"
  },
  "data": {
    "recipient_name": "Alex Morgan",
    "title": "Infrastructure Excellence Award",
    "issued_on": "2026-07-07",
    "issuer": {
      "organization": "Northstar Labs",
      "signer": "Sam Rivera",
      "role": "CTO"
    },
    "certificate_id": "AWD-2026-77"
  }
};

const response = await fetch("https://api.texify.dev/render", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify(payload),
  signal: AbortSignal.timeout(90_000),
});

if (!response.ok) throw new Error(await response.text());

const pdf = Buffer.from(await response.arrayBuffer());
await writeFile("award-certificate.pdf", pdf);

The template

LaTeX source sent as resources["main.tex"].

main.tex
\documentclass[12pt]{article}
\usepackage[margin=0.7in,landscape]{geometry}
\usepackage{xcolor}
\pagestyle{empty}
\begin{document}
\pagecolor{white}
\begin{center}
\vspace*{0.35in}
{\color{black}\rule{0.92\linewidth}{1pt}}\\[0.45in]
{\Huge\bfseries Certificate of Achievement}\\[0.35in]
{\large This certifies that}\\[0.18in]
{\Huge\bfseries [[ .recipient_name ]]}\\[0.22in]
{\large has successfully completed}\\[0.15in]
{\LARGE\bfseries [[ .title ]]}\\[0.35in]
Issued on [[ .issued_on ]] by [[ .issuer.organization ]]\\[0.5in]
\begin{tabular}{cc}
\rule{2.3in}{0.4pt} & \rule{2.3in}{0.4pt}\\
[[ .issuer.signer ]] & [[ .issuer.role ]]\\
\end{tabular}\\[0.3in]
[[ with .certificate_id ]]Verification ID: \texttt{[[ . ]]}[[ end ]]\\[0.35in]
{\color{black}\rule{0.92\linewidth}{1pt}}
\end{center}
\end{document}

Live render

Try sample data now.

Posts this LaTeX template and sample JSON to /render, then opens the returned PDF bytes.

Sample data
{
  "recipient_name": "Alex Morgan",
  "title": "Infrastructure Excellence Award",
  "issued_on": "2026-07-07",
  "issuer": {
    "organization": "Northstar Labs",
    "signer": "Sam Rivera",
    "role": "CTO"
  },
  "certificate_id": "AWD-2026-77"
}

FAQ

FAQ

Can I use Award certificate as a award certificate PDF API?

Yes. Copy the LaTeX template, send it in resources with your data to /render, and Texify returns PDF bytes.

Can I change colors, copy, or field names?

Yes. Edit the LaTeX source and JSON placeholders to match your data model and brand before posting to /render.

Does this render real PDF text?

Yes. Texify compiles LaTeX to PDF, so text remains selectable, searchable, and stable across environments.