# Remove Background

Try out this capability in Bria's sandbox


Description
Initiates an asynchronous background removal job for a video.


Response behavior:

- Returns HTTP 202 with request_id and status_url

- Check job status by polling status_url or by calling the Status Service with the request_id until a terminal status is returned


Supported input containers:

- .mp4, .mov, .webm, .avi, .gif


Supported input codecs:

- H.264, H.265 (HEVC), VP9, AV1, PhotoJPEG


Input attributes preserved in output:

- Aspect Ratio and resolution

- Frame Rate

- Audio if present


Limits:

- Max input duration: 60 seconds

- Resolutions: Input resolution up to 16000x16000 (16K). Inputs larger than this return 413 Payload Too Large. Output resolution matches the input resolution.


Background and transparency control:

- background_color must be one of the predefined string values listed below. Hex values are not supported. Default is Transparent.

- If background_color is Transparent, the selected output preset must support alpha. Otherwise the server responds with 422 Unprocessable Entity.


Output transparency support by preset:

- Alpha supported: webm_vp9, mov_proresks, mkv_vp9, mkv_raw, gif, mov_h265 when encoded as HEVC with Alpha

- Alpha not supported: mp4_h264, mp4_h265, mkv_h264, mkv_h265, avi_h264

Endpoint: POST /remove_background

## Header parameters:

  - `api_token` (string, required)

## Request fields (application/json):

  - `video` (string, required)
    Publicly accessible URL of the input video. Input resolution supported up to 16000x16000 (16K)

  - `background_color` (string)
    Predefined string only - one of the enum values below. Hex values are not supported
    Enum: "Transparent", "Black", "White", "Gray", "Red", "Green", "Blue", "Yellow", "Cyan", "Magenta", "Orange"

  - `output_container_and_codec` (string)
    Output container and codec preset
    Enum: "mp4_h264", "mp4_h265", "webm_vp9", "mov_h265", "mov_proresks", "mkv_h264", "mkv_h265", "mkv_vp9", "gif"

  - `preserve_audio` (boolean)

## Response 202 fields (application/json):

  - `request_id` (string, required)

  - `status_url` (string, required)

## Response 400 fields (application/json):

  - `error` (object, required)

  - `error.code` (integer, required)
    Example: 123

  - `error.message` (string, required)

  - `error.details` (string, required)

  - `request_id` (string, required)

## Response 403 fields (application/json):

  - `error` (object, required)

  - `error.code` (integer, required)
    Example: 123

  - `error.message` (string, required)

  - `error.details` (string, required)

  - `request_id` (string, required)

## Response 405 fields (application/json):

  - `error` (object, required)

  - `error.code` (integer, required)
    Example: 123

  - `error.message` (string, required)

  - `error.details` (string, required)

  - `request_id` (string, required)

## Response 413 fields (application/json):

  - `error` (object, required)

  - `error.code` (integer, required)
    Example: 123

  - `error.message` (string, required)

  - `error.details` (string, required)

  - `request_id` (string, required)

## Response 415 fields (application/json):

  - `error` (object, required)

  - `error.code` (integer, required)
    Example: 123

  - `error.message` (string, required)

  - `error.details` (string, required)

  - `request_id` (string, required)

## Response 422 fields (application/json):

  - `error` (object, required)

  - `error.code` (integer, required)
    Example: 123

  - `error.message` (string, required)

  - `error.details` (string, required)

  - `request_id` (string, required)

## Response 429 fields (application/json):

  - `error` (object, required)

  - `error.code` (integer, required)
    Example: 123

  - `error.message` (string, required)

  - `error.details` (string, required)

  - `request_id` (string, required)

## Response 500 fields (application/json):

  - `error` (object, required)

  - `error.code` (integer, required)
    Example: 123

  - `error.message` (string, required)

  - `error.details` (string, required)

  - `request_id` (string, required)


