PNGmaker

Integrations

PNG Background Removal in n8n

PNGmaker works naturally with n8n browser automation workflows. Because it runs entirely in the browser with no API keys required, integrating it into an n8n pipeline is straightforward: trigger a browser session, process the image, and capture the output.

How PNGmaker fits into n8n

n8n supports several approaches for browser automation. PNGmaker works best with any node or approach that can run a Playwright or Puppeteer script โ€” either via an "Execute Command" node, a custom Code node with a browser library, or a dedicated browser automation node.

The key insight is that PNGmaker has no REST endpoint to call โ€” it is browser-native by design. This means your n8n workflow needs to drive a real browser session rather than making an HTTP request. The payoff: zero cost, no API key management, and full image privacy.

Recommended workflow structure

  1. 1Trigger node โ€” start on schedule, webhook, or file watch. Pass the image file path or binary data forward.
  2. 2Read Binary File node โ€” if you are working with local files, load them into the workflow as binary data.
  3. 3Execute Command / Code node โ€” run the Playwright script below to process the image in PNGmaker.
  4. 4Write Binary File / Move node โ€” save or route the output transparent PNG to your destination (S3, local folder, email, Slack, etc.).

Playwright script for the automation node

This script uses stable data-testid attributes from PNGmaker's agent-optimized page:

// n8n Execute Command node (runs Playwright script)
// Place this in an "Execute Command" or "Code" node

const { chromium } = require('playwright');

const inputPath = $input.item.binary.data.filePath;
const outputPath = inputPath.replace(/\.\w+$/, '-transparent.png');

const browser = await chromium.launch();
const page = await browser.newPage();

await page.goto('https://pngmaker.com/remove-background/agent');

const input = await page.locator('[data-testid="bg-removal-dropzone"] input[type="file"]');
await input.setInputFiles(inputPath);

await page.waitForSelector('[data-testid="bg-removal-result"]', { timeout: 30000 });

const downloadPromise = page.waitForEvent('download');
await page.click('[data-testid="bg-removal-download"]');
const download = await downloadPromise;
await download.saveAs(outputPath);

await browser.close();
return { outputPath };

Prerequisites

  • Playwright installed on the machine running n8n (npm install playwright + npx playwright install chromium)
  • Network access to pngmaker.com from the n8n host
  • No API keys or accounts needed โ€” PNGmaker is free and requires no signup

Limitations to plan for

Because PNGmaker runs in a browser, each image requires spinning up a browser instance. This adds a few seconds of startup overhead per image and uses more memory than a plain HTTP call. For low-to-medium volume workflows (up to a few hundred images per day), this is not a problem. For high-volume batch jobs, consider running multiple parallel n8n workflow instances.

Processing time depends on image size and the client machine's GPU/CPU. Most standard product images complete in 5โ€“15 seconds.

Try it with PNGmaker

Use the tool flow directly from this guide. The idea is simple: understand the workflow, then get to the result fast.

Related guides