Menu
Sign up

Tweet to image: turn a post's text into a sharp image card, without a screenshot

Make a clean image of a post for Instagram, LinkedIn or slides from its text: a post-card template via API or URL, sizes and render times, and the rules.

Published November 8, 2026 · 4 min read

"Tweet to image" usually means one of two things: a picture of a post to put on Instagram, LinkedIn, a slide or a newsletter, or a picture of a customer's kind words for a landing page. A screenshot of X does it, badly — it carries X's interface, your theme, your notifications badge and your screen's resolution. Rebuilding the post as a clean card from its text gives a sharp, consistent image at whatever size the destination needs. This page shows how, with the render times and sizes we measured.

How we measured. On 2026-11-08 we rendered our social-post template through our API on our development stack with a short post, a 280-character post, both themes and three size presets, and checked each picture by eye.

Screenshot or card?

Screenshot of the post on X Card from the text
Resolution Your screen's 2× of the chosen size (2400×1260 for 1200×630)
Around the post X's interface, buttons, theme Only the post
Sizes One Every preset: 1200×630, square, portrait, story
Branding X's Your colours; no X logo
Logged-in requirement You need to see the post None: you supply the text

The embed is a third option, for web pages only: X's publish tool gives an HTML snippet that shows the live post with X's script (X embedded posts). It is not an image, so it does not work in emails, slides or an Instagram post.

One request

curl -X POST "https://shareglint.com/v1/images?wait=true" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"template": "social-post", "modifications": {
        "text": "Shipped dark mode today. It took one CSS variable and three weeks of arguing about the shade of grey.",
        "name": "Ada Example", "handle": "@ada", "verified": "true",
        "date": "Nov 8, 2026", "replies": "24", "reposts": "118", "likes": "1.2K"}}'

The fields: text, name, handle, verified, date, replies, reposts, likes, avatar (an image URL; without one the card shows the name's first letter in a circle), plus the shared theme (light or dark) and accent (the background colour).

Request Picture Time Size
Short post, default size 2400×1260 1.06–3.06 s 786 KB
280-character post 2400×1260 2.79 s 777 KB
"size": "square" 2160×2160 2.46 s 1.2 MB
"size": "portrait" 2160×2700 1.12 s 955 KB

The first render of a template on a fresh worker was the slowest; later ones took about a second. For smaller files ask for "format": "jpeg" or "webp".

Things we checked in the pictures

  • Long posts fit. A full 280-character post was shown whole: the text shrinks to fit its box (down to 26 px at the 1200×630 size) instead of being cut off.
  • Counts are optional. Leave replies, reposts or likes out and that count disappears from the card. Write them as you want them shown: "1.2K" stays "1.2K".
  • The tick. The verified mark shows for any non-empty value except the usual "no" words: false, 0, no and off hide it. (Until 2026-11-08 "verified": "no" still drew it; we fixed that while writing this guide.)
  • Dark theme. "theme": "dark" gives a dark card on the accent background; the post text and the handle switch colours with it.
  • Emoji work in the text and the name, drawn with Noto Color Emoji (see fonts and emoji).

No code: a link per post

For a spreadsheet of testimonials or a weekly "post of the week", a signed URL per row gives each post its image without an API call: put the URL in the sheet, a CMS field or an <img>, and the image renders on first view and is cached after (signed image URLs, images from a sheet). The free quote image generator makes single cards in the browser.

Which template for which job

  • social-post: a post with a name, handle and counts — your own posts, product announcements, "what people say" grids.
  • quote-og: a quotation with a photo of the person — a talk, an interview, a customer quote (quote cards).
  • testimonial-stars: a review with a star rating and the reviewer's company — for landing pages and ads.

A picture of text is invisible to screen readers and to search. When you post the card, paste the post's text into the image description (alt text) field that most networks offer on upload, and put the link to the original post in the caption or the first comment. Readers can then check the source, and the author gets the visit. The same applies on a web page: the card goes in an <img> with the post's words as its alt, followed by a link to the post.

Posts from other networks work the same way: the template does not care whether the text came from X, Threads, Bluesky, Mastodon or LinkedIn. Use the network's handle format (@ada@example.social for Mastodon) and leave the counts out where the network shows different ones.

The rules

An image of a post is a quotation. Use real words, the real name and handle, and counts you did not invent. Do not make posts that someone did not write, and do not change the numbers on a real one: a fake post is a fake whether it was drawn in a design tool or rendered by an API. Your own posts, testimonials you have permission to use, and public statements quoted accurately are fine; credit the author and link to the original where you can.

A card costs one render of the quota; the same text and options again are served from cache without a new render (pricing). Sizes for each network are on social media image sizes.

FAQ

How do I turn a tweet into an image?

Either screenshot it on X, which captures the interface around it at your screen's resolution, or recreate it as an image card from the post's text, name and handle. Our social-post template does the second: send the text and get a 1200×630 card (2400×1260 px at the default 2×) in about a second, or in any other size preset.

Can you fetch the post from X by its link?

No. We do not read posts from X: you paste the text, the name, the handle and, if you want them, the counts. That keeps the image under your control and works the same for posts from Threads, Bluesky, Mastodon or LinkedIn.

Is it OK to make an image of someone else's post?

Only if you would be fine quoting it with credit: their exact words, their real name and handle, and no edited numbers. A made-up or altered post attributed to a real person is a fake, whatever tool made it. For your own posts, testimonials you have permission to use and public statements quoted accurately, an image card is a normal way to share them.