Your HTML template, your data, a finished PDF.
Send the template you already have and the JSON you already have. Get back a production-ready file. No headless Chrome to keep alive, no render queue to babysit, no font that mysteriously disappears in production.
100 renders a month on the free tier. No credit card.
curl -X POST https://api.emitforge.com/v1/pdf \
-H "Authorization: Bearer $KEY" \
-d '{
"template": "<h1>Invoice {{n}}</h1>",
"data": { "n": "2026-014" },
"format": "A4"
}'
{
"id": "rnd_8fk21c",
"url": "https://files.emitforge.com/…",
"bytes": 48213,
"expires_at": "2026-08-27T18:00:00Z"
}
What this replaces
Every team that needs documents ends up building the same thing. It is never the interesting part of the product.
A browser you have to operate
Puppeteer works on your laptop and then meets serverless memory limits, cold starts and a binary that does not fit. Keeping Chromium healthy in production is a job nobody was hired for.
Fonts that vanish
The layout is perfect locally and wrong on the server, because the container has no fonts. We render with the fonts embedded in your template.
A queue for something that takes a second
Document generation gets a worker, a queue and a retry policy because it blocks a request. One POST that returns a URL removes the whole apparatus.
Templates locked inside code
The template is HTML you own and can edit without a deploy. The data is JSON. Nothing proprietary in between.
The API
One shape for everything: structured input, finished artifact. Two of the three endpoints are still being built — they are marked so, and you should not plan around them yet.
POST /v1/pdf Available
{
"template": "<html>…</html>",
"data": { "customer": "Acme" },
"format": "A4",
"margin": "18mm"
}
Handlebars-style placeholders. Page breaks, headers and footers supported.
POST /v1/image Building
{
"template": "<div class='card'>…",
"data": { "title": "Release 2.4" },
"width": 1200, "height": 630
}
Same engine, same template language. For social cards, certificates and receipts.
POST /v1/convert Planned
{
"file_url": "https://…/contract.docx",
"to": "pdf"
}
Not built yet. Listed here so you know where this is going, not so you can plan around it.
If you do not write code
The API is a plain HTTP POST, which means it already works inside the automation tools you use. No custom node to install.
n8n
Drop an HTTP Request node, point it at the endpoint, map your fields. Ready-made workflow templates are being published — one for invoices, one for reports, one for certificates.
Zapier
Works today through Webhooks by Zapier. A native integration is in review with Zapier, which takes a few weeks on their side.
Make
Use the HTTP module with a JSON body. The response gives you a URL you can pass straight into an email or storage module.
Pricing
Priced per render, with the limits written down. A render is one document. Files larger than 5 MB count as two.
- 100 renders per month
- No credit card
- PDF endpoint
- 10-second timeout
- Community support by email
- 5,000 renders per month
- All available endpoints
- 10-second timeout
- Email support, one business day
- Overage: $6 per 1,000 renders
- Fair unlimited — no hard cap
- 1 render = 1 document; over 5 MB counts as 2
- Sustained use above 50,000 renders a month starts a conversation, not a shutdown
- All available endpoints
- Email support, same business day
- Everything in Flat
- Two months not charged
- Billed once a year
- Cancel any time, effective at renewal
Prices in US dollars, excluding any tax that applies where you are. Tax is calculated and charged by Paddle at checkout.
Who charges you
Orders are handled by Paddle, our reseller and Merchant of Record. Paddle appears on your statement, issues your invoice, and handles VAT, GST and sales tax. Billing questions go to help@paddle.com; product questions come to us.
The guarantee
If the API does not do what this page says, ask for a refund within 30 days of your first payment and you get it, no explanation required. That is more generous than the standard 14-day window. Details on the refund page.
Cancelling
Cancel whenever you want, from the link in any Paddle receipt or by writing to us. Access continues to the end of the period you already paid for. Nothing renews after that.
Who is behind this
emitforge is built and operated by Fluxium, a small software shop in Brazil. It is new — there is no customer list to show you and no volume number to quote, and inventing either would be the fastest way to lose a developer's trust.
What there is instead: an endpoint you can call, limits written down before you ask, a refund window longer than the industry default, and a person who answers contato@fluxium.pro. If something breaks, you are not filing a ticket into a queue — you are emailing the person who wrote the renderer.
Questions
Including the ones that are inconvenient to answer.
The PDF endpoint is live and is what you should judge us on. The image endpoint is being built and the conversion endpoint is planned. We label them that way on purpose — do not plan a launch around an endpoint marked "Building".
The template and data you send are processed and not kept after the response. The generated file sits behind a signed URL and is deleted after 24 hours. Request logs keep metadata for 30 days and never the payload body.
No. It is deterministic rendering — the same input produces the same file every time. No model is involved anywhere in the pipeline, which is exactly what you want in a document that a customer will receive.
There is no hard cap and no throttle waiting to surprise you. One render is one document; a file over 5 MB counts as two. If your sustained use passes 50,000 renders a month we will write to you and work something out. We will not silently cut you off, and we will not pretend the word "unlimited" has no limit.
Use it inside your own product freely — that is what it is for. Re-exposing the API as a competing rendering service needs a written agreement first. Ask and we will talk.
There isn't one, and anyone new who offers you one is guessing. We use commercially reasonable efforts and no service credits are offered on self-serve plans. When there is enough operating history to publish a real status page, we will publish it.
Anywhere Paddle sells, which is most of the world. Paddle calculates the tax that applies where you are and shows it before you confirm.
Send one request and see
The free tier exists so you can find out whether this fits before any money changes hands. Ask for a key and you get one.