Skip to content

Overview

Bria's Video Editing APIs empowers builders with powerful tools for programmatically transforming video content while maintaining original quality.

Asynchronous Requests and the Status Service

Bria API v2 endpoints process requests asynchronously by default. When you make an asynchronous request, the API immediately returns a request_id and a status_url instead of the final result. Use the Status Service to track the request's progress until it reaches a completed state.

See the full guide at Status Service Documentation for complete details and usage examples.

Download OpenAPI description
Languages
Servers

https://engine.prod.bria-api.com/v2/video/edit/

Operations

Request

Initiates an asynchronous resolution upscaling job for a video. Upscales up to 8K output!

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
  • Frame Rate
  • Color Bit Depth
  • Audio if present
  • Transparency if present and supported by the selected output preset

Limits:

  • Max input duration: 30 seconds
  • Max output resolution: 7680x4320 (8K). If the selected desired_increase would exceed this limit the server returns 422 Unprocessable Entity.

Encoding:

  • Bitrate is adjusted automatically to match the target resolution to preserve quality.
Headers
api_tokenstringrequired
Bodyapplication/jsonrequired
videostringrequired

Publicly accessible URL of the input video

desired_increaseinteger

Integer scale factor for upscaling

Default 2
Enum24
output_container_and_codecstring

Output container and codec preset

Default "mp4_h264"
Enum"mp4_h264""mp4_h265""webm_vp9""mov_h265""mov_proresks""mkv_h264""mkv_h265""mkv_vp9""gif"
curl -i -X POST \
  https://engine.prod.bria-api.com/v2/video/edit/increase_resolution \
  -H 'Content-Type: application/json' \
  -H 'api_token: string' \
  -d '{
    "video": "example",
    "desired_increase": 2,
    "output_container_and_codec": "mp4_h265"
  }'

Responses

Accepted

Bodyapplication/json
request_idstringrequired
status_urlstringrequired
Response
application/json
{ "request_id": "string", "status_url": "string" }

Request

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: 30 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
Headers
api_tokenstringrequired
Bodyapplication/jsonrequired
videostringrequired

Publicly accessible URL of the input video. Input resolution supported up to 16000x16000 (16K)

background_colorstring

Predefined string only - one of the enum values below. Hex values are not supported

Default "Transparent"
Enum"Transparent""Black""White""Gray""Red""Green""Blue""Yellow""Cyan""Magenta"
output_container_and_codecstring

Output container and codec preset

Default "webm_vp9"
Enum"mp4_h264""mp4_h265""webm_vp9""mov_h265""mov_proresks""mkv_h264""mkv_h265""mkv_vp9""gif"
curl -i -X POST \
  https://engine.prod.bria-api.com/v2/video/edit/remove_background \
  -H 'Content-Type: application/json' \
  -H 'api_token: string' \
  -d '{
    "video": "example"
  }'

Responses

Accepted

Bodyapplication/json
request_idstringrequired
status_urlstringrequired
Response
application/json
{ "request_id": "string", "status_url": "string" }