---
title: "Eraser"
method: POST
path: "/erase"
tags: ["v2 endpoints"]
---

# Eraser

`POST /erase`

[**Try out this capability in Bria's sandbox**](https://platform.bria.ai/image-editing/eraser)

**Description**


The *Eraser Route* enables the removal of elements or specific areas from a given image.


You can define the area to be removed by providing a mask that outlines the region to be erased. There are two main ways recommended to generate these masks:

1. Masks can be created by allowing users to draw directly on the image with a brush, for example. To access the SDK that demonstrates how to implement a brush feature in your interface, please refer to the following <a href="https://github.com/Bria-AI/js-api-sdk/blob/main/manual_brush_ui" target="_blank">link</a>.

2. By using the `/objects/mask_generator` route, which will generate all the possible masks for an image.


**Output Characteristics**

- The modified image is returned at the original resolution, preserving full visual quality without any automatic resizing or downscaling.
- All areas outside the provided mask remain completely unchanged, ensuring pixel-perfect preservation of unedited regions.

## Headers

- `api_token` string, required

## Request body

- object
  - `image` string, required — The source image to be handled by the API. Supported input types: - **Base64-encoded string** - **URL** pointing to an image file that is publicly accessible and available at the time of processing. Accepted formats: **JPEG**, **JPG**, **PNG**, **WEBP**.
  - `mask` string, required — The binary mask image that defines the region where object generation will occur. **Mask Requirements** - The region to generate content must have a pixel value of **255 (white)**. - All other areas must have a pixel value of **0 (black)**. - The mask must have the **same aspect ratio** as the input image. **Supported Input Types** - **Base64-encoded string** – provide the mask data directly in the request. - **URL** – provide a publicly accessible URL to the mask image. Accepted formats: **JPEG**, **JPG**, **PNG**, **WEBP**. Ensure that any provided URL is publicly accessible at the time of the request.
  - `mask_type` 'manual' | 'automatic' — Specifies how the input mask was created. - **`manual` (default)** – Use when the mask was generated by a user, for example, using a brush tool. - **`automatic`** – Use when the mask was generated by an algorithm, such as **SAM** or other automated segmentation methods.
  - `preserve_alpha` boolean — Controls whether the alpha channel values from the input image are retained in the output, if the input includes an alpha channel. - When true: The output image maintains the original transparency of fully and partially transparent pixels. - When false: The output image is fully opaque. - Has no effect if the input image does not include an alpha channel.
  - `sync` boolean — Specifies the response mode. - When `false` (default), the request is processed asynchronously: the API immediately returns a status URL to track progress. - When `true`, the request is processed synchronously: the API hold the connection open until the proccess is complete and then returns the final image URL in the response.
  - `webhook_url` string, uri — Optional URL for receiving the result via webhook when the async job completes. See [Webhooks](https://docs.bria.ai/webhooks).
  - `visual_input_content_moderation` boolean — When enabled, applies content moderation to input visual. Expected behavior: - Processing stops if the image fails moderation. - Returns a 422 error with details about which parameter failed.
  - `visual_output_content_moderation` boolean — When enabled, applies content moderation to result visual. Expected behavior: - If the modified image fails moderation, returns a 422 error.

## Response `200`

Successful operation (Synchronous Success)

- SyncSuccessResponse
  - `result` object, required
    - `image_url` string, required
  - `request_id` string, required

## Other responses

- `202` — Accepted (Asynchronous). You can track the progress and retrieve the final result using the Status Service. For more details, refer to the [Status Service](https://docs.bria.ai/status) section.
- `400` — Bad request.
- `401` — Unauthorized.
- `403` — Forbidden.
- `404` — Not found. Image could not be found at the provided URL.
- `415` — Unsupported media type.
- `422` — Unprocessable Entity
- `429` — Request limit exceeded.
- `460` — Failed to download image.
- `5XX` — **Internal Server Error** – A critical failure occurred in Bria's infrastructure, preventing the Status Service from responding. - This response indicates a service outage or unexpected runtime failure. - Check [Bria's Status Page](https://status.bria.ai) for real-time updates. - Contact [Support](mailto:support@bria.ai).

---

[API](https://skmtc.dev/bria-ai/apis/image-editing-api-reference.md) · [All operations](https://skmtc.dev/bria-ai/apis/image-editing-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/bria-ai/image-editing-api-reference/revisions/b69d3f84c7f7/schema)
