Starters · 1280 × 720 · 4 layers · 3 variables · video, youtube
Video thumbnail, 1280×720
A loud thumbnail: a huge headline that shrinks to fit on a saturated background, a photo on the right and a small channel chip.

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": "I tried 5 image APIs so you don'\''t have to", "channel": "Example Dev", "photo": "https://images.unsplash.com/photo-1518770660439-4636190af475?w=900"}}'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/video-thumbnail -H 'X-API-Key: YOUR_KEY' | jq .template > video-thumbnail.json
curl -X POST https://api.imageapis.com/v1/templates -H 'X-API-Key: YOUR_KEY' \
-H 'Content-Type: application/json' -d @video-thumbnail.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 |
|---|---|---|---|---|
photo | image | 720, 0 | 560 × 720 | {{photo}} |
fade | rect | 600, 0 | 200 × 720 | |
title | text | 60, 100 | 640 × 480 | {{title}} |
chip | text | 60, 620 | 300 × 48 | {{channel}} |
The template
Show the JSON (4 layers)
{
"name": "Video thumbnail",
"width": 1280,
"height": 720,
"background": "#dc2626",
"layers": [
{
"name": "photo",
"type": "image",
"x": 720,
"y": 0,
"width": 560,
"height": 720,
"src": "{{photo}}",
"fit": "cover"
},
{
"name": "fade",
"type": "rect",
"x": 600,
"y": 0,
"width": 200,
"height": 720,
"fill": "linear-gradient(90deg,#dc2626,rgba(220,38,38,0))"
},
{
"name": "title",
"type": "text",
"x": 60,
"y": 100,
"width": 640,
"height": 480,
"text": "{{title}}",
"font": "Anton",
"weight": 400,
"size": 120,
"color": "#ffffff",
"valign": "middle",
"line_height": 0.98,
"fit": "shrink",
"max_lines": 4,
"transform": "uppercase",
"shadow": "0 6px 0 rgba(0,0,0,.25)"
},
{
"name": "chip",
"type": "text",
"x": 60,
"y": 620,
"width": 300,
"height": 48,
"text": "{{channel}}",
"font": "Inter",
"weight": 700,
"size": 24,
"color": "#dc2626",
"background": "#ffffff",
"radius": 24,
"padding": 10,
"align": "center",
"valign": "middle"
}
]
}