OG Image Generator — Social Cards 1200×630
Pricing
from $0.002 / image generated
OG Image Generator — Social Cards 1200×630
Generate 1200×630 Open Graph / Twitter social share PNG images from a title, subtitle and theme, in bulk. Fast and lightweight — perfect for blogs, social previews and n8n/Make/Zapier automations.
Pricing
from $0.002 / image generated
Rating
0.0
(0)
Developer
hiper soft
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 days ago
Last modified
Categories
Share
Turn a title and a theme into a polished 1200×630 social share image — in bulk, in seconds.
Generate Open Graph and Twitter/X card PNGs for every blog post, landing page or product without opening a design tool. No browser, low memory, no templates to wrangle — just pass text and get share-ready images back.
What it does
- Renders clean 1200×630 PNG cards (the standard Open Graph / Twitter card size).
- Large auto-wrapping title, optional subtitle, and a colored accent bar.
- Seven built-in themes with tasteful background gradients: dark, light, ocean, sunset, forest, grape, mono.
- Optional logo in the top-left corner.
- Processes an array of items in one run — one image per row, saved to the key-value store.
Use cases
- Blogs & CMS — auto-generate a matching OG image for every article so links look great when shared.
- Social preview cards — consistent, on-brand link previews across X/Twitter, LinkedIn, Slack and Discord.
- Landing pages & product launches — spin up dozens of variants for A/B testing headlines.
- Automation (n8n / Make / Zapier) — wire it into a workflow to auto-generate an OG image per post: publish an article, trigger this Actor with the title, and drop the returned image URL straight into your
og:imagemeta tag.
Input
{"items": [{ "title": "Ship faster with automation", "subtitle": "The complete guide to no-code workflows", "theme": "ocean" },{ "title": "10 tips for better OG images", "subtitle": "Boost your click-through rate", "theme": "sunset", "accent": "#f97316" }]}
A single object is also accepted, e.g. { "items": { "title": "Hello World" } }.
| Field | Type | Description |
|---|---|---|
items | array | Cards to render. Each item needs a title; the rest are optional. |
items[].title | string | Main heading (wraps automatically, auto-sized). Required. |
items[].subtitle | string | Optional secondary line under the title. |
items[].theme | string | One of dark, light, ocean, sunset, forest, grape, mono. |
items[].accent | string | Optional hex color for the accent bar (e.g. #22d3ee). |
items[].logoUrl | string | Optional https URL of a small logo shown top-left. |
theme | string | Default theme for items that don't set their own. |
accent | string | Default accent color for items that don't set their own. |
Output
Each generated image is saved as a PNG in the run's key-value store, and one row per item is pushed to the dataset:
{"title": "Ship faster with automation","theme": "ocean","bytes": 154660,"width": 1200,"height": 630,"resultUrl": "https://api.apify.com/v2/key-value-stores/<storeId>/records/og-0001.png","ok": true}
Output schema
| Field | Type | Description |
|---|---|---|
title | string | The title rendered on the card. |
theme | string | The theme used for this card. |
bytes | integer | Size of the generated PNG in bytes. |
width | integer | Image width (always 1200). |
height | integer | Image height (always 630). |
resultUrl | string | Direct URL to the PNG in the key-value store. |
ok | boolean | Whether the image was generated successfully. |
FAQ
What size are the images? Exactly 1200×630 pixels — the recommended size for Open Graph (og:image) and Twitter/X summary large image cards.
Do I need to supply a font or a browser? No. Everything is rendered server-side without a headless browser, so runs are fast and light on memory.
Can I automate it? Yes — connect it to your stack via integrations on the Apify platform and the Apify API. A typical n8n / Make / Zapier flow triggers this Actor on publish and writes the returned resultUrl into your page's og:image.
What happens if one item fails? The run keeps going. That item gets a row with ok: false and an error message, so a single bad input never breaks the batch.
Notes
Original clean-room implementation.
