PNGmaker

For developers & agents

Remove Background API โ€” Free, Browser-Native, No Server Cost

PNGmaker is not a traditional REST API โ€” and that is a deliberate choice with real advantages. Instead of sending your files to a server, PNGmaker runs the AI model directly in the browser. For many developer and agent use cases, this is significantly better than a conventional API approach.

How it works

When you open PNGmaker in a browser, the AI model is downloaded and executed locally โ€” inside the browser sandbox. No image data is sent to any server. The full background removal pipeline runs on the client machine.

  • AI model runs in WebAssembly or WebGL inside the browser tab
  • Images never leave your machine or the agent's runtime
  • Output is a transparent PNG downloaded directly to the client
  • No authentication, no session management, no API versioning

Why this is better for many use cases

FactorPNGmakerRemove.bg API
Cost per image$0.00~$0.10
API key requiredNoYes
Rate limitsNoneYes (plan-based)
Data sent to serverNeverYes
Infrastructure to manageNoneHTTP client, key rotation

For workflows that process images privately, or at unpredictable volumes, the browser-native model removes an entire category of cost and operational complexity.

Integration options

The recommended integration pattern is browser automation via Playwright. The agent-optimized page at /remove-background/agent is designed for clean automation with stable data-testid selectors.

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

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

// Navigate to the agent-optimized tool
await page.goto('https://pngmaker.com/remove-background/agent');

// Upload image via the dropzone
const fileInput = await page.locator('[data-testid="bg-removal-dropzone"] input[type="file"]');
await fileInput.setInputFiles('./your-image.jpg');

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

// Download the result
const downloadPromise = page.waitForEvent('download');
await page.click('[data-testid="bg-removal-download"]');
const download = await downloadPromise;
await download.saveAs('./output-transparent.png');

await browser.close();

See the full agent integration guide at /remove-background/agent.

Limitations

The browser-native approach is not universally suitable. Be aware of the following constraints before building:

  • Requires a browser runtime. You need Chromium, Firefox, or WebKit โ€” a headless browser like Playwright. It does not work from Node.js or Python directly.
  • Not a REST endpoint. There is no HTTP endpoint you can call with a simple fetch. The interface is a web UI.
  • Image must be available on the client. The file needs to exist on the machine running the browser automation โ€” not on a remote server.
  • Sequential processing only. Parallel batch jobs require multiple browser instances running concurrently.

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