ScreenshotNeo

BlogHow-to

How to Make a Link Preview Show a Large Image in Telegram

Choose a larger preview in Telegram, add Open Graph image metadata to pages you control, or set preview options in a bot. Here’s how each route works.

By the ScreenshotNeo team4 October 20267 min read

To show a larger image in a Telegram link preview, choose the larger media size in the message composer before sending. If you own the linked page, provide the intended image in its Open Graph metadata. If you are building a bot, use Telegram’s link preview options. These are separate controls: page metadata supplies preview content, while Telegram’s preview controls request its layout.

  1. Paste or type the URL in the message field and wait for Telegram to create a preview.
  2. Open the preview controls before sending.
  3. Choose the larger media presentation. If your message contains several links, select the URL whose preview you want.
  4. If desired, choose whether the preview appears above or below your message.
  5. Send the message.

Telegram announced these controls for adjusting preview media size and position and choosing which link to preview when a message contains several. The exact menu labels and tap sequence may differ between clients, so look for the preview controls rather than relying on a platform-specific path. Telegram’s announcement

Set the preview image on a page you control

If the preview has no image or shows the wrong one, add accurate Open Graph metadata to the page’s HTML head. The Open Graph protocol defines og:title, og:type, og:image, and og:url as basic properties. og:image should point to the intended representative image.

<head>
  <meta property="og:title" content="A clear page title">
  <meta property="og:type" content="website">
  <meta property="og:url" content="https://example.com/article">
  <meta property="og:image" content="https://example.com/images/article-preview.jpg">
  <meta property="og:image:alt" content="A concise description of the preview image">
</head>

Replace the example title, canonical URL, image URL, and alt text with real values. The image URL should be publicly fetchable by Telegram. Open Graph also permits structured image properties such as MIME type, width, height, and secure URL; consult the Open Graph protocol for their definitions.

Check the page metadata

  1. View the published page’s HTML source and confirm the tags are in the head of the page served to visitors.
  2. Confirm og:url identifies the page and og:image points to the intended image.
  3. Open the image URL directly and check that it is accessible and returns the image you expect.
  4. Try the page URL in Telegram again and inspect the generated preview.
  5. Use Telegram’s larger-media control if the preview content is right but its layout is small.

The reviewed official sources do not specify image pixel dimensions that guarantee a large layout, or a cache invalidation method or refresh time. Do not treat a particular image ratio, width, or height as a promise that Telegram will show a large card.

If you do not control the destination page, you usually cannot change its HTML metadata. You can still use Telegram’s preview controls if resizing is available, or ask the site owner to correct the page metadata.

Set a large preview from a Telegram bot

For bot-generated messages, use the current Telegram Bot API’s LinkPreviewOptions when sending or editing a message. Telegram’s protocol describes force_large_media as a request for a large preview and force_small_media as a request for a small one. These are message-level preferences; they do not add an image to a webpage or guarantee that every URL can produce a large image.

Check Telegram’s live Bot API LinkPreviewOptions documentation for the current fields and the relevant send or edit method. The API is the implementation reference for bot code, and its available options can change. Verify the exact request shape against the version you use and test the bot’s message flow in its target chat.

Telegram’s protocol reference also describes preview media flags in its inputMediaWebPage constructor. Bot API users should follow the Bot API contract rather than assuming that protocol-level details map directly to their bot requests.

Or skip the browser setup

If you need the image from a webpage itself, ScreenshotNeo is a website screenshot API and MCP server for developers. It returns a screenshot or PDF from one GET request. Its clean-shot features accept cookie and consent banners like a visitor and remove more than 60 known consent platforms, newsletter popups, and chat widgets before capture; each step can be turned off. Bot checks, blank pages, failed loads, timeouts, and cache hits cost nothing, and the response identifies the page verdict and billing status.

Here is a runnable cURL example that saves a WebP screenshot. See the ScreenshotNeo API docs for the API options.

curl -G "https://api.screenshotneo.com/v1/shot" \
  -d access_key=YOUR_API_KEY \
  --data-urlencode url=https://example.com \
  -o shot.webp

Python:

import requests

r = requests.get(
    "https://api.screenshotneo.com/v1/shot",
    params={"access_key": "YOUR_API_KEY", "url": "https://example.com"},
    timeout=90,
)
r.raise_for_status()
open("shot.webp", "wb").write(r.content)

Node.js:

const q = new URLSearchParams({
  access_key: 'YOUR_API_KEY',
  url: 'https://example.com'
});
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
if (!res.ok) throw new Error(`Screenshot request failed: ${res.status}`);
await Bun.write('shot.webp', res);

ScreenshotNeo also has an MCP server for AI agents, including Claude, Cursor, and other MCP clients, with tools for screenshots, page information, and PDF capture. The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000. A screenshot file is useful when you want to share a page image, but it does not replace Telegram preview controls or the destination page’s Open Graph metadata.

Sign up for 1,000 free screenshots a month, with no card.

Troubleshooting

Symptom Likely cause What to do
The preview is small even though the page has an image Image metadata provides content; it does not by itself select Telegram’s large layout. Open the preview controls and choose the larger media presentation before sending.
The preview has no image The page may lack an og:image tag, or its metadata may not identify an available image. If you own the page, check its Open Graph tags and make sure the image URL points to the intended, publicly fetchable image. Otherwise, ask the page owner.
The wrong image appears The page’s og:image may identify a different image, or another URL may be selected in a message with multiple links. Correct the metadata if you control the page. In a multi-link message, select the intended URL’s preview.
The metadata is correct but Telegram still shows an old or unexpected preview The reviewed official sources do not establish Telegram’s cache-refresh timing or a guaranteed invalidation procedure. Check the live page source and image URL, then try the URL again. Do not assume adding a query parameter or waiting a fixed time will clear a cached preview.
The bot’s large-preview preference has no visible effect The preview may not support resizing in that context, or the request may not match the current Bot API contract. Check the current LinkPreviewOptions documentation and test the bot message with a URL that has valid preview metadata.
You cannot find the same controls described elsewhere Telegram’s exact controls and labels can vary by client. Use the preview controls in the composer; consult documentation for your client and version if needed.

Performance, reliability, and cost considerations

  • Composer controls: This is the direct route for a person sending a link. It changes the message preview layout without requiring changes to the destination website.
  • Page metadata: This helps Telegram identify the page title and representative image. It cannot force a large layout, and the reviewed sources give no guaranteed image dimensions or refresh time.
  • Bot options: These let developers express a message-level preview preference. Check the current API contract and account for contexts where resizing is unavailable or ignored.
  • Screenshot capture: A screenshot API can produce a page image when you need an image file, but the result is separate from Telegram’s link preview. With ScreenshotNeo, only clean shots are billed; failed loads and cache hits cost nothing. Plan prices are $5 for 3,000, $15 for 15,000, $39 for 60,000, $99 for 250,000, and $249 for 1,000,000 screenshots; yearly billing gives two months free, and every feature is on every plan.

FAQ

Does adding og:image make Telegram use the large layout?

No. It identifies an image for the page preview. Choose the larger media presentation in Telegram, or set the supported preference in a bot message.

What image dimensions guarantee a large Telegram preview?

The reviewed official Telegram and Open Graph sources do not specify dimensions that guarantee a large preview. Use an appropriate representative image, then choose the large layout in Telegram.

You generally cannot change another site’s metadata. Use the available preview-size controls or ask the site owner to update its page metadata.

The API provides large-media preference controls, but they do not guarantee that every URL or message context supports a large image. Check the current Bot API documentation and test the intended flow.