One endpoint for image delivery.
CtrlIn is a domain-authenticated image proxy for resizing, converting, optimizing, and delivering remote images. Register and verify your website domain first, then call the proxy from that approved site.
Build the image URL.
Pass the original image URL through the required url query parameter, then add any transformation options you need.
GET /ctrlin
The dedicated proxy endpoint accepts a source image URL and image-processing query parameters.
| Parameter | Required | Description |
|---|---|---|
| url | Yes | Remote source image URL to fetch and transform. |
| w | No | Output width in pixels. |
| h | No | Output height in pixels. |
Image transformation options.
All options are supplied in the query string.
Common requests.
Copy these patterns and replace the source image URL.
Resize
WebP + quality
Crop
High DPR
No enlargement
Metadata
Image or metadata.
Normal requests return the transformed image. The server also uses ETag validation and exposes cache status.
| Response | Meaning |
|---|---|
| Content-Type | Matches the selected image output format. |
| X-Cache: HIT | Result was served from the in-memory cache. |
| X-Cache: MISS | Source was fetched and transformed before caching. |
| ETag | Identifier for the processed representation. |
| 304 | Returned when If-None-Match matches the current ETag. |
| output=json | Returns image metadata as JSON. |
Handling failures.
Invalid or unsafe requests are rejected. Source fetch or processing failures return an error unless a fallback URL is supplied.
400 {"error":"<validation or access error>"}
502 {"error":"<source fetch or processing error>"}
302 Location: <default fallback URL>
Designed for controlled image delivery.
- Requests are restricted to approved domains.
- Private, loopback, metadata, and other unsafe source destinations are blocked.
- Free domains have a shared limit of 10 hits per minute.
- Paid domains can use their configured higher rate limit.
- Processed images are cached in memory for repeat delivery.
- The image pipeline limits input pixels to approximately 16k × 16k.
- Width and height are limited to 10,000 pixels.