iii

> iii worker

discover and install workers for your iii project

>worker

image-resize

v0.1.2

III engine image resize worker

  • macOS: arm64 · x64
  • Linux: arm64 · armv7 · x64
  • Windows: arm64 · x64 · x86

install

$ iii worker add image-resize

configuration

iii-config.yaml
- name: image-resize
  config:
    height: 200
    quality:
      jpeg: 85
      webp: 80
    strategy: scale-to-fit
    width: 200
README.md

image-resize

A high-performance image resizing worker built for production workloads.

Installation

iii worker add image-resize

Configuration

Add the worker to your pipeline configuration:

- name: image-resize
  config:
    height: 200
    quality:
      jpeg: 85
      webp: 80
    strategy: scale-to-fit
    width: 200

Options

Option Type Default Description
width number 200 Target width in pixels
height number 200 Target height in pixels
strategy string scale-to-fit Resize strategy: scale-to-fit, crop, fill, contain
quality.jpeg number 85 JPEG output quality (1-100)
quality.webp number 80 WebP output quality (1-100)

Strategies

  • scale-to-fit — Resize to fit within the given dimensions, preserving aspect ratio
  • crop — Crop to exact dimensions from center
  • fill — Fill the area, stretching if necessary
  • contain — Contain within dimensions, adding padding if needed

Usage

import { pipeline } from '@iii/core';

const result = await pipeline.run('image-resize', {
  input: buffer,
  params: { width: 400, height: 300, strategy: 'crop' }
});

Performance

Benchmarks on a standard worker instance (2 vCPU, 512MB):

Format Avg Latency Throughput
JPEG 12ms ~83 ops/s
WebP 18ms ~55 ops/s
PNG 24ms ~41 ops/s

License

Apache 2-0