https://image-proxy.enad.io
Overview
The Image Proxy API allows you to fetch images from external URLs, process them (resize, crop, format conversion), cache them in R2, and serve the optimized result.Endpoints
Proxy Image Processing
GET/{app_id}
Fetch an image from a source URL, process it, store it, and return the result.
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
app_id | string | Yes | Application/tenant UUID identifier used for namespacing the cached images |
Query Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
src | string | Yes | - | The absolute URL of the source image to fetch |
width | u32 | No | - | Target width in pixels (1-5000) |
height | u32 | No | - | Target height in pixels (1-5000) |
quality | u8 | No | 80 | Image quality (0-100) |
format | string | No | original | Output format: webp, avif, png, jpeg, jpg |
fit | string | No | contain | Resize mode (see Fit Modes below) |
blur | f32 | No | - | Blur intensity (0.0-100.0) |
crop_x | i32 | No | - | Horizontal crop offset in pixels |
crop_y | i32 | No | - | Vertical crop offset in pixels |
fill | string | No | - | Background fill color (hex format: #000000) |
bg_remove | boolean | No | - | Remove background using machine learning |
Fit Modes
contain- Resize to fit within dimensions, maintaining aspect ratiocover- Scale to fill dimensions, cropping excess (centers crop unlesscrop_x/crop_yspecified)scale-down- Only resize if image is larger than target dimensionscrop- Scale and crop to exact dimensionspad- Resize to fit and pad remaining space with transparent backgroundsqueeze- Stretch/squash to exact dimensions, ignoring aspect ratio
Dimension Behavior
- If only
widthis provided: height is calculated to maintain aspect ratio - If only
heightis provided: width is calculated to maintain aspect ratio - If both are provided: behavior depends on
fitmode - If neither is provided: original dimensions are used
Examples
Response
- Content-Type: Varies based on output format (e.g.,
image/jpeg,image/webp) - Status Codes:
200 OK- Success400 Bad Request- Invalid parameters or failed to fetch source image500 Internal Server Error- Processing or storage error
Limits
- Dimensions: Maximum 5000x5000 pixels
- Minimum Dimensions: At least 1 pixel
- Image Quality: 0-100
- Blur Range: 0.0-100.0
- URL: Must be a valid HTTP/HTTPS URL passed in
src