# Video API Reference

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

The Video API is organized into two transport paradigms:

- **REST API (Async)** — Standard HTTP request/response. You submit a job, receive a `request_id` and `status_url`, and poll the [Status Service](https://docs.bria.ai/status) until the job completes. Use this for editing, masking, and most batch-style workflows.
- **Streaming API (WebSocket)** — Persistent bidirectional connection for low-latency, frame-by-frame processing. Use this when you need real-time output (e.g., live video feeds, interactive previews).

**Asynchronous Requests and the Status Service**  
Bria API v2 REST 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](https://docs.bria.ai/status) for complete details and usage examples.



## Servers

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

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

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

## Download OpenAPI description

 - [Video API Reference](https://docs.bria.ai/_bundle/video-editing.yaml)

## Editing Endpoints

 - [POST /erase](https://docs.bria.ai/video-editing/editing-endpoints/erase-object.md): [**Try out this capability in Bria's sandbox**](https://platform.bria.ai/video-editing/eraser-video) **Description** Initiates an asynchronous object erasure job. Removes objects defined by the mask i
 - [POST /increase_resolution](https://docs.bria.ai/video-editing/editing-endpoints/increase-resolution.md): [**Try out this capability in Bria's sandbox**](https://platform.bria.ai/video-editing/video-increase-resolution) **Description** Initiates an asynchronous resolution upscaling job for a video. **Upsc
 - [POST /remove_background](https://docs.bria.ai/video-editing/editing-endpoints/remove-background.md): [**Try out this capability in Bria's sandbox**](https://platform.bria.ai/video-editing/video-remove-background) **Description** Initiates an asynchronous background removal job for a video. > **Need r
 - [POST /replace_background](https://docs.bria.ai/video-editing/editing-endpoints/replace-background.md): [**Try out this capability in Bria's sandbox**](https://platform.bria.ai/video-editing/video-replace-background) **Description** an asynchronous job that detects the video background and composites a
 - [POST /green_screen](https://docs.bria.ai/video-editing/editing-endpoints/green-screen.md): [**Try out this capability in Bria's sandbox**](https://platform.bria.ai/video-editing/video-green-screen) **Description** Initiates an asynchronous job that detects the video background and replaces
## Masking Endpoints

 - [POST /mask_by_prompt](https://docs.bria.ai/video-editing/masking-endpoints/mask-by-prompt.md): Generates a segmentation mask video based on a text prompt. Response behavior: - Returns HTTP 202 with `request_id` and `status_url` - The final result (via Status Service) will contain a `mask_url`.
 - [POST /mask_by_key_points](https://docs.bria.ai/video-editing/masking-endpoints/mask-by-key-points.md): Generates a segmentation mask video based on coordinate key points. Response behavior: - Returns HTTP 202 with `request_id` and `status_url` - The final result (via Status Service) will contain a `mas
 - [POST /foreground_mask](https://docs.bria.ai/video-editing/masking-endpoints/foreground-mask.md): Initiates an asynchronous foreground mask generation 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
