Suwayomi/Suwayomi-converter

5

stars

16

commits

TypeScript

primary language

Apr 22, 2026

updated

README

Suwayomi-converter

an image converter designed to work with Suwayomi-server's server.downloadConversions and server.serveConversions settings

it is built using sharp and allows all of the default build conversions and resizing

Example:

to convert all images to webp with preset=drawing, effort=6, resize to a max width of 1080 and max height of 16383 (the webp maximum), and using the defaults for all other options

server.downloadConversions = {
    "default"={
        target="http://localhost:5678/?out=webp&format=(\"preset\":\"drawing\",\"effort\":6,\"quality\":90)&resize=(\"width\":1080,\"height\":16383,\"withoutEnlargement\":true,\"fit\":\"inside\")"
    }
}

you can use the compress searchParam to have it only return if the new file is smaller than the original (this is slower as it has to wait for the conversion to be done before it can return the image)

server.downloadConversions = {
    "default"={
        target="http://localhost:5678/?out=webp&compress&format=(\"preset\":\"drawing\",\"effort\":6,\"quality\":90)"
    }
}

Devs:

To install dependencies:

bun install

To run:

bun run index.ts

This project was created using bun init in bun v1.3.0. Bun is a fast all-in-one JavaScript runtime.

Contributors

Robonau

13 commits

fmbarina

3 commits

Suwayomi/Suwayomi-converter

5

stars

16

commits

TypeScript

primary language

Apr 22, 2026

updated

README

Suwayomi-converter

an image converter designed to work with Suwayomi-server's server.downloadConversions and server.serveConversions settings

it is built using sharp and allows all of the default build conversions and resizing

Example:

to convert all images to webp with preset=drawing, effort=6, resize to a max width of 1080 and max height of 16383 (the webp maximum), and using the defaults for all other options

server.downloadConversions = {
    "default"={
        target="http://localhost:5678/?out=webp&format=(\"preset\":\"drawing\",\"effort\":6,\"quality\":90)&resize=(\"width\":1080,\"height\":16383,\"withoutEnlargement\":true,\"fit\":\"inside\")"
    }
}

you can use the compress searchParam to have it only return if the new file is smaller than the original (this is slower as it has to wait for the conversion to be done before it can return the image)

server.downloadConversions = {
    "default"={
        target="http://localhost:5678/?out=webp&compress&format=(\"preset\":\"drawing\",\"effort\":6,\"quality\":90)"
    }
}

Devs:

To install dependencies:

bun install

To run:

bun run index.ts

This project was created using bun init in bun v1.3.0. Bun is a fast all-in-one JavaScript runtime.

Contributors

Robonau

13 commits

fmbarina

3 commits

Languages

TypeScript

83.0%

Dockerfile

17.0%