Every template here is reachable through the API, so you can generate the same document from your own data.
curl -X POST https://pdfgeny.com/api/v1/render \
-H "Authorization: Bearer $KEY" \
-H "Content-Type: application/json" \
-d '{"template":"memo","data":{"company": "Northwind Studio Ltd", "company_details": "12 Bridge Street\nManchester M1 2AB", "recipient": "Ms Dana Whitfield", "recipient_details": "Acme Corporation\n500 Market Street\nSan Francisco, CA 94105", "date": "31 August 2026", "subject": "Office closure — Friday 5 September"}}' \
--output memo.pdf
import requests
pdf = requests.post(
"https://pdfgeny.com/api/v1/render",
headers={"Authorization": f"Bearer {KEY}"},
json={"template": "memo", "data": {'company': 'Northwind Studio Ltd',
'company_details': '12 Bridge Street\nManchester M1 2AB',
'recipient': 'Ms Dana Whitfield',
'recipient_details': 'Acme Corporation\n'
'500 Market Street\n'
'San Francisco, CA 94105',
'date': '31 August 2026',
'subject': 'Office closure — Friday 5 September'}},
).content
open("memo.pdf", "wb").write(pdf)
const res = await fetch("https://pdfgeny.com/api/v1/render", {
method: "POST",
headers: { Authorization: `Bearer ${KEY}`, "Content-Type": "application/json" },
body: JSON.stringify({ template: "memo", data: {"company": "Northwind Studio Ltd", "company_details": "12 Bridge Street\nManchester M1 2AB", "recipient": "Ms Dana Whitfield", "recipient_details": "Acme Corporation\n500 Market Street\nSan Francisco, CA 94105", "date": "31 August 2026", "subject": "Office closure — Friday 5 September"} }),
});
await writeFile("memo.pdf", Buffer.from(await res.arrayBuffer()));