The playground

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.

Playground demo key · api.reefapi.com
post/file-convert/v1/image_optimize1 credit

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.

Working example
Parameters

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.

request preview
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.