Most social media images are not one-off designs. They are the same handful of formats filled with new words every week: a quote from the latest article, a feature announcement, a number worth sharing, a customer testimonial, a carousel that teaches something. With Shareglint each format becomes a template, and your content calendar becomes the data: one request per post, or one batch for the whole month, in every size the networks want.
This page covers the workflow. The networks' own size rules, each with a source, are on social media image sizes; how one design lays itself out for every shape is on one template, every size.
The formats that repeat
Look at a month of any brand's feed and the same few layouts come back. Built-in templates cover them, and each one renders in every size preset (og 1200×630, square 1080×1080, portrait 1080×1350, story 1080×1920, pinterest 1000×1500, youtube 1280×720):
| Post type | Template | Fields you send |
|---|---|---|
| Quote from an article or talk | quote-og |
quote, author, role, photo |
| Feature or product announcement | feature-announcement |
title, description, product, screenshot, logo |
| A number worth sharing | stat-highlight |
value, label, source |
| Customer testimonial | testimonial-stars |
quote, rating, name, role, company, avatar |
| Carousel | carousel-cover, carousel-slide, carousel-end |
title and hook; heading and body per slide; call to action |
| Giveaway | giveaway |
prize, steps, end date, prize image |
There are 153 built-in templates in total, browsable in the template gallery, and any of them can be copied and changed, or replaced by your own HTML and CSS.
From the content calendar to images
Most teams already plan posts in a spreadsheet, Notion or Airtable: date, network, post type, text. Add the template's fields as columns and the images come from the same table.
A week of posts in one batch. Export the rows for one post type and send them:
curl -X POST "https://shareglint.com/v1/batches" \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{
"template": "quote-og",
"sizes": ["square", "portrait", "og"],
"rows": [
{ "id": "mon", "quote": "Ship small, ship often.", "author": "Ana Ruiz", "role": "CTO, Northwind" },
{ "id": "wed", "quote": "Every report should end with a decision.", "author": "Tom Hale", "role": "Head of Data" }
]
}'
Each row × size is one image; GET /v1/batches/{id} returns every URL with your id, and one ZIP. A csv_url (a published Google Sheet works) replaces rows for longer lists. Rows per batch by plan: Free 50, Starter 500, Pro 1,000, Scale 2,000, Business 5,000. Edit one quote and run the batch again: only that row renders anew, the rest come back free.
One post the moment it is ready. When a new article is published, a webhook from your CMS can call POST /v1/images with the article's pull quote and hand the URLs to the scheduler. With "sizes" the square feed post, the 4:5 portrait version and the story come back from one call.
No code. In n8n or Make, an HTTP step calls the API for each new row in the calendar and writes the image URL back into the row; the n8n and Make pages have the recipes. Connected to the MCP server, an AI assistant can do the same from a chat: "make square quote cards for these five quotes".
Carousels
A carousel is three formats in one post: a cover, numbered slides and a closing slide with a call to action. Render the cover and the end slide with one request each, and the slides as a batch whose rows carry heading, body, index and total. Keep every part in the same size — Instagram applies the orientation you choose to every item of a carousel (Instagram Help) — so render all of them as square or all as portrait. On LinkedIn, swipeable posts are usually PDF documents: render each slide with "format": "pdf" and merge the pages with any PDF tool, or post the PNGs as a multi-image post.
Staying on brand
Consistency is the main reason to template social images rather than design each one:
- Colour and theme. Every built-in template takes
accent(your brand colour as a hex value) andtheme(lightordark). Set them once in your integration and every image follows. - Logo and photos are image fields, placed and sized by the template, so a logo never ends up stretched or in a different corner.
- Long text shrinks to fit its box instead of running off the image, so a longer quote does not need a designer.
- Fonts are the families installed on our renderer (
GET /v1/fonts); you cannot upload your own font file, so check the list if your brand depends on a particular face.
Which size for which network
A practical default set, all from one template:
- Instagram and Facebook feed:
portrait(4:5) takes more of the screen in the feed thansquare; Instagram keeps photos between 1.91:1 and 3:4 uncropped (Instagram Help). - LinkedIn and X posts:
squareorog. - Stories and TikTok photo posts:
story(9:16). - Pinterest:
pinterest(2:3, 1000×1500). - Link previews of the post you are promoting:
ogas the page'sog:image.
Raster files come out at twice the preset's size by default (story is 2160×3840). Where a platform caps the resolution — TikTok's posting API takes photos up to 1080p (TikTok for Developers) — add "scale": 1 for a file at the preset's own size.
Cost
One render per image and size; repeats with the same values are free. Three posts a week in three sizes is about 40 renders a month. The Free plan's 100 renders a month carry a watermark — enough to set up the templates, not to publish. Starter is $9 a month for 2,000 renders (pricing).
What it does not do
- No publishing or scheduling: the API returns image URLs, your scheduler posts them.
- No captions or hashtags: the text in the image is what you send; writing the post copy is up to you or your AI tool.
- No AI-generated pictures: photos and logos come from URLs you provide.
- No analytics: which post performed better is in the networks' own insights.