API Overview
A collection of APIs for processing and analyzing images
Available Endpoints
/api/exif/extract
- Extract metadata from images/api/resize
- Resize images by a multiplier factor (0.0-2.0)/api/crop
- Crop images using specified coordinates/api/optimize
- Optimize images with configurable quality and format
Features
- Extract EXIF, IPTC, XMP and other metadata from images
- Resize images by a multiplier factor (from 0.0 to 2.0)
- Crop images using x, y, width, and height coordinates
- Optimize images with configurable quality and output formats
- Support for multiple input methods: file upload, URL, or base64-encoded images
- Structured JSON responses
- CORS enabled for cross-origin requests
- Support for various image formats including JPEG, PNG, TIFF, HEIC, and RAW formats
Quick Examples
Extract EXIF Metadata
// Using fetch API
async function extractMetadata(imageFile) {
const formData = new FormData();
formData.append('file', imageFile);
const response = await fetch('/api/exif/extract', {
method: 'POST',
body: formData
});
return await response.json();
}
Resize an Image
// Using fetch API
async function resizeImage(imageFile, multiplier) {
const formData = new FormData();
formData.append('file', imageFile);
formData.append('multiplier', multiplier.toString());
const response = await fetch('/api/resize', {
method: 'POST',
body: formData
});
return await response.json();
}
Crop an Image
// Using fetch API
async function cropImage(imageFile, x, y, width, height) {
const formData = new FormData();
formData.append('file', imageFile);
formData.append('x', x.toString());
formData.append('y', y.toString());
formData.append('width', width.toString());
formData.append('height', height.toString());
const response = await fetch('/api/crop', {
method: 'POST',
body: formData
});
return await response.json();
}
Optimize an Image
// Using fetch API
async function optimizeImage(imageFile, quality = 80, format = 'webp') {
const formData = new FormData();
formData.append('file', imageFile);
formData.append('quality', quality.toString());
formData.append('format', format);
const response = await fetch('/api/optimize', {
method: 'POST',
body: formData
});
return await response.json();
}