Design in HTML and CSS
Use the layout language you already know, with the fonts, gradients and grid you would use anywhere else. No canvas API, no image library DSL.
HTML to image API
Store a layout in HTML and CSS, then render it with different variables on every request. Branded images from the data you already hold, without running a rendering worker or rebuilding the design in an image library.
Create a free accountRead the API docs
<h1>{{title}}</h1>
<p>{{author}}</p>{ "title": "Why we own our hardware",
"author": "Ironfang" }IRONFANG
Why we own our hardware
ironfang.uk
One template
Generating images from data usually means one of two bad options: rebuild the layout in a canvas or image library, where fonts and wrapping fight you, or run your own headless browser and keep it alive between launches.
Renderwolf stores the HTML and CSS and renders it with the variables you send. Change the stored template and every future image follows, with no deployment and nothing to invalidate.
POST /renderwolf/v1/image/og-card
Authorization: Bearer rw_live_...
{
"vars": {
"title": "Why we own our hardware",
"author": "Ironfang"
},
"format": "png"
}
200 image/pngCapabilities
Everything you would expect from HTML, with the storage and substitution that turn one design into many images.
Use the layout language you already know, with the fonts, gradients and grid you would use anywhere else. No canvas API, no image library DSL.
Save the design once with placeholders, then render it with different variables per request. The design lives in one place rather than in every call site.
Update the stored template and every future image follows. No deployment, and nothing to purge, because the next render is the new design.
Send a qr object and the code is generated, checked for scannability and composited into the layout as a variable. QR generation costs no credits.
Mint a URL that renders the template on demand, so the image exists at a URL without your application generating, storing or serving it.
Choose the format per request from one template, on warm Chromium that Ironfang operates in the UK, with cache hits free and failures refunded.
Use cases
Anywhere the layout is fixed and the content changes, which is most generated imagery.
One template, an image per page, with the title and author as variables.
Personalise per recipient and composite a verified QR code for checking it later.
Generate a branded image per SKU or listing from the data you already hold.
Render a variant per recipient or per campaign without a designer in the loop for each one.
Turn a weekly number into a branded graphic for the digest, generated when the digest is built.
Combine booking data and a scan-verified code into a single image for the wallet or the email.
Social cards are the most common use of this API, and they have their own markup and their own signed-URL flow. There is a page for exactly that job.
Open Graph image APIPricing
Start with 250 free credits each month and no card required. Paid plans begin at £9 per month for 5,000 credits, shared across screenshots, PDFs, images and video. QR codes inside your templates cost nothing, cache hits are free, failed work is refunded, and reaching a cap pauses rendering rather than billing overage.
Questions
The details that decide whether this fits, without reading the whole reference first.
You store HTML and CSS once with placeholders in it. Each render posts the variables for that image and gets the bytes back, rendered at the template width and height you defined.
Yes, and it is the point of storing the template. Update the stored HTML and every future render uses it, with no deployment and no change to the code that requests images.
PNG, JPEG or WebP per request, so the same template can serve a lossless asset in one place and a small one in another.
Yes. Send a qr object with the render and each code is generated, verified for scannability and injected as a variable, so it is composited into the design. QR generation costs no credits.
Only if you want to. A signed render URL renders on demand at the URL itself, so you can put it straight in a page or an email without generating and hosting the file first.
Yes. The screenshot endpoint takes HTML directly instead of a URL, which suits a layout that changes every time. Stored templates suit the same design rendered many times.
One credit per generated image. Cache hits cost nothing, failed work is refunded, and reaching a cap pauses rendering rather than billing overage.
Create an account, store one design and send the variables. The first image is inside your free credits.
250 free credits each month, with no card required, hard usage caps and refunds on failed work.