Error: ReferenceError: Response is not defined

Author: ntpnhanCreated Mar 22, 2024Updated Aug 30, 2024

I'm using @imgly/background-removal-node package for an example. But I get the error: ReferenceError: Response is not defined Following is my example

// Importing necessary modules
const { removeBackground } = require('@imgly/background-removal-node');
const fs = require('fs');

// Function to remove background from an image
async function removeImageBackground(imgSource) {
    try {
        // Removing background
        const blob = await removeBackground(imgSource);

        // Converting Blob to buffer
        const buffer = Buffer.from(await blob.arrayBuffer());

        // Generating data URL
        const dataURL = `data:image/png;base64,${buffer.toString("base64")}`;
        
        // Returning the data URL
        return dataURL;
    } catch (error) {
        // Handling errors
        throw new Error('Error removing background: ' + error);
    }
}

// Example usage
async function main() {
    try {
        // Path to the input image
        const imgSource = 'main_title.png';
        // Removing background from the input image
        const resultDataURL = await removeImageBackground(imgSource);

        // Writing the result to a file (optional)
        fs.writeFileSync('output.png', resultDataURL.split(';base64,').pop(), { encoding: 'base64' });

        // Logging success message
        console.log('Background removed successfully.');
    } catch (error) {
        // Logging error message
        console.error('Error:', error.message);
    }
}

// Calling the main function
main();

How to resolve this? Please

Source: imgly/background-removal-js