ScreenshotNeo

BlogHow-to

How to Generate Website Thumbnail Images with Microlink for a Hindi Blog

Generate a 1200×630 screenshot thumbnail for a Hindi blog with Microlink. Choose direct image or JSON delivery, set social tags, and check Hindi text before sharing.

By the ScreenshotNeo team4 October 20267 min read

To generate a website thumbnail image with Microlink for a Hindi blog, request a screenshot of the published post at a 1200×630 viewport, then use the resulting image URL in your social metadata. You can return the image directly for og:image and twitter:image, or request JSON when your application needs the hosted asset URL and image metadata.

Microlink’s screenshot guide says a capture needs the target url and the screenshot parameter. The 1200×630 size is its documented common social-card viewport; it does not guarantee identical display or cropping on every platform. [Microlink screenshot guide] [Microlink Open Graph example]

1. Create a direct image URL for social tags

Replace the example post URL with your public Hindi blog post URL. URL-encode the target URL as a query parameter. The example below asks Microlink to skip metadata extraction and embed the screenshot response.

https://api.microlink.io/?url=https%3A%2F%2Fexample.com%2Fhindi-post&screenshot=true&meta=false&embed=screenshot.url&viewport.width=1200&viewport.height=630

Use that endpoint in the page head:

<meta property="og:image" content="https://api.microlink.io/?url=ENCODED_POST_URL&amp;screenshot=true&amp;meta=false&amp;embed=screenshot.url&amp;viewport.width=1200&amp;viewport.height=630">
<meta name="twitter:image" content="https://api.microlink.io/?url=ENCODED_POST_URL&amp;screenshot=true&amp;meta=false&amp;embed=screenshot.url&amp;viewport.width=1200&amp;viewport.height=630">

In HTML attribute values, query separators are written as &amp;. Build the URL with a URL-encoding function rather than substituting an unescaped URL containing its own query string. Microlink documents both direct image delivery and embedding for social tags. [Delivery and embedding]

2. Request JSON when you need the screenshot asset URL

Use the normal JSON response if your backend needs the hosted image URL or metadata such as its dimensions, type, or size. Microlink’s guide identifies the hosted screenshot asset at data.screenshot.url.

https://api.microlink.io/?url=https%3A%2F%2Fexample.com%2Fhindi-post&screenshot=true&meta=false&viewport.width=1200&viewport.height=630

Read data.screenshot.url from the JSON response and save or publish that URL as your social image. Keep the JSON and direct-image modes distinct: the former is useful to application code that needs response fields, while the latter is convenient when an image URL is needed directly in markup. [Screenshot guide] [Delivery and embedding]

3. Generate and inspect a thumbnail for a Hindi post

  1. Publish the article at a URL accessible to the screenshot service. A draft behind a login or an unpublished preview URL may not be reachable.
  2. Request a 1200×630 viewport screenshot. For a social card, a fixed viewport gives a bounded frame; use full-page capture only when the complete scrolling page is actually wanted.
  3. Choose direct image delivery for simple social metadata, or JSON if your backend needs the asset URL and screenshot details.
  4. Open the resulting image and check the Hindi headline, glyphs, font fallback, contrast, and crop at the intended display size. The reviewed Microlink sources do not specify Hindi font shaping or rendering guarantees, so visual inspection is necessary.
  5. Check the share preview with the target social platform’s sharing debugger before publishing; Microlink’s Open Graph example recommends validating the result in the platform context.

4. Choose the capture settings

Decision Use this when Tradeoff
Viewport capture You want a deliberately framed social card such as 1200×630. Only the visible browser area is represented.
Full-page capture The entire long page is the intended image. A tall page is usually a poor fit for a landscape social thumbnail.
Selected element The article hero or a specific content region is the desired thumbnail. The target CSS element must exist and be visible when capture occurs.
PNG You want the documented default output. Inspect file size for photographic content.
JPEG You prefer a compressed photographic image. JPEG quality is configurable in the SDK reference; inspect the result for artifacts.
JSON response Backend code needs screenshot metadata and the hosted asset URL. Your code must parse the JSON and use data.screenshot.url.
Embedded image response Markup needs an image endpoint directly. There are no JSON fields to inspect in that response mode.

Microlink documents viewport and full-page capture, selected-element screenshots, PNG and JPEG output, and JPEG quality in its API and SDK references. [Screenshot API parameters] [SDK screenshot options]

5. Cache and request-volume considerations

Microlink’s Open Graph use case documents a 24-hour default cache. It describes configurable cache TTL from one minute to 31 days and stale-while-revalidate as Pro features. Plan details can change, so verify the current terms before relying on a longer TTL. [Open Graph use case]

The screenshot guide currently documents 25 free requests per day without an API key. It recommends a plan for production features such as configurable TTL, stale caching, custom filenames, headers, and proxy. Treat these as vendor-published terms, not a performance guarantee, and check current pricing and limits before estimating production cost. [Microlink screenshot guide]

For reliability, avoid generating a new screenshot on every page view if the card can be reused. Store or cache the resulting asset URL where your publishing workflow allows it, and refresh it when the post changes. The appropriate refresh interval depends on how often the source page changes and the cache behavior you choose.

6. Troubleshooting

Symptom Likely cause What to do
The image URL returns an error or no image. The target URL is malformed, inaccessible, or incorrectly encoded. Open the target page publicly, encode it as one query parameter, and inspect the Microlink response mode and parameters.
The thumbnail is the wrong shape or crop. The viewport dimensions were omitted or a full-page capture was requested. Set viewport width to 1200 and height to 630 for the documented common social-card size, then preview the result.
The image looks like JSON in the browser. The request used the normal JSON response rather than embedded image delivery. For direct markup, include embed=screenshot.url; for JSON, parse data.screenshot.url.
The Hindi headline is clipped, has missing glyphs, or looks different. The page’s fonts may not have loaded before capture, or the screenshot environment may use fallback fonts. The reviewed docs make no Hindi-specific rendering guarantee. Ensure the published page loads its intended font, inspect the resulting image, and adjust the page or capture target if needed.
The thumbnail shows a stale version. The Open Graph use case documents a default cache duration of 24 hours. Allow for caching, verify current TTL options and plan terms, and use an appropriate refresh workflow.
The social platform still shows an old or different card. The platform may have its own cached preview or may crop the image differently. Check the platform’s sharing debugger and inspect the effective metadata and preview.

Or skip the browser setup

ScreenshotNeo is a website screenshot API and MCP server for developers. It can capture a URL in one GET request, return an image or PDF, and remove known consent banners, newsletter popups, and chat widgets before capture. Failed loads, blank pages, bot checks, and cache hits are not billed; response headers report the page verdict and billing status. Its MCP server provides screenshot and page information tools for AI agents.

For a Hindi blog post, request a 1200×630 viewport and inspect the output for correct glyphs and crop:

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://example.com/hindi-post -o shot.webp
import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://example.com/hindi-post", "width": 1200, "height": 630}, timeout=90)
open("shot.webp", "wb").write(r.content)
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://example.com/hindi-post', width: '1200', height: '630' });
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', new Uint8Array(await res.arrayBuffer()));

See the ScreenshotNeo API documentation for request options. Cookie banners, popups, and chat widgets are removed before the shot; bot checks, blank pages, and failed loads are never billed; an MCP server lets AI agents take screenshots. The free plan includes 1,000 screenshots a month with no card, and paid plans start at $5 for 3,000.

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

FAQ

Does 1200×630 guarantee the same preview everywhere?

No. It is Microlink’s documented common social-card viewport, while platforms may display or crop images differently.

The reviewed official documentation does not state a Hindi-specific font or text-shaping guarantee. Preview the generated image and the platform’s share card.

Yes, when using embedded image delivery. If your application needs screenshot details or a hosted asset URL, use the JSON response and read data.screenshot.url.

Can I capture just the article hero?

Yes. Microlink documents selected-element capture; the element needs to be present and visible at capture time.

Sources