Early access · PDF endpoint first

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.

You send
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"
  }'
HTML invoice-template.html your markup, your CSS, your fonts
You get
{
  "id": "rnd_8fk21c",
  "url": "https://files.emitforge.com/…",
  "bytes": 48213,
  "expires_at": "2026-08-27T18:00:00Z"
}
PDF invoice-2026-014.pdf A4 · 47 KB · link valid for 24h
Real Chromium The CSS you test in your browser is the CSS we render. Flexbox, grid, web fonts, page breaks.
10-second hard timeout Every render is capped. A runaway template fails fast instead of burning your quota.
Files deleted after 24h We return a signed link, not a permanent archive. Your payload is never stored beyond the request.
No credit card to start 100 renders a month, free. You find out whether it works before you pay anything.

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

In
{
  "template": "<html>…</html>",
  "data": { "customer": "Acme" },
  "format": "A4",
  "margin": "18mm"
}
Out
PDF A signed URL to the fileplus id, byte size and expiry

Handlebars-style placeholders. Page breaks, headers and footers supported.

POST /v1/image   Building

In
{
  "template": "<div class='card'>…",
  "data": { "title": "Release 2.4" },
  "width": 1200, "height": 630
}
Out
PNG A signed URL to the imagePNG or JPEG, exact pixel dimensions

Same engine, same template language. For social cards, certificates and receipts.

POST /v1/convert   Planned

In
{
  "file_url": "https://…/contract.docx",
  "to": "pdf"
}
Out
PDF The same document, as PDFDOCX, XLSX and PPTX in

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.

Free
$0
  • 100 renders per month
  • No credit card
  • PDF endpoint
  • 10-second timeout
  • Community support by email
Starter
$29 / month
  • 5,000 renders per month
  • All available endpoints
  • 10-second timeout
  • Email support, one business day
  • Overage: $6 per 1,000 renders
Flat
$89 / month
  • 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
Flat, annual
$290 / year
  • 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.

Is this ready for production?

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".

What happens to my documents?

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.

Does it use AI?

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.

What does "fair unlimited" actually mean?

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.

Can I self-host or resell it?

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.

What is your uptime guarantee?

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.

Which countries can buy?

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.