Developer API
The HILIA API exposes covert watermarking for automation — mark every image in your publishing pipeline, or scan incoming images for your marks. It's a paid API keyed separately from the web tool.
Authentication
Create and manage keys at hilia.tyo.com.au/keys (sign-in required). Send the key on every request, either way:
Authorization: Bearer <your-api-key>
or
X-Api-Key: <your-api-key>
Keys can carry a monthly quota; the keys page shows usage as calls used / quota.
A revoked or unknown key gets 401; a key over quota gets 429.
Endpoints
All endpoints are POST under https://hilia.tyo.com.au/api/v1/ and accept
multipart/form-data.
| Endpoint | Purpose | Fields |
|---|---|---|
/api/v1/wm/embed | Embed a text ID | image, key, text (≤32 bytes), strength (optional) |
/api/v1/wm/extract | Recover the text ID | image, key |
/api/v1/wm/detect | Check for a mark, with confidence | image, key |
The key field here is your watermark key (the secret the mark is locked to) —
distinct from the API key that authenticates the call.
Example
curl -X POST https://hilia.tyo.com.au/api/v1/wm/embed \
-H "Authorization: Bearer $HILIA_API_KEY" \
-F "[email protected]" \
-F "key=$WATERMARK_KEY" \
-F "text=order-8841" \
-o product-shot-marked.jpg
Then, later, confirm an image carries your mark:
curl -X POST https://hilia.tyo.com.au/api/v1/wm/detect \
-H "Authorization: Bearer $HILIA_API_KEY" \
-F "[email protected]" \
-F "key=$WATERMARK_KEY"
Responses
- Embed returns the marked image bytes (same content type as the input).
- Extract and Detect return JSON — the embedded text, or presence plus a confidence score.
- Errors:
401invalid key ·429quota exceeded ·4xxfrom the service for bad inputs (unsupported format, oversized upload).
Semantics of the operations — strength, survivability, Embed vs Detect — are the same as in the web tool: see Covert watermarking.
