HTML to image
Paste HTML and CSS and get a PNG of exactly what a browser would show, web fonts included. The same as POST /v1/images with html.
curl -X POST https://api.imageapis.com/v1/images -H 'X-API-Key: YOUR_KEY' -H 'Content-Type: application/json' -d '{"html":"<h1>Hello</h1>","width":800,"height":400}'What this is
A headless Chromium loads your markup at the width and height you set, waits for fonts and images, and takes a screenshot. Flexbox, grid, gradients, shadows, emoji and any Google Fonts family you name in fonts all work, because it is a real browser and not an HTML-to-canvas approximation.
Placeholders
The API version takes variables: put {{name}} in the HTML and it is filled in, escaped, at render time. Save the markup as a template with engine: "html" and render it a thousand times with different values. The Python guide does exactly that.
When to use layers instead
If the design is a few positioned pieces of text and an image, the layer templates are easier to change from code: every layer has a name, so modifications can swap a photo or recolor a bar without touching markup, and text layers shrink to fit on their own.