Bria Video Eraser Prompt
Playground
Try it on WavespeedAI!Bria Video Eraser is an AI video inpainting model that removes unwanted objects, people, logos, and text from footage using natural-language prompts. It tracks targets across frames and reconstructs clean, temporally consistent backgrounds for edit-ready results. Ready-to-use REST API, best performance, no cold starts, affordable pricing.
Features
Bria Video Eraser (Prompt-Based)
Bria Video Eraser is a prompt-driven video editing model that removes unwanted objects from videos using simple text instructions. Describe what to erase (people, objects, or specific elements), and the model performs clean removal with context-aware background reconstruction—ideal for fast cleanup without frame-by-frame work.
Why it stands out
- Prompt-based object removal with minimal setup (just video + prompt).
- Clean inpainting to reconstruct the background and preserve scene continuity.
- copy_audio toggle to keep or remove the original audio in the output.
- Transparent, duration-based pricing with a clear minimum charge and 10-minute cap.
Capabilities
- Prompt-based object detection and removal across frames
- Background reconstruction (inpainting) after removal
- Short-form and long-form clip support (billed up to 600s)
- Optional original audio preservation via copy_audio
Parameters
| Parameter | Description |
|---|---|
| prompt* | Text description of what to remove (e.g., “cup”, “person on the right”, “red backpack”). Keep it short and specific. |
| video* | Input video file or public URL. |
| copy_audio | Whether to keep the original audio in the output video (true = preserve, false = remove). |
How to use
-
Upload the video (or paste a public URL).
-
Write a clear prompt naming the target object (examples: “cup”, “woman in the background”, “logo on the wall”).
-
Choose copy_audio:
- true to preserve the original audio track
- false to output a silent video (useful if you’ll replace audio in post)
-
Run the model, preview the result, and refine the prompt if needed.
Pricing
Billing rules (plain English):
- Minimum charge: $0.07 for any clip up to 5 seconds
- After 5 seconds: billed by duration in 5-second units at $0.07 per 5s
- Billing cap: durations over 600 seconds (10 minutes) are billed as 600 seconds
Effective rate:
- Standard rate: $0.014 per second
Reference prices (USD):
| Duration | Total Price |
|---|---|
| 5 s | $0.07 |
| 10 s | $0.14 |
| 20 s | $0.28 |
| 60 s | $0.84 |
| 600 s | $8.40 |
Notes
- Best results come from stable footage with clear object boundaries and minimal motion blur.
- Prompts work best when they are simple and unambiguous (“cup”, “person”, “backpack”).
- If removal looks imperfect, try making the prompt more specific (“white cup in her hands”, “person on the left”).
- Overlapping objects and heavy blur may require multiple passes or tighter prompts.
Related Models
- bria/remove-background — Fast, clean background removal for images, ideal for ecommerce product photos and design cutouts.
Authentication
For authentication details, please refer to the Authentication Guide.
API Endpoints
Submit Task & Query Result
# Submit the task
curl --location --request POST "https://api.wavespeed.ai/api/v3/bria/video-eraser/prompt" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"copy_audio": true
}'
# Get the result
curl --location --request GET "https://api.wavespeed.ai/api/v3/predictions/${requestId}/result" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}"
Parameters
Task Submission Parameters
Request Parameters
| Parameter | Type | Required | Default | Range | Description |
|---|---|---|---|---|---|
| prompt | string | Yes | - | Describe the object or element you want to remove from the video (e.g., 'women', 'car', 'person on the right') | |
| video | string | Yes | - | The input video to erase objects from. Provide a URL to a publicly accessible video file. | |
| copy_audio | boolean | No | true | - | Whether to keep the original audio in the output video (true = preserve audio, false = remove audio) |
Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., “success”) |
| data.id | string | Unique identifier for the prediction, Task Id |
| data.model | string | Model ID used for the prediction |
| data.outputs | array | Array of URLs to the generated content (empty when status is not completed) |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to retrieve the prediction result |
| data.has_nsfw_contents | array | Array of boolean values indicating NSFW detection for each output |
| data.status | string | Status of the task: created, processing, completed, or failed |
| data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |
Result Request Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| id | string | Yes | - | Task ID |
Result Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., “success”) |
| data | object | The prediction data object containing all details |
| data.id | string | Unique identifier for the prediction, the ID of the prediction to get |
| data.model | string | Model ID used for the prediction |
| data.outputs | string | Array of URLs to the generated content (empty when status is not completed). |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to retrieve the prediction result |
| data.status | string | Status of the task: created, processing, completed, or failed |
| data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |