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.
Resize with fit=contain (aspect kept, fits inside box) / cover (fills+crops) / stretch. No upscaling unless upscale=true. 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.
Target width px (give width and/or height). (1–20000)
Target height px. (1–20000)
Resize strategy.
Allow enlarging beyond the source size.
Optional output format (default: keep source).
Encode quality 1-100 (jpg/webp/avif). (1–100)
curl -X POST https://api.reefapi.com/file-convert/v1/image_resize \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"file_b64":"iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAH0lEQVR42mN4l+VFFcQwatCoQaMGjRo0atCoQQNvEAB6hKyuf+L5NQAAAABJRU5ErkJggg==","width":"64"}'Hit Send to run this endpoint live.