No browser runtime to maintain
Keep ASP.NET services and background workers free of local browser binaries and browser-process lifecycle code.
URL to WebP with C#
No browser management required
Capture public webpages from C# without installing Chrome, running Playwright or Selenium, or maintaining screenshot storage and delivery.
C# workflow
Choose the URL and browser state here, then use the C# 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.
Keep ASP.NET services and background workers free of local browser binaries and browser-process lifecycle code.
Set the viewport, full-page mode, selector, timing, color scheme, and browser state as request parameters instead of browser scripts.
Receive the hosted .webp 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 C#. HCTI handles the browser lifecycle and returns the generated .webp URL.
Send the URL to load, including webpages whose final state depends on browser-rendered JavaScript.
Set format to webp and use the hosted .webp 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 webp 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 WebP? Explore HTML to WebP in C#Crisp text, sharp interface details, and transparent page backgrounds.
Explore PNGSmaller files and broad compatibility for photographic and content-heavy webpages.
Explore JPEGPaginated webpage captures with page sizing, margins, backgrounds, and print styles.
Explore PDFExample code
Copy a complete C# request. Authentication, the webpage URL, viewport settings, output format, and response handling are shown together.
using System.Net.Http.Headers;
using System.Net.Http.Json;
using System.Collections.Generic;
using System.Text;
using System.Text.Json.Nodes;
var apiId = Environment.GetEnvironmentVariable("HCTI_API_ID")!;
var apiKey = Environment.GetEnvironmentVariable("HCTI_API_KEY")!;
using var client = new HttpClient();
var credentials = Convert.ToBase64String(Encoding.ASCII.GetBytes($"{apiId}:{apiKey}"));
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", credentials);
var request = new
{
url = "https://example.com",
format = "webp",
viewport_height = 630,
viewport_width = 1200,
};
using var response = await client.PostAsJsonAsync("https://hcti.io/v1/image", request);
response.EnsureSuccessStatusCode();
var result = await response.Content.ReadFromJsonAsync<JsonObject>();
var imageUrl = result?["url"]?.GetValue<string>();
if (imageUrl is not null)
{
Console.WriteLine(imageUrl);
}
Ready to capture?
Send a public URL to the API and receive a hosted .webp image without running browser infrastructure.