Bria Generate Background
Playground
Try it on WavespeedAI!Bria Background Generation enables efficient background swapping in images via text prompt or reference image, delivering realistic, polished results. Trained exclusively on licensed data for safe and risk-free commercial use.
Features
Bria Background Generation
Bria Background Generation replaces or generates realistic backgrounds from a text prompt or a reference image while preserving the foreground subject. It’s trained exclusively on licensed data for safe, low-risk commercial use across ads, e-commerce, social, portraits, and product photos.
✨ Highlights
- Dual input: drive backgrounds by prompt or match style/composition with a reference image.
- Subject preservation: clean edges and minimal color bleed around people and products.
- Style range: photorealistic, illustration, anime—swap backgrounds without touching the subject.
- Production-ready: predictable results that slot into real design pipelines.
- Licensed training data: built for compliant commercial deployment.
🧩 Parameters
- 
image* (required) Foreground/subject image (URL or upload). Missing image will fail. 
- 
prompt* (required) Background description only (scene, lighting, style, materials, mood). Example: “Epic anime city at night, neon signs, volumetric fog, blue-purple rim light.” 
🚀 How to Use
- Provide image (required) — a clear, unobstructed subject works best.
- Write prompt (required) — describe the background only: environment, lighting, style.
- Click Run (e.g., $0.04) and download the generated image.
- Keep the same image and tweak the prompt to iterate styles while preserving composition.
💰 Pricing
- Per job $0.04
🧠 Prompting Tips (background-focused)
- Separate roles: keep the subject in the image; keep the background in the prompt.
- Lead with light: phrases like golden hour, studio softbox, neon backlight, volumetric fog quickly lift realism.
- Style anchors: add photorealistic, cinematic, anime, watercolor, or minimalist to control look.
- Materials & space: e.g., concrete rooftop, wet asphalt, marble lobby, skylight, depth of field.
- Consistent campaigns: reuse the same image and a prompt template; adjust color/weather for quick variants.
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/generate-background" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
    "enable_sync_mode": false,
    "enable_base64_output": false
}'
# 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 | 
|---|---|---|---|---|---|
| image | string | Yes | - | The URL of the image to erase. | |
| prompt | string | Yes | - | Text description of the new scene or background | |
| enable_sync_mode | boolean | No | false | - | If set to true, the function will wait for the result to be generated and uploaded before returning the response. It allows you to get the result directly in the response. This property is only available through the API. | 
| enable_base64_output | boolean | No | false | - | If enabled, the output will be encoded into a BASE64 string instead of a URL. This property is only available through the API. | 
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, orfailed | 
| 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 |