📸 Bulk Image Watermarker API

Fast, scalable API for batch watermarking images

Quick Start

All endpoints require an API key in the X-API-Key header.

# Test your API key
curl -H "X-API-Key: test_api_key_123" http://localhost:3001/status

Authentication

GET/health
Health check (no auth required)
curl http://localhost:3001/health
GET/status
Check API status (requires API key)
curl -H "X-API-Key: your_key" http://localhost:3001/status

Single Image Watermarking

POST/api/v1/watermark
Watermark a single image (multipart/form-data)
curl -X POST -H "X-API-Key: your_key" \
  -F "image=@image.jpg" -F "watermark=@watermark.png" \
  -F "position=bottom-right" -F "opacity=50" -F "scale=25" \
  http://localhost:3001/api/v1/watermark

Batch Processing

POST/api/v1/watermark/batch
Watermark multiple images (returns ZIP)
curl -X POST -H "X-API-Key: your_key" \
  -F "images[]=@image1.jpg" -F "images[]=@image2.jpg" \
  -F "watermark=@watermark.png" \
  http://localhost:3001/api/v1/watermark/batch

Usage Tracking

GET/api/v1/usage
Get usage statistics
curl -H "X-API-Key: your_key" http://localhost:3001/api/v1/usage
GET/api/v1/usage/credits
Check remaining credits
curl -H "X-API-Key: your_key" http://localhost:3001/api/v1/usage/credits

Payments

GET/api/v1/payments/plans
Get payment plans
curl -H "X-API-Key: your_key" http://localhost:3001/api/v1/payments/plans
POST/api/v1/payments/checkout
Create Stripe checkout session
curl -X POST -H "X-API-Key: your_key" \
  -H "Content-Type: application/json" \
  -d '{"credits": 1000, "successUrl": "https://example.com/success", "cancelUrl": "https://example.com/cancel"}' \
  http://localhost:3001/api/v1/payments/checkout

Test Users

# Free tier (50 credits)
X-API-Key: test_api_key_123

# Paid tier (1000 credits)
X-API-Key: paid_api_key_456