API reference

Detect a watermark

Detect watermark API reference: send an image, read the watermark Etchv finds, and match its watermark ID to your records. Up to 95 MB and 40 MP.

POST/watermarks/images/detect
Upload
95 MB · 40 MP
Output
Detection JSON
CPU cost
1 credit / file

Request

Use a key with watermarks:detect. Send the image file as the multipart file field.

Shell
curl --fail-with-body https://api.etchv.com/watermarks/images/detect \
  -H "X-API-Key: $ETCHV_API_KEY" \
  -F 'file=@watermarked.png'

Response

Returns 200 JSON and an X-Request-ID header. Compare the watermark_id it found with the watermark ID you saved when you embedded the file.

FieldMeaning
watermarkedThe same watermark was found in every frame, page or combined layer image
watermark_idRecovered 64-character hex ID, or null
confidenceHow certain the read was, from 0 to 1, taken from the least certain unit
unitsFor each frame or page (unit): index, watermarked, confidence and watermark_id; indexes start at zero
watermarked
Meaning
The same watermark was found in every frame, page or combined layer image
watermark_id
Meaning
Recovered 64-character hex ID, or null
confidence
Meaning
How certain the read was, from 0 to 1, taken from the least certain unit
units
Meaning
For each frame or page (unit): index, watermarked, confidence and watermark_id; indexes start at zero

Interpret the result

  • Watermark matches: look up the linked record in your system.
  • Watermark in only some units, or different watermarks: check units. The top-level result is watermarked: false with a null watermark_id.
  • No watermark found: the detection still completed and is billed. It does not tell you whether an image is AI-generated.

High confidence does not guarantee the exact watermark is recovered after edits. A match identifies a copy, not who shared it. Detection does not return your original JSON or create an asset-library record.

Recovery from edited or photographed copies

A watermark ID is 256 bits. Etchv compares the watermark it reads with the ones it issued and still keeps on your Organization’s watermarked assets. If one differs by 48 bits or fewer, Etchv returns that issued watermark ID. Only your Organization’s records are compared. Otherwise it returns the watermark it read, which may match no record. Test the edits your workflow produces.

Choose sync or async

ChoiceHow to request it
SynchronousUse the endpoint above; returns detection JSON directly
Background jobAppend /async; returns a 202 receipt. Collect the result
Completion eventAdd webhook_id to an async request. Webhooks
GPUAdd accelerator=gpu; Business/Enterprise, 3× credits when GPU runs. GPU guide
Synchronous
How to request it
Use the endpoint above; returns detection JSON directly
Background job
How to request it
Append /async; returns a 202 receipt. Collect the result
Completion event
How to request it
Add webhook_id to an async request. Webhooks
GPU
How to request it
Add accelerator=gpu; Business/Enterprise, 3× credits when GPU runs. GPU guide

Storage options are for embedding only. Large animations take longer because every frame is checked. A successful image detection still costs one CPU credit for the whole file. Image limits.

View source on GitHub

Your privacy, your choice

We use essential cookies to keep Etchv working. Optional analytics helps us improve the site. Analytics is on by default; you can turn it off in preferences. PostHog loads only if you accept all. Privacy policy

ETCHV

Privacy preferences

Choose what you allow on this browser. Analytics is enabled by default. You can turn it off, and change your choice at any time.

Essential

Always active

Supports secure sign-in, account sessions, site security, and remembering your privacy choice. These are needed for Etchv to work.

Analytics

Helps us understand visits and improve the website using page-view and device statistics, which do not use cookies. PostHog also measures visits and campaigns and may set cookies; it loads only after you save a choice with analytics on. Turning this off stops future analytics events.

We do not load advertising scripts. Meeting calendars load only when you open them. These preferences do not change your account, watermarking requests, or asset storage.

Your choice is remembered for 180 days on this browser. Privacy policy