API Documentation

WaterShield API Reference

Integrate invisible watermarking into your applications

Authentication

All API requests require authentication via an API key or session cookie. Include your API key in the request header:

Authorization: Bearer wsk_your_api_key_here

API keys are available on Business and Enterprise plans. Free and Creator users can use the web dashboard or session-based authentication.

Embed Watermark

Hide invisible watermark text inside an image.

POST/api/v1/embed
Embed a watermark into an image file

Request

Content-Type: multipart/form-data

{
  "file":           <binary>,   // Image file (PNG, JPG, WebP, BMP)
  "watermarkText":  "string",   // Text to hide in the image
  "passwordImg":    1,          // Image encryption seed (integer)
  "passwordWm":     1           // Watermark encryption seed (integer)
}

Response

{
  "id":           "uuid",
  "wm_shape":     42,           // Key needed for extraction
  "download_url": "https://...", // Presigned download URL
  "expires_at":   "2024-01-02T00:00:00Z"  // URL expiry (null = permanent)
}

Example (cURL)

curl -X POST https://watershield.ink/api/v1/embed \
  -H "Authorization: Bearer wsk_your_api_key" \
  -F "file=@photo.png" \
  -F "watermarkText=Copyright 2024" \
  -F "passwordImg=1" \
  -F "passwordWm=1"

Extract Watermark

Reveal the hidden watermark from a previously embedded image.

POST/api/v1/extract
Extract a watermark from an image file

Request

Content-Type: multipart/form-data

{
  "file":        <binary>,  // Image file with embedded watermark
  "wmShape":     42,        // WM Shape key from embedding
  "passwordImg": 1,         // Image encryption seed
  "passwordWm":  1          // Watermark encryption seed
}

Response

{
  "watermark_content": "Copyright 2024"
}

Example (cURL)

curl -X POST https://watershield.ink/api/v1/extract \
  -H "Authorization: Bearer wsk_your_api_key" \
  -F "file=@watermarked_photo.png" \
  -F "wmShape=42" \
  -F "passwordImg=1" \
  -F "passwordWm=1"

Rate Limits

API rate limits depend on your subscription tier.

TierMonthly ImagesMax File SizeAPI Calls/DayBatch Limit
Free55MB----
Creator10025MB--10
Business50050MB10050
Enterprise2,000100MBUnlimited500

Error Codes

401Unauthorized - Invalid or missing API key
403Forbidden - Feature not available on your plan
429Too Many Requests - Monthly image limit reached
500Internal Server Error - Processing failed

Ready to get started?

Create a free account and start protecting your images.