CopySeal
API Documentation

CopySeal API Reference

Integrate invisible watermarking into your applications

POST/embedAuthentication

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

Example

curl -X POST https://copyseal.online/embed \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@example.png" \
  -F "watermarkText=hello"

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

Loading…

POST/embedEmbed Watermark

Hide invisible watermark text inside an image or PDF. The unified endpoint accepts both formats via Content-Type dispatch.

Request

Content-Type: multipart/form-data

{
  "file":           <binary>,   // Image (PNG/JPG/WebP) or PDF
  "watermarkText":  "string",   // Text to hide
}

Response

{
  "id":               "uuid",
  "file_type":        "image" | "pdf",
  "wm_shape":         42,
  "watermark_content": "hello",
  "download_url":     "/api/download/{id}",
  "expires_at":       "2024-01-02T00:00:00Z"
}

Example (cURL)

curl -X POST https://copyseal.online/embed \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@example.png" \
  -F "watermarkText=hello"

POST /embed dispatches on the uploaded file's Content-Type: image/* runs the image branch (watermarkText required) and application/pdf runs the PDF branch (watermarkText optional, tracer-only). The response shape is always the same — image fields (wm_shape, watermark_content) or PDF fields (key_id, pages_marked, page_count, frame) are populated based on the upload, and the other set is null.

POST/extractExtract Watermark

Reveal the hidden watermark from a previously embedded image.

Request

Content-Type: multipart/form-data

{
  "file":        <binary>,
  "wmShape":     42,
}

Response

{
  "watermark_content": "Copyright 2024"
}

Example (cURL)

curl -X POST https://copyseal.online/extract \
  -H "Authorization: Bearer wsk_your_api_key" \
  -F "file=@watermarked_photo.png" \
  -F "wmShape=42"

POST/extract/pdfExtract PDF Watermark

Extract the per-page key_id from a watermarked PDF. Use the key_id to trace which user/account embedded the file.

Request

curl -X POST https://copyseal.online/extract/pdf \
  -H "Authorization: Bearer wsk_your_api_key" \
  -H "Content-Type: application/pdf" \
  --data-binary "@watermarked_contract.pdf"

Response

{
  "key_id":    "8f3a2b1c4d5e6f70",
  "frame":     0,
  "page_index": 3,
  "plaintext": "optional-payload"
}

Returns 404 if no watermark is found or the key_id doesn't belong to the authenticated user.

Rate Limits

API rate limits depend on your subscription tier.

TierMonthlyFile sizeAPI/dayBatch
Free55MB----
Creator10025MB--10
Business50050MB10050
Enterprise2,000100MBUnlimited500

Error Codes

401UnauthorizedShow details

Unauthorized - Invalid or missing API key

403ForbiddenShow details

Forbidden - Feature not available on your plan

429Too Many RequestsShow details

Too Many Requests - Monthly image limit reached

500Internal Server ErrorShow details

Internal Server Error - Processing failed

Ready to get started?

Create a free account and start protecting your images.