Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

dedupe_duration_s is a non-negative integer, measured in seconds, on an image request. It tells the service how far back to look for an identical render. Set it to 0 to disable duplicate detection. When an exact match is found, the API can return the existing image ID and URL instead of creating another image, which can avoid another image credit. The feature is best effort and eventually consistent, so it should reduce accidental duplicates—not serve as a strict idempotency guarantee.

What dedupe_duration_s controls

The parameter defines a per-request lookback window. A value of 300 asks the service to search for a matching image created during the previous 300 seconds. A value of 3600 searches one hour. A value of 0 turns the search off.

The match is based on the rendered request

The service compares the rendered content and image parameters. For HTML/CSS requests, that includes the HTML, CSS, and visual options that affect the result. For URL screenshots, it includes the URL and the screenshot options used to render it. The value of dedupe_duration_s itself is excluded from the identity comparison. Therefore, changing only the lookback window does not make an otherwise identical request a new image.

What a successful match does

When a match is found, the response can identify the previously created image and provide its URL. Because no second render is needed, the matching request can avoid consuming another image credit. Treat the returned image as the result of the earlier request; do not assume a new render occurred.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Elebase USB to USB C Adapter for iPhone 18 Pro Max,USBC Car Charger Adapter
  • Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
  • Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
  • Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
  • Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
  • 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.

Defaults and plan limits

The default depends on the request type and plan. Omitting the field from a URL screenshot request disables deduplication, while HTML/CSS image requests have a long default lookback on plans that support the feature.

Request or plan Default when omitted Allowed values or maximum
URL screenshot 0 seconds 0 unless a plan or endpoint documents another value
HTML/CSS image — Free 2,592,000 seconds (30 days) 0 or the plan default
HTML/CSS image — Basic 2,592,000 seconds (30 days) 0 or the plan default
HTML/CSS image — Pro 15,552,000 seconds (180 days) Whole numbers from 0 through 15,552,000
HTML/CSS image — Scale 31,536,000 seconds (365 days) Whole numbers from 0 through 31,536,000

These are seconds, not days or milliseconds. For example, 30 days is 2,592,000 seconds and 180 days is 15,552,000 seconds. Check the plan attached to the API key before sending a value above that plan’s maximum.

Request examples

HTML/CSS to Image

Send the field alongside the HTML and CSS in a standard single-image POST request:

Rank #2
Anker USB-C Hub, 5-in-1 USB Hub for Laptops, 4K HDMI Multiport Adapter
  • 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
  • 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
  • Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
  • 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
  • What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.
{
  "html": "<h1>Monthly report</h1>",
  "css": "h1 { color: navy; }",
  "dedupe_duration_s": 3600
}

The second identical request within one hour is eligible to reuse the first image. A change to the heading text, CSS, viewport, format, or another image-affecting option makes the request different.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

URL screenshot

{
  "url": "https://example.com/report",
  "dedupe_duration_s": 300
}

URL screenshots default to 0 when the field is omitted, so specify a positive value when you want duplicate detection for this request type.

cURL

Set API_BASE to the base URL supplied by your image API provider:

Rank #3
Sale
Anker USB C Hub, 7in1 Multi-Port USB Adapter, 4K@60Hz USBC to HDMI Splitter
  • Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
  • Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
  • Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
  • Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
  • What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.
curl -X POST "$API_BASE/v1/image" 
  -H "Content-Type: application/json" 
  -d '{"html":"<h1>Monthly report</h1>","css":"h1 { color: navy; }","dedupe_duration_s":3600}'

Python

import os
import requests

payload = {
    "html": "<h1>Monthly report</h1>",
    "css": "h1 { color: navy; }",
    "dedupe_duration_s": 3600,
}
response = requests.post(
    f"{os.environ['API_BASE']}/v1/image",
    json=payload,
    timeout=90,
)
response.raise_for_status()
print(response.json())

Node.js

const payload = {
  html: '<h1>Monthly report</h1>',
  css: 'h1 { color: navy; }',
  dedupe_duration_s: 3600
};

const res = await fetch(`${process.env.API_BASE}/v1/image`, {
  method: 'POST',
  headers: { 'content-type': 'application/json' },
  body: JSON.stringify(payload)
});
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
console.log(await res.json());

Why this is not strict idempotency

Duplicate detection is documented as “Best effort, not an idempotency guarantee.” A newly created image may take a few seconds to become available for matching. Identical requests sent during that propagation delay—especially at the same time from concurrent workers—can create separate images and consume separate credits.

Use an application-level guard for exactly-once behavior

If your workflow cannot tolerate duplicate work, create your own idempotency key from a canonical representation of the content and image options. Store an in-progress or completed result under that key, acquire a lock before submitting the first request, and make later workers wait for the stored result. Keep the API’s dedupe window as a second layer for retries, not as the lock itself.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Make the compared input stable

  • Normalize generated HTML and CSS before hashing so irrelevant formatting changes do not defeat your own key.
  • Keep image options in a deterministic order and include every option that can change pixels.
  • Do not include a changing timestamp, random identifier, or nonce in the HTML unless a new image is intended.
  • Use a retry delay that allows the earlier image to become matchable; immediate parallel retries are the most likely to race.

Where the option applies—and where it does not

dedupe_duration_s applies to standard single-image POST requests, URL screenshots, and MCP-created HTML/CSS images. It does not apply to templated images, signed create-and-render URL images, or image batch requests. A batch pipeline therefore needs its own duplicate control if the same item can appear twice.

Rank #4
Sale
UGREEN USB to USB C Adapter Combo 4-Pack, 10Gbps USB C Converter Space Gray
  • Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
  • Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
  • Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
  • Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
  • Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft
Workflow Uses dedupe_duration_s? Practical implication
Single HTML/CSS image POST Yes Set the lookback explicitly when the default is not appropriate.
Single URL screenshot Yes Omitted means 0 seconds.
MCP-created HTML/CSS image Yes Pass the option through the MCP image request.
Templated image No Use an application-level key or workflow-specific cache.
Signed create-and-render URL image No Do not expect the signed URL flow to reuse an image.
Image batch request No Deduplicate before submitting the batch.

Client and SDK support

The August 5, 2026 changelog announced support in the official TypeScript client v0.8.0 and .NET client v0.11.0. The Go client documents the corresponding DedupeDurationSeconds field in its image options. Verify the client version installed in your project: an older SDK may silently omit the field or reject it during validation.

Troubleshooting

Symptom Likely cause Fix
Every request creates a new image The field is omitted on a URL screenshot, set to 0, or the request is outside the lookback window. Send a positive value and confirm that the request type and plan support it.
A supposedly identical request is not reused HTML, CSS, URL, or an image-affecting option differs. Compare the complete payload, including viewport, format, dimensions, and other rendering options.
Concurrent retries both consume credits The first image has not become available for matching yet. Serialize retries with an application lock and add backoff; do not rely on dedupe for exactly-once execution.
Request is rejected as invalid The value is negative, non-integer, above the plan maximum, or unsupported by the endpoint. Use a whole number in the documented range and check the plan limits.
Changing only the window appears to have no effect The field is intentionally excluded from identity comparison. Keep the same content when you want reuse; change a rendering input when you need a distinct image.
Batch items are duplicated Batch requests are outside the feature’s scope. Deduplicate the batch using your own canonical key before submission.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Performance, reliability, and credit planning

  • Choose the shortest useful window. A long window is suitable for immutable reports or static assets; a short window is safer for pages whose data changes frequently.
  • Remember that a match is content-sensitive. A changing clock, stock price, personalized response, or rotating ad can produce a different render even when the URL is the same.
  • Account for eventual consistency. A successful response does not mean another worker can match it immediately.
  • Measure saved work. Log the request’s canonical key, the selected window, and whether the response reused an existing image when that status is exposed by your client.
  • Budget for races. Keep a small allowance for duplicate credits caused by simultaneous requests, particularly during traffic spikes.

Or skip the browser setup

If your input is a public URL and you want a production screenshot without managing a browser, ScreenshotNeo provides a one-request URL screenshot API. It is separate from the HTML/CSS POST /v1/image dedupe option described above, so use your own application-level key when you need strict idempotency.

With ScreenshotNeo, cookie or consent banners, newsletter popups, and chat widgets are removed before the shot. Bot checks, blank pages, failed loads, timeouts, and cache hits are not billed, and each response reports the page verdict and billing status in X-Page-Verdict and X-Billed headers. Its MCP server lets Claude, Cursor, and other MCP clients call take_screenshot, get_page_info, and capture_pdf.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

See the ScreenshotNeo API documentation for output formats and options. The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 screenshots. Create a free ScreenshotNeo account to try it.

Best Value
Anker USB C Hub, 5-in-1 USBC to HDMI Splitter with 4K Display
  • 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
  • Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
  • Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
  • HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
  • What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.

Frequently Asked Questions

Can a longer window force a fresh render?

No. The window only controls how far back the service searches. To force a distinct image, change an image-affecting input or set the value to 0 for that request.

What should I do when two workers need the same image at once?

Coordinate them in your application with a shared key and lock, then let one worker submit the request and publish the result to the others.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.