Add professional timestamps and watermarks to your images
High-performance image processing with Sharp
Modern watermark with auto text wrapping
No storage - all processing in memory
Auto-adjust to any image size
Processing your image...
RESTful API for adding professional watermarks to images. All processing is done in-memory with no file storage.
/upload
Upload an image file and add watermark
Request (multipart/form-data):
{
"image": File, // Image file (required)
"address": String, // Custom address (optional)
"time_created": ISO8601 DateTime, // Custom timestamp (optional)
"format": "binary|json" // Response format (optional, default: binary)
}
cURL Example:
curl -X POST http://localhost:3000/upload \ -F "[email protected]" \ -F "address=Jl. Sudirman No. 123, Jakarta" \ -F "time_created=2024-01-15T14:30:00+07:00" \ -o watermarked.jpg
/upload-url
Download image from URL and add watermark
Request (application/json):
{
"url": "https://example.com/image.jpg", // Image URL (required)
"address": "Custom address", // Custom address (optional)
"time_created": "2024-01-15T14:30:00Z", // Custom timestamp (optional, ISO 8601)
"format": "binary" // Response format (optional)
}
cURL Example:
curl -X POST http://localhost:3000/upload-url \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/image.jpg",
"address": "Jl. Sudirman, Jakarta",
"time_created": "2024-01-15T14:30:00+07:00",
"format": "json"
}'
/health
Check API server status
Response:
{
"success": true,
"message": "Service is healthy",
"timestamp": "2025-11-11T12:00:00.000Z",
"data": {
"uptime": 12345,
"memory": {...}
}
}
Returns processed image as binary data
Content-Type: image/jpeg Content-Length: 1234567 Content-Disposition: inline; filename="watermarked-image.jpg" X-Original-Size: 987654 X-Processed-Size: 1234567
Returns base64 encoded image in JSON
{
"success": true,
"message": "Image processed successfully",
"timestamp": "2025-11-11T12:00:00.000Z",
"data": {
"image": "data:image/jpeg;base64,/9j/4AAQ...",
"size": 1234567,
"originalSize": 987654
}
}
Built with ❤️ using Node.js, Express, and Sharp