Product Hunt Launch
Launch-day card with an upvote motif, big product name, tagline, upvote tile and date — swap product, tagline, vote count and accent.
- Type
- Image
- Format
- Open Graph · 1200×630
- Orientation
- Landscape
Free template · opens in the editor, no account required.
Customize Product Hunt Launch
Product Hunt Launch is a ready-to-render SaaS / dev tools image design formatted for Open Graph · 1200×630 and support for variables. Open it in the editor to replace its copy and media, then render variations through the Zvid API.
12 variables: Every value below is a variable you can override — send them in the variables field of the render request (or edit them in the editor) to generate on-brand versions at scale.
eyebrowTextproductNameTexttaglineTextvoteCountTextvoteLabelTextctaLabelTextdateTextbrandTextaccentColorinkColorColorheadingColorColorsubColorColorThe exact JSON payload
This is the full render config — POST it to the API, or open it in the editor to tweak.
{
"type": "image",
"name": "img-saas-product-hunt",
"resolution": "custom",
"width": 1200,
"height": 630,
"outputFormat": "png",
"backgroundColor": "#0B0A09",
"variables": {
"eyebrow": "WE'RE LIVE ON PRODUCT HUNT",
"productName": "zvid studio",
"tagline": "Turn a JSON file into a finished, on-brand video — no timeline required.",
"voteCount": "512",
"voteLabel": "upvotes",
"ctaLabel": "Upvote us",
"date": "Launching today",
"brand": "zvid",
"accent": "#FF6B4A",
"inkColor": "#0B0A09",
"headingColor": "#FFF6F2",
"subColor": "#C9B7AE"
},
"visuals": [
{
"type": "SVG",
"width": 1200,
"height": 630,
"position": "center-center",
"track": 0,
"svg": "<svg width='1200' height='630' viewBox='0 0 1200 630' xmlns='http://www.w3.org/2000/svg'><defs><linearGradient id='bg' x1='0' y1='0' x2='1' y2='1'><stop offset='0' stop-color='#1E100A'/><stop offset='0.55' stop-color='#0B0A09'/><stop offset='1' stop-color='#090807'/></linearGradient><radialGradient id='glow' cx='0.82' cy='0.2' r='0.7'><stop offset='0' stop-color='#FF6B4A' stop-opacity='0.28'/><stop offset='1' stop-color='#FF6B4A' stop-opacity='0'/></radialGradient></defs><rect width='1200' height='630' fill='url(#bg)'/><rect width='1200' height='630' fill='url(#glow)'/><rect x='24' y='24' width='1152' height='582' rx='28' fill='none' stroke='#FFFFFF' stroke-opacity='0.07' stroke-width='1.5'/></svg>"
},
{
"type": "SVG",
"x": 72,
"y": 104,
"width": 40,
"height": 40,
"anchor": "top-left",
"track": 4,
"svg": "<svg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'><circle cx='20' cy='20' r='19' fill='none' stroke='{{accent}}' stroke-width='2'/><path d='M13 23 L20 14 L27 23 Z' fill='{{accent}}'/><line x1='20' y1='23' x2='20' y2='28' stroke='{{accent}}' stroke-width='2.5' stroke-linecap='round'/></svg>"
},
{
"type": "TEXT",
"x": 128,
"y": 112,
"width": 640,
"anchor": "top-left",
"track": 4,
"text": "{{eyebrow}}",
"style": {
"fontFamily": "Space Grotesk",
"fontSize": "22px",
"fontWeight": "600",
"letterSpacing": "0.24em",
"color": "#FF6B4A"
}
},
{
"type": "TEXT",
"x": 70,
"y": 166,
"width": 720,
"anchor": "top-left",
"track": 5,
"style": {
"fontFamily": "Syne"
},
"html": "<div style='font-size:82px; font-weight:800; line-height:0.98; letter-spacing:-0.02em; color:{{headingColor}};'>{{productName}}</div>"
},
{
"type": "TEXT",
"x": 74,
"y": 366,
"width": 560,
"anchor": "top-left",
"track": 5,
"text": "{{tagline}}",
"style": {
"fontFamily": "Space Grotesk",
"fontSize": "25px",
"fontWeight": "500",
"lineHeight": "1.4",
"color": "#C9B7AE"
}
},
{
"type": "SVG",
"x": 72,
"y": 474,
"width": 216,
"height": 64,
"anchor": "top-left",
"track": 6,
"svg": "<svg width='216' height='64' viewBox='0 0 216 64' xmlns='http://www.w3.org/2000/svg'><rect x='0' y='0' width='216' height='64' rx='32' fill='{{accent}}'/><path d='M40 38 L50 26 L60 38 Z' fill='{{inkColor}}'/><line x1='50' y1='38' x2='50' y2='44' stroke='{{inkColor}}' stroke-width='3' stroke-linecap='round'/><text x='78' y='40' font-family='Syne, Arial' font-size='23' font-weight='700' fill='{{inkColor}}'>{{ctaLabel}}</text></svg>"
},
{
"type": "SVG",
"x": 312,
"y": 482,
"width": 220,
"height": 48,
"anchor": "top-left",
"track": 6,
"svg": "<svg width='220' height='48' viewBox='0 0 220 48' xmlns='http://www.w3.org/2000/svg'><rect x='0' y='0' width='220' height='48' rx='24' fill='#FFFFFF' fill-opacity='0.05' stroke='#FFFFFF' stroke-opacity='0.12' stroke-width='1'/><circle cx='26' cy='24' r='5' fill='{{accent}}'/><text x='42' y='30' font-family='Space Grotesk, Arial' font-size='18' font-weight='500' fill='#D8CCC5'>{{date}}</text></svg>"
},
{
"type": "SVG",
"x": 838,
"y": 150,
"width": 290,
"height": 290,
"anchor": "top-left",
"track": 5,
"svg": "<svg width='290' height='290' viewBox='0 0 290 290' xmlns='http://www.w3.org/2000/svg'><rect x='0' y='0' width='290' height='290' rx='36' fill='#18110D' stroke='{{accent}}' stroke-opacity='0.5' stroke-width='1.5'/><path d='M108 128 L145 78 L182 128 Z' fill='{{accent}}'/><rect x='131' y='122' width='28' height='26' fill='{{accent}}'/><text x='145' y='214' font-family='Syne, Arial' font-size='66' font-weight='800' fill='{{headingColor}}' text-anchor='middle'>{{voteCount}}</text><text x='145' y='250' font-family='Space Grotesk, Arial' font-size='20' font-weight='500' fill='{{subColor}}' text-anchor='middle' letter-spacing='2'>{{voteLabel}}</text></svg>"
},
{
"type": "SVG",
"x": 72,
"y": 556,
"width": 150,
"height": 44,
"anchor": "top-left",
"track": 6,
"svg": "<svg width='150' height='44' viewBox='0 0 150 44' xmlns='http://www.w3.org/2000/svg'><circle cx='12' cy='22' r='7' fill='{{accent}}'/><text x='30' y='29' font-family='Syne, Arial' font-size='20' font-weight='700' fill='#FFF6F2'>{{brand}}</text></svg>"
}
]
}More SaaS / dev tools templates
View all ↗Ready to ship video at scale?
Start free — your first render is only a JSON payload away.









