> ## Documentation Index
> Fetch the complete documentation index at: https://askeditor.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Remove Background

> Cut the subject out of a video: the person isolated on a true alpha channel, ready to composite anywhere.

Cut the subject out of a video: the person isolated on a true alpha channel, ready to composite anywhere. SYNCHRONOUS: the call returns the finished cutout (\~40-90s), no polling. The reflex call when an agent needs a background gone.

## See it

**29s** start to finish  ·  **25** credits  ·  **1080p** in and out

> [tab] Output
>
> <video controls muted loop playsinline preload="metadata" width="100%" poster="https://d7qhwxmzzmnbz.cloudfront.net/builtin-skills/remove-background/example-poster-v1.jpg" src="https://d7qhwxmzzmnbz.cloudfront.net/builtin-skills/remove-background/example-v1.mp4" />
>
> The same 14 seconds, with the wall gone. This run asked for `mp4`, which lays the subject on green; ask for `webm` or `mov` and the identical cutout arrives on a true alpha channel instead.

> [tab] Your input video
>
> <video controls muted loop playsinline preload="metadata" width="100%" poster="https://d7qhwxmzzmnbz.cloudfront.net/builtin-skills/remove-background/source-poster-v1.jpg" src="https://d7qhwxmzzmnbz.cloudfront.net/builtin-skills/remove-background/source-v1.mp4" />

> [tab] Side by side
>
> <video controls muted loop playsinline preload="metadata" poster="https://d7qhwxmzzmnbz.cloudfront.net/builtin-skills/remove-background/source-poster-v1.jpg" src="https://d7qhwxmzzmnbz.cloudfront.net/builtin-skills/remove-background/source-v1.mp4" />
>
> Your input video
>
> <video controls muted loop playsinline preload="metadata" poster="https://d7qhwxmzzmnbz.cloudfront.net/builtin-skills/remove-background/example-poster-v1.jpg" src="https://d7qhwxmzzmnbz.cloudfront.net/builtin-skills/remove-background/example-v1.mp4" />
>
> Output

## Material

A video with one clear subject, up to 15 SECONDS. Any orientation; output is capped at 1080p on the long edge and 30fps. Pass an upload handle or a public https url.

## Spec

| Field | Type | Required | Description |
| - | - | - | - |
| `quality` | enum (`best` \| `fast`) | no | 'best' (default) is the quality pick. 'fast' trades a little edge fidelity for speed. |
| `outputFormat` | enum (`webm` \| `mov` \| `mp4`) | no | 'webm' (default) = VP9 with true alpha. 'mov' = ProRes 4444 alpha. 'mp4' = green screen. |

## Pricing & timing

| | |
| - | - |
| **Delivery** | **File** — an mp4 at `outputUrl`, plus an editable canvas |
| Price | 25 credits: [estimate](https://askeditor.com/docs/setting-up/jobs-and-polling.md) is free and authoritative |
| Typical run | \~90s |
| Review gate | No: runs straight through |

## Refusals this template can return

* `NO_SUBJECT`
* `SUBJECT_TOO_SMALL`
* `SUBJECT_LEAVES_FRAME`
* `UNREADABLE`

Refusals are free and typed: see [Refusals](https://askeditor.com/docs/setting-up/refusals.md).

## Run it

> [tab] curl (REST)
>
> SYNCHRONOUS: the call holds open (\~90s) and the response IS the
> result. No job to poll.
>
> ```bash theme={null}
> curl -X POST https://api.askeditor.com/v1/run/remove-background \
>   -H "Authorization: Bearer $ASKEDITOR_API_KEY" \
>   -H "Content-Type: application/json" \
>   --max-time 600 \
>   -d '{ "material": "https://…/clip.mp4", "quality": "best" }'
> ```
>
> `material` is a public https url, or the handle from an
> [upload](https://askeditor.com/docs/setting-up/uploading-material.md).
>
> ```json theme={null}
> { "success": true, "data": { "status": "completed",
>   "processedVideoUrl": "https://…/processed.webm",
>   "canvasId": "…", "editorPath": "/workspace/canvas/editor/…",
>   "credits": 25, "creditsCharged": true, "cached": false } }
> ```
>
> Retrying the identical call returns the same result with
> `"cached": true` and no second charge.

> [tab] Agent (MCP)
>
> Connected via the [MCP connector](https://askeditor.com/docs/mcp/connect.md)? Just ask:
>
> > "Remove the background from \~/Desktop/clip.mp4"
>
> The agent estimates (free), asks your consent, uploads, runs, and hands back
> the cutout plus the editable canvas.

**Editable delivery:** The canvas delivers the cutout as a live alpha layer over a swappable background element.

> [!NOTE]
>
> Verifying alpha: a naive ffprobe reports `pix_fmt=yuv420p` because VP9 alpha travels as a WebM side channel. Check the stream tag `ALPHA_MODE=1`, or decode with `-c:v libvpx-vp9` (the default decoder silently drops the alpha plane).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.