Detect Watermark
Check whether a clip carries the watermark Speechify seals into audio it
generates. Upload the audio as audio; nothing about it is stored, and
no voice is read or written.
Read the answer carefully in one direction. A watermarked: true is
positive evidence that the audio came from Speechify synthesis. A
watermarked: false is NOT proof that it did not: only models
redeployed since the watermark shipped mark their output, the detector
needs at least three seconds of clear speech to judge, and re-encoding
or changing the speed of a clip degrades the mark. Treat a negative as
the absence of evidence rather than as evidence of absence.
Checks are rate-limited well below the synthesis budget: this is a forensic question, not a data-plane call.
Authentication
Enter your API key with the Bearer prefix, e.g. ‘Bearer sk_…’.
Headers
Request
The clip to check, at most 25MB. Give the detector at least three seconds of clear speech; below that its confidence is not worth acting on, and below half a second it always reports zero.
Response headers
Unique identifier for this request, present on every response (2xx and
non-2xx alike). If the caller sends a Speechify-Request-Id request
header the server echoes it back (sanitized and length-capped) so one
logical request can be traced end-to-end; otherwise the server generates
a fresh value. Log it on every response and quote it in support requests
- it is the stable handle that ties your observation to Speechify’s
server-side logs, and it matches the
request_idfield in the error envelope.
The legacy alias X-Request-ID carries the same value and is still
accepted on requests, until 2027-07-24. Prefer the un-prefixed name
(RFC 6648).
Request-rate budget: the maximum number of requests in the current
window (the bucket capacity). The IETF-draft un-prefixed name; the
legacy alias X-RateLimit-Limit carries the same value. Rides every
response.
Request-rate budget: requests left in the current window. Legacy
alias: X-RateLimit-Remaining.
Request-rate budget: integer delta-seconds until the window fully
refills (same unit as Retry-After). Legacy alias:
X-RateLimit-Reset.
Response
Whether the clip carries the watermark, i.e. whether confidence
cleared the service’s configured bar.
The detector’s score for this clip, in [0, 1]. Comparable only between checks made against the same detector version.