Batch images for developers

Generate a browser-state matrix in one request

Send shared content once, then override viewport, timezone, color scheme, or full-page capture for each image in the batch.

  • Viewport matrices
  • Color scheme and timezone variants
  • Per-image overrides
One batch image request producing four coordinated image variations.
POST /v1/image/batch
{
  "default_options": {
    "url": "https://hcti.io"
  },
  "variations": [
    { "viewport_width": 1200 },
    { "viewport_width": 630 },
    { "color_scheme": "dark" },
    { "full_screen": true }
  ]
}

Live demo

Try the batch image API

Set one URL as the default, change the viewport and browser settings for each variation, and receive all three image URLs from one request.

Options

This URL is used as the default for all three variations.
Variation 1
Variation 2
Variation 3

Results

Try a batch image request

Choose one URL and three variations, then generate them with a single API request.

This simplified demo shows a few common controls. See the API reference for every option supported in default_options and individual variations.

Use cases

Add batch screenshot generation to your product

Read the batch API docs

Responsive viewport matrices

Capture a page across the viewport sizes your application officially supports.

Color-scheme testing

Render light and dark modes together to find missing styles or inconsistent states.

Timezone-sensitive pages

Check dashboards, schedules, and date-driven interfaces across target timezones.

Release screenshots

Attach the same set of page states to deploys, test runs, and pull-request reviews.

Example conversation using the HCTI MCP integration.
Example conversation
MCP connected with OAuth
  1. You: Use the HCTI MCP to create desktop, mobile, and dark-mode screenshots of https://example.com in one batch.
  2. HTML/CSS to Image: I’ll use the URL as the shared default and add three viewport and color-scheme variations. All three image URLs will come back in one response.
  3. You: Render this dashboard in New York, London, and Tokyo timezones too.
  4. HTML/CSS to Image: I added one timezone override per variation while keeping the URL and other capture settings shared.
  5. You: Can you make portrait and landscape versions for the approval set?
  6. HTML/CSS to Image: Yes. I’ll generate both orientations together and return the complete set for review.

MCP integration

Use the HCTI API from your AI tools

Connect an MCP-compatible AI client to HCTI through OAuth.

Generate images and PDFs, capture webpages, and work with templates without putting an API key in the prompt.

Baseline + variations

Set shared options once

Put common content and rendering settings in default_options, then include only the overrides each image needs.

01

Set the defaults

Define the URL and any settings shared by every image once in default_options.

"url": "https://example.com"
02

Add per-image overrides

Each variation can change viewport, color scheme, timezone, full-page capture, content, or other image options.

"color_scheme": "dark"
03

Get every image URL

The response returns one generated image result for each variation.

"images": [ ... ]

Batch image API

Generate multiple images with one API call

Send one authenticated request with shared defaults and an explicit list of variations instead of maintaining several separate requests.

  • One batch endpoint

    Generate all variations in one batch instead of coordinating separate API requests.

  • The same image controls

    Use the viewport, browser, content, format, and capture options available to an individual image request.

  • Fewer requests to manage

    Keep shared settings in one place instead of building and tracking several nearly identical API calls.

Batch image API request.
POST /v1/image/batch
{
  "default_options": {
    "url": "https://example.com"
  },
  "variations": [
    {
      "viewport_width": 1200,
      "viewport_height": 630,
      "color_scheme": "light"
    },
    {
      "viewport_width": 630,
      "viewport_height": 1200,
      "color_scheme": "dark"
    }
  ]
}

Ready to generate?

Create your next image set in one request

Set shared defaults, override only what changes, and receive every generated image URL together.