All Projects → unjs → ipx

unjs / ipx

Licence: MIT license
High performance, secure and easy to use image proxy based on Sharp and libvips.

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to ipx

Sharp
High performance Node.js image processing, the fastest module to resize JPEG, PNG, WebP, AVIF and TIFF images. Uses the libvips library.
Stars: ✭ 21,131 (+2993.85%)
Mutual labels:  resize, webp, libvips, sharp
wrender
Image compression and transformation reverse-proxy for Express apps
Stars: ✭ 14 (-97.95%)
Mutual labels:  cdn, libvips, sharp
Mort
Storage and image processing server written in Go
Stars: ✭ 420 (-38.51%)
Mutual labels:  resize, webp, libvips
Bimg
Go package for fast high-level image processing powered by libvips C library
Stars: ✭ 1,394 (+104.1%)
Mutual labels:  resize, webp, libvips
image-processing-pipeline
An image build orchestrator for the modern web
Stars: ✭ 43 (-93.7%)
Mutual labels:  webp, libvips
imagor
Fast, Docker-ready image processing server in Go and libvips
Stars: ✭ 2,276 (+233.24%)
Mutual labels:  webp, libvips
Govips
A lightning fast image processing and resizing library for Go
Stars: ✭ 442 (-35.29%)
Mutual labels:  webp, libvips
lambda-resize-image
An AWS Lambda Function to resize images automatically with API Gateway and S3 for imagemagick tasks. When an image is called on AWS Api Gateway, this package will resize it and send it to the S3.
Stars: ✭ 56 (-91.8%)
Mutual labels:  cdn, sharp
Libvips
A fast image processing library with low memory needs.
Stars: ✭ 6,094 (+792.24%)
Mutual labels:  webp, libvips
Image Resizer
On-the-fly image resizing using Node.js and libvips. Heroku Ready!
Stars: ✭ 59 (-91.36%)
Mutual labels:  cdn, libvips
downscale
Better image downscale with canvas.
Stars: ✭ 80 (-88.29%)
Mutual labels:  resize, sharp
wa-sticker-formatter
Sticker Creator for WhatsApp
Stars: ✭ 60 (-91.22%)
Mutual labels:  webp, sharp
cloudfront-image-proxy
Make CloudFront resize images "on the fly" via lambda@edge, cache it and persists it in S3.
Stars: ✭ 32 (-95.31%)
Mutual labels:  libvips, sharp
Imaginary
Fast, simple, scalable, Docker-ready HTTP microservice for high-level image processing
Stars: ✭ 4,107 (+501.32%)
Mutual labels:  webp, libvips
multer-sharp
Streaming multer storage engine permit to resize and upload to Google Cloud Storage.
Stars: ✭ 21 (-96.93%)
Mutual labels:  resize, sharp
Docker Nginx Image Proxy
on the fly image cropping with gravity, resize and compression microservice
Stars: ✭ 79 (-88.43%)
Mutual labels:  resize, cdn
Cdn
Content Delivery Network on the top of MongoDb GridFs with on-the-fly image crop/resize
Stars: ✭ 117 (-82.87%)
Mutual labels:  resize, cdn
manael
Manael is a simple HTTP proxy for processing images.
Stars: ✭ 34 (-95.02%)
Mutual labels:  webp
video thumbnail
This plugin generates thumbnail from video file or URL. It returns image in memory or writes into a file. It offers rich options to control the image format, resolution and quality. Supports iOS and Android.
Stars: ✭ 159 (-76.72%)
Mutual labels:  webp
Hermite Resize
Canvas image resize/resample using Hermite filter with JavaScript.
Stars: ✭ 246 (-63.98%)
Mutual labels:  resize

IPX

NPM Vernion NPM Downloads Package Size

High performance, secure and easy to use image proxy based on sharp and libvips.

Usage

Quick Start

You can use ipx command to start server using:

$ npx ipx

The default server directory is the current working directory.

Programatic Usage

You can use IPX as a Connect/Express middleware or directly use ipx api.

import { createIPX, createIPXMiddleware } from "ipx";

const ipx = createIPX(/* options */);
const app = express();
app.use("/image", createIPXMiddleware(ipx));

Examples

The examples assume that a static folder with buffalo.png file is present in the directory where IPX server is running.

Get original image:

http://localhost:3000/_/static/buffalo.png

Change format to webp and keep other things same as source:

http://localhost:3000/f_webp/static/buffalo.png

Keep original format (png) and set width to 200:

http://localhost:3000/w_200/static/buffalo.png

Resize to 200x200px using embed method and change format to webp:

http://localhost:3000/embed,f_webp,s_200x200/static/buffalo.png

Modifiers

Property Docs Example Comments
width / w Docs http://localhost:3000/width_200/buffalo.png
height / h Docs http://localhost:3000/height_200/buffalo.png
resize / s Docs http://localhost:3000/s_200x200/buffalo.png
fit Docs http://localhost:3000/s_200x200,fit_outside/buffalo.png Sets fit option for resize.
position / pos Docs http://localhost:3000/s_200x200,pos_top/buffalo.png Sets position option for resize.
trim Docs http://localhost:3000/trim_100/buffalo.png
format Docs http://localhost:3000/format_webp/buffalo.png Supported format: jpg, jpeg, png, webp, avif, gif, heif
quality / q _ http://localhost:3000/quality_50/buffalo.png Accepted values: 0 to 100
rotate Docs http://localhost:3000/rotate_45/buffalo.png
enlarge _ http://localhost:3000/enlarge,s_2000x2000/buffalo.png Allow the image to be upscaled. By default the returned image will never be larger than the source in any dimension, while preserving the requested aspect ratio.
flip Docs http://localhost:3000/flip/buffalo.png
flop Docs http://localhost:3000/flop/buffalo.png
sharpen Docs http://localhost:3000/sharpen_30/buffalo.png
median Docs http://localhost:3000/median_10/buffalo.png
gamma Docs http://localhost:3000/gamma_3/buffalo.png
negate Docs http://localhost:3000/negate/buffalo.png
normalize Docs http://localhost:3000/normalize/buffalo.png
threshold Docs http://localhost:3000/threshold_10/buffalo.png
tint Docs http://localhost:3000/tint_1098123/buffalo.png
grayscale Docs http://localhost:3000/grayscale/buffalo.png
animated - http://localhost:3000/animated/buffalo.gif Experimental

Config

Config can be customized using IPX_* environment variables.

  • IPX_DIR

    • Default: . (current working directory)
  • IPX_DOMAINS

    • Default: []

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].