Try any of 919 endpoints — live.
Pick an endpoint, load a working example, tweak the params, and send — no signup to try. Results render the way the data deserves; raw JSON, headers & code are one tab away.
Smart perceptual compression (TinyPNG-style): binary-searches the lowest quality whose decoded result stays visually equal to the source, per a per-channel error budget (effort=low/balanced/strong). Optionally convert to webp/avif while optimizing. Never returns a bigger file. Output delivery: each produced file ≤10MB comes inline as base64 (files[].file_b64); 10-50MB comes as a one-time download token (files[].download_path, 30min TTL); >50MB total is rejected.
The input file as base64 (data-URI prefix tolerated). Max 25MB. Provide file_b64 OR file_url. Multipart upload also works: POST the file as the 'file' form field.
https URL of the input file — fetched server-side through the proxy pool; private/internal/metadata addresses are SSRF-blocked. Max 25MB.
Optional original filename — used only as a hint (e.g. .md detection); the real format is always sniffed from magic bytes.
auto = keep format (exotic sources → webp).
How much visual error to allow.
curl -X POST https://api.reefapi.com/file-convert/v1/image_optimize \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"file_b64":"iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAH0lEQVR42mN4l+VFFcQwatCoQaMGjRo0atCoQQNvEAB6hKyuf+L5NQAAAABJRU5ErkJggg=="}'Hit Send to run this endpoint live.