Smaller photo-heavy captures
Lossy compression keeps screenshots compact when pages contain photography, gradients, or detailed backgrounds.
URL to JPEG API
Send a public URL to the API and receive a hosted .jpeg screenshot. Control the viewport, full-page capture, selected element, and browser state.
Live demo
Enter a public URL, choose the capture settings, and generate a JPEG screenshot with the same API used in production.
Format advantages
JPEG is a practical choice for photographic and content-heavy webpages where broad compatibility and smaller files matter.
Lossy compression keeps screenshots compact when pages contain photography, gradients, or detailed backgrounds.
JPEG works across browsers, email clients, social platforms, document tools, and long-running application workflows.
Use a familiar image format for previews, downloads, attachments, reports, and automated publishing.
URL screenshot API
Send a public URL to the API with format set to jpeg. Chromium loads the webpage and the response points to the generated .jpeg screenshot.
Send the URL to load, including webpages whose final state depends on browser-rendered JavaScript.
Set format to jpeg and use the hosted .jpeg URL returned by the API.
Set viewport dimensions, capture the full page, or crop the result to a CSS selector.
Choose color scheme, timezone, mobile behavior, timing, and other page-loading controls.
How it works
Submit a public URL with format set to jpeg and any viewport, selector, or browser settings.
The API runs the webpage, styles, fonts, images, and JavaScript in a managed browser environment.
Embed the hosted result, download the file, or save it in your own storage and application records.
Output formats
Keep the same URL and capture settings. Choose lossless detail, compact compatibility, modern web delivery, or a paginated document.
Looking to convert HTML & CSS to JPEG? Explore HTML to JPEGCrisp text, sharp interface details, and transparent page backgrounds.
Explore PNGStrong visual quality with modern compression for web delivery.
Explore WebPPaginated webpage captures with page sizing, margins, backgrounds, and print styles.
Explore PDFExample code
Choose a language and copy a complete request using a public URL and explicit screenshot settings.
const apiId = process.env.HCTI_API_ID;
const apiKey = process.env.HCTI_API_KEY;
if (!apiId || !apiKey) {
throw new Error("Missing HCTI_API_ID or HCTI_API_KEY");
}
const authorization = `Basic ${Buffer.from(`${apiId}:${apiKey}`).toString("base64")}`;
const request = {
url: "https://example.com",
format: "jpeg",
viewport_height: 630,
viewport_width: 1200,
};
const response = await fetch("https://hcti.io/v1/image", {
method: "POST",
headers: {
Authorization: authorization,
"Content-Type": "application/json",
},
body: JSON.stringify(request),
});
if (!response.ok) {
throw new Error(`HCTI request failed: ${response.status} ${await response.text()}`);
}
const result = await response.json() as { url: string };
console.log(result.url);
Ready to capture?
Send a public URL to the API and receive a hosted .jpeg image without running browser infrastructure.