ScreenshotNeo

BlogGuides

HTMLCSStoImage API Pricing: What Counts as a Screenshot Request?

HCTI bills for images created, not API calls or downloads. Learn how batches, extra rendering, deduplication, and usage limits affect the count.

By the ScreenshotNeo team4 October 20269 min read

Direct answer: HTML/CSS to Image (HCTI) meters plan usage by images created, not by HTTP requests, downloads, or the number of people who see an image. A single API request can create several images in a batch, and certain rendering work can consume extra credits. An enabled deduplication match may reuse a recent image without creating another one. Check the live HCTI pricing page and your account usage before forecasting costs; plan allowances and terms can change.

1. The billed unit: images created

HCTI’s pricing FAQ says images count when created; downloads and renders are unlimited. Its example is one created image embedded in an email delivered to 1,000 recipients: that is still one image for usage purposes. Repeatedly distributing or downloading an existing image does not multiply its creation count.

This makes “How many API calls will we make?” the wrong first estimate. Ask instead: “How many images will those calls create?”

2. Does one screenshot API request count as one image?

For a normal request that creates one image, it will generally count as one created image. But request count and image count can differ:

Scenario How to estimate usage
One request creates one image Count the one created image.
One batch request creates several variations Count the resulting images, subject to the applicable plan limits.
An identical request matches an enabled deduplication entry It may reuse a recent image and avoid creating another counted image; confirm the response and usage data.
A render needs extra work, such as a long delay or jumbo output It may consume additional credits. Do not assume every created image always costs exactly one credit.
An existing image is downloaded or shown many times Distribution does not create another image by itself.

Batch requests

HCTI’s API supports batch creation: one POST can submit several variations and return multiple image records. Estimate the batch by the number of images it creates, not by the single HTTP request carrying the batch. The pricing page currently lists batch creation as unavailable on Free, up to 25 images per batch for Basic and Pro, and up to 100 for Scale. Confirm the current plan and cap before building around them, since these are live plan details.

3. Settings that can consume extra credits

The pricing FAQ warns that work requiring additional rendering can use extra image credits. It specifically calls out ms_delay values above five seconds and jumbo images.

Long JavaScript wait

ms_delay is a wait before image generation, useful when the page needs time to run JavaScript. A delay over five seconds may use additional credits. Keep the wait only as long as the page needs; if content can be awaited through a more targeted rendering approach, avoid adding a long blanket delay. The exact credit impact depends on the request and current plan rules.

Jumbo output

Jumbo mode requires both jumbo_max_width and jumbo_max_height. HCTI’s API documentation says it supports dimensions up to 80,000 pixels, and jumbo rendering consumes additional credits. Extra renders are based on the tiles required. Do not assume a fixed multiplier: the tile count depends on the dimensions and applicable calculation.

4. Deduplication: when a repeat may not create another image

With deduplication enabled, a matching request may reuse a recent image instead of creating and counting another render. This can matter for scheduled jobs, retries, or repeated generation of identical content.

The deduplication window varies by plan and configuration. The pricing page describes a standard one-month window for Free and Basic, custom deduplication up to six months for Pro, and extended deduplication up to one year for Scale. The API parameter dedupe_duration_s has plan- and image-type-specific defaults and permitted durations.

  • Deduplication must be enabled and supported for the plan and image type.
  • The request must match according to HCTI’s deduplication rules; visually similar output is not necessarily an identical match.
  • A retry is not automatically free. Verify whether it reused an existing image and inspect actual usage.
  • Window controls and the option to disable deduplication depend on plan.

5. Check actual usage

Use both response-level information and the usage history when reconciling a bill or validating an estimate.

Response headers

HCTI documents these headers for image credit usage:

Header Meaning
x-renders-allowed Total image credit allowance for the billing period.
x-renders-consumed Credits consumed by that request.
x-renders-used Account usage in the current billing period.

Record these with the request ID, batch size, and relevant rendering options in your own logs. For batches or requests that may require extra rendering, compare the consumed value with the number of output records.

Usage endpoint

The documented GET /v1/usage endpoint provides hourly, daily, monthly, and per-billing-period image usage. These are alternate views of the same history: do not add hourly, daily, and monthly totals together. The endpoint reports image usage, not the number of Management API requests.

6. Pricing and plan comparison

The following vendor-listed figures were checked on October 3, 2026. The pricing page does not display a publication date, and prices, volume selections, and plan terms can change; verify the live page before purchasing or publishing a cost estimate.

Plan or term Vendor-listed detail checked 2026-10-03
Free 50 images per month; no card required.
Basic Starts at $14 per month; image volume is selectable.
Pro Starts at $149 per month; image volume is selectable.
Scale Starts at $749 per month; image volume is selectable.
Basic and Pro overage Optional $10 per 1,000 images.
Scale overage Optional choices include $10 per 1,000 images or $50 per 10,000 images.

HCTI says overages are optional and are not enabled automatically. Included image allowances reset at the start of each billing cycle and do not roll over. Since paid-tier image volume is selectable, the starting monthly price alone does not tell you the included allowance for every configuration.

When comparing plans, check the selected image allowance, batch availability and batch size, deduplication window, overage rate and opt-in, support level, and any advanced features your workflow requires. Do not compare only the headline monthly prices.

7. Distinguish credit exhaustion from rate limiting

HCTI’s documentation says image creation has no per-second or per-minute request limit, though image credits and plan limits still apply. Management API operations have separate throttles. Both exhausted credits and Management API throttling can return HTTP 429, so status code alone is not enough to diagnose the problem.

  • Credit allowance exhausted: inspect the error details and usage. Waiting a minute does not restore credits; check the billing period, plan allowance, and optional overage settings.
  • Management API throttle: follow the response’s throttling guidance and retry policy. This is a request-rate issue, not evidence that image credits are exhausted.

8. Estimate monthly image usage

  1. Count the images each ordinary request is expected to create.
  2. For each batch, count its output images, not its single POST call.
  3. Identify long ms_delay values and jumbo dimensions; allow for extra credit consumption rather than assigning an unverified multiplier.
  4. Estimate how often identical requests may match enabled deduplication, but treat this as conditional savings.
  5. Compare the estimate with the selected plan allowance and check whether optional overages are enabled.
  6. After launch, reconcile estimates against x-renders-consumed, x-renders-used, and the usage endpoint.

For a simple workload with one image per non-deduplicated request and no extra rendering, created-image count is a useful starting estimate. It is not a guarantee when batches, jumbo output, long delays, or plan-specific behavior are involved.

9. Troubleshooting common billing and usage surprises

Symptom Likely cause What to check or do
Usage rose by more than the number of HTTP calls. A batch created multiple images, or rendering needed extra work. Count returned image records; inspect x-renders-consumed. Review ms_delay and jumbo settings.
A retry appears to count again. No matching deduplication entry, deduplication disabled, or the request fell outside the supported window. Check the plan, image type, dedupe_duration_s, request identity, and response data. Do not assume retry equals reuse.
The usage dashboard differs from an API-call counter. The dashboard tracks images, while calls may create several images or be management operations. Reconcile by image records and response usage headers; do not treat API call totals as image totals.
HTTP 429 occurs, but waiting does not help. The image credit allowance may be exhausted rather than a temporary Management API throttle. Read the error body and usage data. Check plan allowance and overage configuration separately from management throttles.
Plan price does not match a guessed image quota. Paid-tier volume is selectable; the entry price does not define every allowance. Review the exact volume selected on the live pricing page and billing settings.
Monthly usage seems to disappear at renewal. Included allowance resets each billing cycle and unused images do not roll over. Plan against the cycle boundary and verify the account’s current period dates.

10. Performance, reliability, and cost controls

Performance

Batching can reduce the number of client-side API operations for multiple variations, but it does not turn many output images into one billed image. A long ms_delay directly adds waiting time and may add credit consumption above five seconds. Jumbo output has extra rendering work tied to tiles. Choose dimensions and waits based on the actual output requirement.

Reliability

For retry-safe workflows, log request parameters and response usage headers, and check whether deduplication is supported for the request before assuming a retry reuses prior work. Distinguish a management throttle from exhausted image credits using the response details and usage data. Do not rely on a guessed retry interval to resolve a billing-period allowance problem.

Cost

Budget from expected created images, then account for batches and rendering settings. Treat deduplication as possible savings only after confirming a match. Confirm selected plan volume and whether optional overages are enabled. Recheck live pricing before committing, because the figures here are dated vendor listings.

11. Or skip the browser setup

If your goal is a reliable screenshot rather than managing a rendering setup, ScreenshotNeo is a website screenshot API and MCP server. One GET request returns a PNG, JPEG, WebP, or PDF. Its API options include full-page capture, element selection, device presets, custom waits, CSS and JavaScript, headers, cookies, caching, bulk capture, and more. The parameter names used by other screenshot APIs also work, which can make switching straightforward. See the ScreenshotNeo API documentation.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);

ScreenshotNeo removes cookie banners, popups, and chat widgets before the shot. Bot checks, blank pages, and failed loads are never billed, and response headers say the page verdict and billing status. Its MCP server lets AI agents use take_screenshot, get_page_info, and capture_pdf. The Free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 screenshots. Sign up free for 1,000 screenshots a month, with no card required.

12. FAQ

Do downloads count as new HCTI images?

No. HCTI’s stated counting rule is based on image creation; downloading or distributing an already-created image does not create another one.

Does a batch request count once?

Usage follows the images created by the batch. One POST may therefore account for several images.

Does every repeated request get deduplicated?

No. Reuse depends on an enabled, supported match within the plan’s applicable window.

Can I tell which request consumed credits?

Use the response’s x-renders-consumed header and compare it with account-level usage. Keep request and output records together in application logs.

Does an HTTP 429 always mean I am sending requests too quickly?

No. HCTI documents separate Management API throttles and image-credit limits; inspect the error details and current usage to tell them apart.

Sources