⚠️ This project is unmaintained. I wouldn't recommend using it either.
Some of the algorithms are missing and results are often not great.
I instead recommend you check out my other package:
https://github.com/makidoll/transparent-background-npm
Rembg lets you easily remove backgrounds from images using the U2-Net AI model
This is a loose port of the original Rembg for Python, big thanks to @danielgatis
It uses sharp for input and output so you can easily integrate it
The masking algorithm isn't fully complete yet, but the results are pretty good already!
yarn add sharp rembg-node
npm install sharp rembg-node
import { Rembg } from "rembg-node";
import sharp from "sharp";
// const { Rembg } = require("rembg-node");
// const sharp = require("sharp");
(async () => {
const input = sharp("test-input.jpg");
// optional arguments
const rembg = new Rembg({
logging: true,
});
const output = await rembg.remove(input);
await output.webp().toFile("test-output.webp");
// optionally you can use .trim() too!
await output.trim().webp().toFile("test-output-trimmed.webp");
})();