A fast image manipulation API that can modify images on the fly.
Example: https://images.techulus.cloud/v1/resize/w/240?url=https://push.techulus.com/images/logo.png
GET /v1/resize/w/<max-width>?url=<image-url>
resize image `<max-width>` pixels wide, without changing the aspect ratio
GET /v1/resize/h/<max-height>?url=<image-url>
resize image to `<max-height>` pixels tall, without changing the aspect ratio
GET /v1/crop/<x>/<y>/<width>/<height>?url=<image-url>
crop image to `<width>`x`<height>` pixels, starting from position (`<x>`, `<y>`)
GET /v1/convert/<format>?url=<image-url>
convert image to `<format>` format
format: png, jpeg, webp
GET /v1/flip/<orientation>?url=<image-url>
flip image to `<orientation>` orientation
orientation: horizontal, vertical
GET /v1/grayscale?url=<image-url>
convert image to grayscale
GET /v1/invert?url=<image-url>
invert image
GET /v1/brighten/<value>?url=<image-url>
brighten image by `<value>`, negative values decrease the brightness and positive values increase it
GET /v1/blur/<sigma>?url=<image-url>
blur image with `<sigma>` sigma (this is a slow endpoint and could potentially timeout)
GET /v1/rotate/<deg>?url=<image-url>
rotate image by `<deg>` degrees, degree can be 90, 180, 270
GET /v1/unsharpen/<sigma>/<threshold>?url=<image-url>
unsharpen image, sigma is the amount to blur the image by, threshold is a control of how much to sharpen
GET /v1/next?url=<image-url>&w=<width>&h=<height>
resize image to `<width>`x`<height>` pixels, without changing the aspect ratio
Run cargo make watch
This project can be deployed using the provided Dockerfile