No browser runtime to maintain
Call the API from Node.js without bundling Chromium into the service or coordinating browser processes across workers.
URL to JPEG with TypeScript
No browser management required
Capture public webpages from TypeScript without installing Chrome, running Puppeteer or Playwright, or maintaining screenshot storage and delivery.
TypeScript workflow
Choose the URL and browser state here, then use the TypeScript example below instead of rebuilding the screenshot workflow locally.
Managed screenshots
Keep the application code focused on the request and response while HCTI manages Chromium, page loading, render isolation, retries, and hosted output.
Call the API from Node.js without bundling Chromium into the service or coordinating browser processes across workers.
Set the viewport, full-page mode, selector, timing, color scheme, and browser state as request parameters instead of browser scripts.
Receive the hosted .jpeg result without building a separate pipeline for temporary files, uploads, storage, and delivery.
URL screenshot API
POST the webpage URL, capture settings, and format from TypeScript. HCTI handles the browser lifecycle and returns the generated .jpeg URL.
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 JPEG in TypeScriptCrisp 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
Copy a complete TypeScript request. Authentication, the webpage URL, viewport settings, output format, and response handling are shown together.
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.