upscayl-node
v1.4.6
Published
Upscale node package based on upscayl
Downloads
664
Maintainers
Readme
Upscayl Node
Upscayl node prepares the UPSCAYL CORE to run in NodeJS.
const { join } = require("path");
const { upscaler } = require("upscayl-node");
const run = async () => {
await upscaler.init();
const outputImagePath = await upscaler.upscaleImage(
join(__dirname, "./image-test.png"),
join(__dirname, "./image-test-result.png")
);
};
run();
Upscayl definition:
| Free and Open Source AI Image Upscaler
Upscayl lets you enlarge and enhance low-resolution images using advanced AI algorithms. Enlarge images without losing quality. It's almost like magic! 🎩🪄
Original repo: https://github.com/upscayl/upscayl
Installation
This is a Node.js module available through the npm registry.
Before installing, download and install Node.js.
If this is a brand new project, make sure to create a package.json
first with
the npm init
command.
Installation is done using the
npm install
command:
$ npm install upscayl-node
API reference
Methods
upscaler.init(): Promise<"void">
This method allows you to load the default AI models.
upscaler.getModels(): model[]
This method allows you to obtain the path of the models. It is useful if you want to change the default model that upscales the image.
upscaler.addModel(model: Model): Model
This method allows you to add a path where you have a custom model to the list of models.
upscaler.upscaleImage(imagePath, imageOutputPathd, options?): Promise<"string">
This method allows you to upscale an image with various custom options.
const { join } = require("path");
const { upscaler } = require("upscayl-node");
const run = async () => {
// You have to init it.
// Note: the init method lets you to load AI models
await upscaler.init();
// Once we have the upscaler with models loaded we can run it
const outputImagePath = upscaler.upscaleImage(
join(__dirname, "./image-test.png"), // Absolute path from image to be upscaled
join(__dirname, "./image-test-result.png") // Absolute path from image upscaled
);
};
run();
imagePath
Absolute image path of the image to be upscaled. Only png, jpg or webp images are accepted.
imageOutputPath
Absolute image path of the resulting image. You can choose a different image extension, which will change the image format of the original if you wish. Only png, jpg or webp are allowed.
options
| Property | Description | Type | Default | -------- | ----------- | ---- | ------- | model | Absolute path of the model used to upscale the image. | string | upscaler.getModels()[0] | scale | Specifies the scale of the resulting image relative to the original image. | number | 2 | compression | Set the final image compression. | number | 0 | tileSize | Define the final tile size of the image. | number | 0