Starters · 1200 × 630 · 6 layers · 5 variables · social, blog
Blog post, light
A paper-white card with a serif headline, an author line with a round avatar, and the date.

rendering…
the same render with your saved copy
curl -X POST https://api.imageapis.com/v1/images \
-H 'X-API-Key: YOUR_KEY' -H 'Content-Type: application/json' \
-d '{"template": "tpl_…", "variables": {"title": "What we learned running Postgres at 40 TB", "author": "Dana Reyes", "date": "October 2026", "site": "engineering.example.com", "avatar": "https://i.pravatar.cc/120?img=32"}}'Make it yours
Copy the starter into your account once; from then on it is a template id you render with new variables. Creating and reading templates is free.
curl -s https://api.imageapis.com/v1/starters/blog-post -H 'X-API-Key: YOUR_KEY' | jq .template > blog-post.json
curl -X POST https://api.imageapis.com/v1/templates -H 'X-API-Key: YOUR_KEY' \
-H 'Content-Type: application/json' -d @blog-post.json
# → { "id": "tpl_…", "object": "template", … }
Change any layer by name at render time with modifications, or change the design itself in the editor and save it back with PUT /v1/templates/<id>.
Layers
| Name | Type | x, y | Size | Content |
|---|---|---|---|---|
stripe | rect | 0, 0 | 16 × 630 | |
site | text | 80, 72 | 900 × 36 | {{site}} |
title | text | 80, 150 | 1040 × 300 | {{title}} |
avatar | image | 80, 500 | 64 × 64 | {{avatar}} |
author | text | 160, 500 | 700 × 32 | {{author}} |
date | text | 160, 534 | 700 × 30 | {{date}} |
The template
Show the JSON (6 layers)
{
"name": "Blog post, light",
"width": 1200,
"height": 630,
"background": "#ffffff",
"layers": [
{
"name": "stripe",
"type": "rect",
"x": 0,
"y": 0,
"width": 16,
"height": 630,
"fill": "#f59e0b"
},
{
"name": "site",
"type": "text",
"x": 80,
"y": 72,
"width": 900,
"height": 36,
"text": "{{site}}",
"font": "Inter",
"weight": 600,
"size": 24,
"color": "#64748b"
},
{
"name": "title",
"type": "text",
"x": 80,
"y": 150,
"width": 1040,
"height": 300,
"text": "{{title}}",
"font": "Playfair Display",
"weight": 700,
"size": 76,
"color": "#0b1220",
"line_height": 1.1,
"fit": "shrink",
"max_lines": 3
},
{
"name": "avatar",
"type": "image",
"x": 80,
"y": 500,
"width": 64,
"height": 64,
"src": "{{avatar}}",
"fit": "cover",
"radius": 32
},
{
"name": "author",
"type": "text",
"x": 160,
"y": 500,
"width": 700,
"height": 32,
"text": "{{author}}",
"font": "Inter",
"weight": 600,
"size": 26,
"color": "#0b1220",
"valign": "middle"
},
{
"name": "date",
"type": "text",
"x": 160,
"y": 534,
"width": 700,
"height": 30,
"text": "{{date}}",
"font": "Inter",
"weight": 400,
"size": 22,
"color": "#64748b",
"valign": "middle"
}
]
}