Remove background

Keep the subject.Lose the rest.

Drop an image and get a transparent PNG back in seconds. No model to pick and no prompt to write. Mynth chooses the model and keeps it current.

Free for 5 images a day, no account needed. Sign in to remove backgrounds without a limit, at $0.02 an image from your balance.

The call

One image in, one cutout out

What this page runs is one API call, and it is the same call for you.

POST /image/remove-background
One public http or https image URL. No model and no prompt. Creates an image.remove_background task and returns 201 with a taskId.
$0.02
Per image. Reserved when the task is created and charged when it succeeds. A failed task costs nothing. Fifty cutouts to the dollar.
output.format
png or webp. Both keep the transparency. Leave it out and you get the provider's format.
Results
One image with its size and format. It stays on the Mynth CDN for seven days, or goes straight to your own storage with a destination.
Waiting
Poll the task, or listen for task.image.remove_background.completed. The create response carries a pat_ token, so a browser can poll the one task without your key. This page does exactly that.

Mynth

One API for AI media

Remove background is one tool among the rest, on the same key, balance and tasks.

Every model
Image and video generation, edits, rating, alt text and review, behind one key and one balance. Browse the models.
One payload
The same request shape whichever model runs it, so switching is one string. How it works.
Pay per result
No plan and no seats. A balance you top up, and a price for every call. See pricing.

SDK

From TypeScript

Pass a URL or a file. A file is uploaded first, and the call waits for the cutout.

TypeScript

import Mynth from "@mynthio/sdk";
import { openAsBlob } from "node:fs";

const mynth = new Mynth(); // reads MYNTH_API_KEY

const cutout = await mynth.image.removeBackground({
  file: await openAsBlob("./product.jpg"), // or url: "https://…"
  output: { format: "png" },
});

cutout.image.url; // https://cdn.mynth.io/images/img_….png

removeBackgroundAsync returns the task instead, to poll yourself or hand to a browser. See the TypeScript SDK.

API

Or over plain HTTP

Create the task, then read the result once its status leaves pending.

REST

curl https://api.mynth.io/image/remove-background \
  -H "Authorization: Bearer $MYNTH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://cdn.example.com/product.jpg","output":{"format":"png"}}'

# { "data": { "taskId": "tsk_…", "estimatedCost": "0.02",
#             "access": { "publicAccessToken": "pat_…" } } }

curl https://api.mynth.io/tasks/tsk_…/result \
  -H "Authorization: Bearer $MYNTH_API_KEY"

Remove background has every field, and Poll for results the waiting loop.