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.
Drop an image here
Or paste one, or choose a file. PNG, JPEG or WebP, up to 10 MB.
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
httporhttpsimage URL. Nomodeland no prompt. Creates animage.remove_backgroundtask and returns201with ataskId. - $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
pngorwebp. 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 apat_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_….pngremoveBackgroundAsync 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.