Automating Batch Image Optimization with REST APIs, Rate Limits & Webhooks
Automate programmatic image conversion in CI/CD and backend pipelines. Master authentication, rate limit headers (X-RateLimit-*), HMAC-SHA256 webhooks, and SSIM quality thresholds.
Zero-Upload Client Architecture Research
A Headless Image Optimization API enables server-to-server automated media conversion for CMS platforms, CI/CD deployment pipelines, and backend microservices. By sending multipart HTTP requests to endpoints like /v1/convert and /v1/compress, developers automate WebP generation, SVG vector tracing, and EXIF sanitization while inspecting standard rate-limit headers (X-RateLimit-Remaining) and receiving asynchronous HMAC-SHA256 signed Webhooks upon batch completion.
1. Authentication with Developer Sandbox Keys
All programmatic REST API requests require a Bearer token header provisioned from the Developer Hub:
curl -X POST https://api.trysqueeze.online/v1/convert \ -H "Authorization: Bearer sqz_live_YOUR_API_KEY" \ -F "file=@photo.png" \ -F "format=webp" \ -F "quality=85" \ -F "targetSsim=0.95" \ -F "stripExif=true"
2. Managing Rate Limits & Automated Backoff
To ensure service stability across free sandbox keys (100 requests per rolling hour), Squeeze returns standard rate-limit headers with every response:
| HTTP Header | Example | Purpose |
|---|---|---|
| X-RateLimit-Limit | 100 | Max requests permitted in the rolling 1-hour window. |
| X-RateLimit-Remaining | 84 | Remaining calls before receiving HTTP 429 Too Many Requests. |
| X-RateLimit-Reset | 1741872000 | Unix epoch timestamp when the hourly quota refreshes. |
| X-Squeeze-SSIM | 0.968 | Perceptual structural similarity score of the converted output. |
3. Asynchronous Webhooks & HMAC-SHA256 Signature Verification
For large batches, your backend can register a Webhook URL in the Developer Console. When conversion finishes, Squeeze dispatches an HTTP POST payload signed with your webhook secret:
import crypto from 'node:crypto';
import express from 'express';
const app = express();
app.use(express.json());
app.post('/api/webhooks/squeeze', (req, res) => {
const signature = req.headers['x-squeeze-signature-256'];
const webhookSecret = process.env.SQUEEZE_WEBHOOK_SECRET;
// Verify HMAC-SHA256 signature
const hmac = crypto.createHmac('sha256', webhookSecret)
.update(JSON.stringify(req.body))
.digest('hex');
if (signature !== hmac) {
return res.status(401).send('Invalid webhook signature');
}
const { event, data } = req.body;
console.log(`Received event: ${event}`, data.downloadUrl, `SSIM: ${data.ssimScore}`);
res.status(200).json({ received: true });
});4. Automated SSIM Quality Gates in CI/CD
In automated deployment pipelines, setting a minimum acceptable SSIM threshold prevents image artifacts from slipping into production:
- SSIM ≥ 0.98: Lossless or near-lossless fidelity for hero branding and UI logos.
- SSIM ≥ 0.94: High-efficiency web compression for ecommerce product catalogs.
- SSIM < 0.90: Aggressive compression suitable only for background thumbnails and low-priority previews.
Next Steps for Developers
- Open the Developer Console to generate an instant sandbox key and simulate requests.
- Learn about What is SSIM? Measuring Perceptual Image Quality.
- Review our Developer API Terms of Service & Acceptable Use Guidelines.
Ready to convert or compress images with 100% privacy?
Experience zero server uploads. All WebP, PNG, JPG, SVG, and multi-resolution ICO conversions run entirely inside your browser using sandboxed Web Workers.