✓ Verified 💻 Development ✓ Enhanced Data

Bria Ai

Controllable image generation and editing with Bria.ai commercially-safe AI models.

Rating
4 (212 reviews)
Downloads
13,851 downloads
Version
1.0.0

Overview

Controllable image generation and editing with Bria.ai commercially-safe AI models.

Key Features

1

Check if the key exists

2

If the key is missing, guide the user

Complete Documentation

View Source →

Bria — Generate, Edit & Remove Background from Images with AI

Generate, edit, and create visual assets using Bria's commercially-safe AI models (Fibo, Fibo-Edit, RMBG-2.0, GenFill, and more). Remove or replace backgrounds, create product lifestyle shots, generate transparent PNGs, batch generate images, and build pipeline workflows. Unlike black-box generators, Bria gives you fine-grained control: edit by text instruction, mask specific regions, add/replace/remove individual objects, change lighting or season independently.

Setup — API Key Check

Before making any Bria API call, check for the API key and help the user set it up if missing:

Step 1: Check if the key exists

bash
echo $BRIA_API_KEY

If the output is not empty, skip to the next section.

Step 2: If the key is missing, guide the user

Tell the user exactly this:

To use image generation, you need a free Bria API key.
> 1. Go to https://platform.bria.ai/console/account/api-keys
2. Sign up or log in
3. Click Create API Key

Wait for the user to provide their API key. Do not proceed until they give you the key.

Do not proceed with any image generation or editing until the API key is confirmed set.


Core Capabilities

NeedCapabilityUse Case
Generate images from textFIBO GenerateHero images, product shots, illustrations, social media images, banners
Edit images by text instructionFIBO-EditChange colors, modify objects, transform scenes
Edit image region with maskGenFill/ErasePrecise inpainting, add/replace specific regions
Add/Replace/Remove objectsText-based editingAdd vase, replace apple with pear, remove table
Remove background (transparent PNG)RMBG-2.0Extract subjects for overlays, logos, cutouts
Replace/blur/erase backgroundBackground opsChange, blur, or remove backgrounds
Expand/outpaint imagesOutpaintingExtend boundaries, change aspect ratios
Upscale image resolutionSuper ResolutionIncrease resolution 2x or 4x
Enhance image qualityEnhancementImprove lighting, colors, details
Restyle imagesRestyleOil painting, anime, cartoon, 3D render
Change lightingRelightGolden hour, spotlight, dramatic lighting
Change seasonReseasonSpring, summer, autumn, winter
Composite/blend imagesImage BlendingApply textures, logos, merge images
Restore old photosRestorationFix old/damaged photos
Colorize imagesColorizationAdd color to B&W, or convert to B&W
Sketch to photoSketch2ImageConvert drawings to realistic photos
Create product lifestyle shotsLifestyle ShotPlace products in scenes for e-commerce
Integrate products into scenesProduct IntegrateEmbed products at exact coordinates

Quick Reference

Generate an Image (FIBO)

bash
curl -X POST "https://engine.prod.bria-api.com/v2/image/generate" \
  -H "api_token: $BRIA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "User-Agent: BriaSkills/1.2.6" \
  -d '{
    "prompt": "your description",
    "aspect_ratio": "16:9",
    "resolution": "1MP",
    "sync": true
  }'

Aspect ratios: 1:1 (square), 16:9 (hero/banner), 4:3 (presentation), 9:16 (mobile/story), 3:4 (portrait)

Resolution: 1MP (default) or 4MP (improved details for photorealism, adds ~30s latency)

Sync mode: Pass "sync": true in the request body for single image generation to get the result directly in the response. For batch/multiple image generation, omit sync (or set false) and use polling instead.

Advanced: For precise, deterministic control over generation, use VGL structured prompts instead of natural language. VGL defines every visual attribute (objects, lighting, composition) as explicit JSON.

Remove Background (RMBG-2.0)

bash
curl -X POST "https://engine.prod.bria-api.com/v2/image/edit/remove_background" \
  -H "api_token: $BRIA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "User-Agent: BriaSkills/1.2.6" \
  -d '{"image": "https://..."}'

Returns PNG with transparency.

Edit Image (FIBO-Edit) - No Mask Required

bash
curl -X POST "https://engine.prod.bria-api.com/v2/image/edit" \
  -H "api_token: $BRIA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "User-Agent: BriaSkills/1.2.6" \
  -d '{
    "images": ["https://..."],
    "instruction": "change the mug to red"
  }'

Edit Image Region with Mask (GenFill)

bash
curl -X POST "https://engine.prod.bria-api.com/v2/image/edit/gen_fill" \
  -H "api_token: $BRIA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "User-Agent: BriaSkills/1.2.6" \
  -d '{
    "image": "https://...",
    "mask": "https://...",
    "prompt": "what to generate in masked area"
  }'

Expand Image (Outpainting)

bash
curl -X POST "https://engine.prod.bria-api.com/v2/image/edit/expand" \
  -H "api_token: $BRIA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "User-Agent: BriaSkills/1.2.6" \
  -d '{
    "image": "base64-or-url",
    "aspect_ratio": "16:9",
    "prompt": "coffee shop background, wooden table"
  }'

Upscale Image

bash
curl -X POST "https://engine.prod.bria-api.com/v2/image/edit/increase_resolution" \
  -H "api_token: $BRIA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "User-Agent: BriaSkills/1.2.6" \
  -d '{"image": "https://...", "scale": 2}'

Create Product Lifestyle Shot

bash
curl -X POST "https://engine.prod.bria-api.com/v1/product/lifestyle_shot_by_text" \
  -H "api_token: $BRIA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "User-Agent: BriaSkills/1.2.6" \
  -d '{
    "image": "https://product-with-transparent-bg.png",
    "prompt": "modern kitchen countertop, natural morning light"
  }'

Integrate Products into Scene

Place one or more products at exact coordinates in a scene. Products are automatically cut out and matched to the scene's lighting and perspective.

bash
curl -X POST "https://engine.prod.bria-api.com/image/edit/product/integrate" \
  -H "api_token: $BRIA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "User-Agent: BriaSkills/1.2.6" \
  -d '{
    "scene": "https://scene-image-url",
    "products": [
      {
        "image": "https://product-image-url",
        "coordinates": {"x": 100, "y": 200, "width": 300, "height": 400}
      }
    ]
  }'


Response Handling

Sync (single image generation)

For single image requests, pass "sync": true in the request body. The response returns the result directly — no polling needed.

Async with polling (batch generation)

For batch or multiple image generation, omit sync (or set "sync": false). The response returns a status URL to poll:

json
{
  "request_id": "uuid",
  "status_url": "https://engine.prod.bria-api.com/v2/status/uuid"
}

Poll the status_url until status: "COMPLETED", then get result.image_url.

python
import requests, time

def get_result(status_url, api_key):
    while True:
        r = requests.get(status_url, headers={"api_token": api_key, "User-Agent": "BriaSkills/1.2.6"})
        data = r.json()
        if data["status"] == "COMPLETED":
            return data["result"]["image_url"]
        if data["status"] == "FAILED":
            raise Exception(data.get("error"))
        time.sleep(2)


Prompt Engineering Tips

  • Style: "professional product photography" vs "casual snapshot", "flat design illustration" vs "3D rendered"
  • Lighting: "soft natural light", "studio lighting", "dramatic shadows"
  • Background: "white studio", "gradient", "blurred office", "transparent"
  • Composition: "centered", "rule of thirds", "negative space on left for text"
  • Quality keywords: "high quality", "professional", "commercial grade", "4K", "sharp focus"
  • Negative prompts: "blurry, low quality, pixelated", "text, watermark, logo"

API Reference

See references/api-endpoints.md for complete endpoint documentation.

Key Endpoints

Image Generation

EndpointPurpose
POST /v2/image/generateGenerate images from text (FIBO)
Edit by Text (No Mask)
EndpointPurpose
POST /v2/image/editEdit image with natural language instruction
POST /v2/image/edit/add_object_by_textAdd objects to image
POST /v2/image/edit/replace_object_by_textReplace objects in image
POST /v2/image/edit/erase_by_textRemove objects by name
Edit with Mask
EndpointPurpose
POST /v2/image/edit/gen_fillInpaint/generate in masked region
POST /v2/image/edit/eraseErase masked region
Background Operations
EndpointPurpose
POST /v2/image/edit/remove_backgroundRemove background (RMBG-2.0)
POST /v2/image/edit/replace_backgroundReplace with AI-generated background
POST /v2/image/edit/blur_backgroundApply blur to background
POST /v2/image/edit/erase_foregroundRemove foreground, fill background
POST /v2/image/edit/crop_foregroundCrop tightly around subject
Image Transformation
EndpointPurpose
POST /v2/image/edit/expandOutpaint to new aspect ratio
POST /v2/image/edit/enhanceEnhance quality and details
POST /v2/image/edit/increase_resolutionUpscale 2x or 4x
POST /v2/image/edit/blendBlend/merge images or textures
POST /v2/image/edit/reseasonChange season/weather
POST /v2/image/edit/restyleTransform artistic style
POST /v2/image/edit/relightModify lighting
Restoration
EndpointPurpose
POST /v2/image/edit/sketch_to_colored_imageConvert sketch to photo
POST /v2/image/edit/restoreRestore old/damaged photos
POST /v2/image/edit/colorizeColorize B&W or convert to B&W
Product Photography
EndpointPurpose
POST /v1/product/lifestyle_shot_by_textCreate product lifestyle shots by text
POST /image/edit/product/integrateIntegrate products into scene at exact coordinates
Utilities
EndpointPurpose
POST /v2/structured_instruction/generateGenerate JSON instruction (no image)
GET /v2/status/{id}Check async request status

Authentication

All requests need api_token header:

text
api_token: YOUR_BRIA_API_KEY
User-Agent: BriaSkills/<version>
Required: Always include the User-Agent: BriaSkills/ header (where is the current skill version from package.json, e.g. BriaSkills/1.2.6) in every API call, including status polling requests.


Additional Resources

Related Skills

  • vgl — Write structured VGL JSON prompts for precise, deterministic control over FIBO image generation
  • image-utils — Classic image manipulation (resize, crop, composite, watermarks) for post-processing

Installation

Terminal bash

openclaw install bria-ai
    
Copied!

💻Code Examples

echo $BRIA_API_KEY

echo-briaapikey.txt
If the output is **not empty**, skip to the next section.

### Step 2: If the key is missing, guide the user

Tell the user exactly this:
> To use image generation, you need a free Bria API key.
>
> 1. Go to https://platform.bria.ai/console/account/api-keys
> 2. Sign up or log in
> 3. Click **Create API Key**

Wait for the user to provide their API key. Do not proceed until they give you the key.

**Do not proceed with any image generation or editing until the API key is confirmed set.**

---

## Core Capabilities

| Need | Capability | Use Case |
|------|------------|----------|
| Generate images from text | FIBO Generate | Hero images, product shots, illustrations, social media images, banners |
| Edit images by text instruction | FIBO-Edit | Change colors, modify objects, transform scenes |
| Edit image region with mask | GenFill/Erase | Precise inpainting, add/replace specific regions |
| Add/Replace/Remove objects | Text-based editing | Add vase, replace apple with pear, remove table |
| Remove background (transparent PNG) | RMBG-2.0 | Extract subjects for overlays, logos, cutouts |
| Replace/blur/erase background | Background ops | Change, blur, or remove backgrounds |
| Expand/outpaint images | Outpainting | Extend boundaries, change aspect ratios |
| Upscale image resolution | Super Resolution | Increase resolution 2x or 4x |
| Enhance image quality | Enhancement | Improve lighting, colors, details |
| Restyle images | Restyle | Oil painting, anime, cartoon, 3D render |
| Change lighting | Relight | Golden hour, spotlight, dramatic lighting |
| Change season | Reseason | Spring, summer, autumn, winter |
| Composite/blend images | Image Blending | Apply textures, logos, merge images |
| Restore old photos | Restoration | Fix old/damaged photos |
| Colorize images | Colorization | Add color to B&W, or convert to B&W |
| Sketch to photo | Sketch2Image | Convert drawings to realistic photos |
| Create product lifestyle shots | Lifestyle Shot | Place products in scenes for e-commerce |
| Integrate products into scenes | Product Integrate | Embed products at exact coordinates |

## Quick Reference

### Generate an Image (FIBO)

}'

-.txt
**Aspect ratios**: `1:1` (square), `16:9` (hero/banner), `4:3` (presentation), `9:16` (mobile/story), `3:4` (portrait)

**Resolution**: `1MP` (default) or `4MP` (improved details for photorealism, adds ~30s latency)

**Sync mode**: Pass `"sync": true` in the request body for single image generation to get the result directly in the response. For batch/multiple image generation, omit `sync` (or set `false`) and use polling instead.

> **Advanced**: For precise, deterministic control over generation, use **[VGL structured prompts](../vgl/SKILL.md)** instead of natural language. VGL defines every visual attribute (objects, lighting, composition) as explicit JSON.

### Remove Background (RMBG-2.0)

-d '{"image": "https://..."}'

--d-image-https.txt
Returns PNG with transparency.

### Edit Image (FIBO-Edit) - No Mask Required

}'

-.txt
### Integrate Products into Scene

Place one or more products at exact coordinates in a scene. Products are automatically cut out and matched to the scene's lighting and perspective.

}'

-.txt
---

## Response Handling

### Sync (single image generation)

For single image requests, pass `"sync": true` in the request body. The response returns the result directly — no polling needed.

### Async with polling (batch generation)

For batch or multiple image generation, omit `sync` (or set `"sync": false`). The response returns a status URL to poll:

time.sleep(2)

-timesleep2.txt
---

## Prompt Engineering Tips

- **Style**: "professional product photography" vs "casual snapshot", "flat design illustration" vs "3D rendered"
- **Lighting**: "soft natural light", "studio lighting", "dramatic shadows"
- **Background**: "white studio", "gradient", "blurred office", "transparent"
- **Composition**: "centered", "rule of thirds", "negative space on left for text"
- **Quality keywords**: "high quality", "professional", "commercial grade", "4K", "sharp focus"
- **Negative prompts**: "blurry, low quality, pixelated", "text, watermark, logo"

---

## API Reference

See `references/api-endpoints.md` for complete endpoint documentation.

### Key Endpoints

**Image Generation**
| Endpoint | Purpose |
|----------|---------|
| `POST /v2/image/generate` | Generate images from text (FIBO) |

**Edit by Text (No Mask)**
| Endpoint | Purpose |
|----------|---------|
| `POST /v2/image/edit` | Edit image with natural language instruction |
| `POST /v2/image/edit/add_object_by_text` | Add objects to image |
| `POST /v2/image/edit/replace_object_by_text` | Replace objects in image |
| `POST /v2/image/edit/erase_by_text` | Remove objects by name |

**Edit with Mask**
| Endpoint | Purpose |
|----------|---------|
| `POST /v2/image/edit/gen_fill` | Inpaint/generate in masked region |
| `POST /v2/image/edit/erase` | Erase masked region |

**Background Operations**
| Endpoint | Purpose |
|----------|---------|
| `POST /v2/image/edit/remove_background` | Remove background (RMBG-2.0) |
| `POST /v2/image/edit/replace_background` | Replace with AI-generated background |
| `POST /v2/image/edit/blur_background` | Apply blur to background |
| `POST /v2/image/edit/erase_foreground` | Remove foreground, fill background |
| `POST /v2/image/edit/crop_foreground` | Crop tightly around subject |

**Image Transformation**
| Endpoint | Purpose |
|----------|---------|
| `POST /v2/image/edit/expand` | Outpaint to new aspect ratio |
| `POST /v2/image/edit/enhance` | Enhance quality and details |
| `POST /v2/image/edit/increase_resolution` | Upscale 2x or 4x |
| `POST /v2/image/edit/blend` | Blend/merge images or textures |
| `POST /v2/image/edit/reseason` | Change season/weather |
| `POST /v2/image/edit/restyle` | Transform artistic style |
| `POST /v2/image/edit/relight` | Modify lighting |

**Restoration**
| Endpoint | Purpose |
|----------|---------|
| `POST /v2/image/edit/sketch_to_colored_image` | Convert sketch to photo |
| `POST /v2/image/edit/restore` | Restore old/damaged photos |
| `POST /v2/image/edit/colorize` | Colorize B&W or convert to B&W |

**Product Photography**
| Endpoint | Purpose |
|----------|---------|
| `POST /v1/product/lifestyle_shot_by_text` | Create product lifestyle shots by text |
| `POST /image/edit/product/integrate` | Integrate products into scene at exact coordinates |

**Utilities**
| Endpoint | Purpose |
|----------|---------|
| `POST /v2/structured_instruction/generate` | Generate JSON instruction (no image) |
| `GET /v2/status/{id}` | Check async request status |

### Authentication

All requests need `api_token` header:
example.sh
curl -X POST "https://engine.prod.bria-api.com/v2/image/generate" \
  -H "api_token: $BRIA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "User-Agent: BriaSkills/1.2.6" \
  -d '{
    "prompt": "your description",
    "aspect_ratio": "16:9",
    "resolution": "1MP",
    "sync": true
  }'
example.sh
curl -X POST "https://engine.prod.bria-api.com/v2/image/edit/remove_background" \
  -H "api_token: $BRIA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "User-Agent: BriaSkills/1.2.6" \
  -d '{"image": "https://..."}'
example.sh
curl -X POST "https://engine.prod.bria-api.com/v2/image/edit" \
  -H "api_token: $BRIA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "User-Agent: BriaSkills/1.2.6" \
  -d '{
    "images": ["https://..."],
    "instruction": "change the mug to red"
  }'
example.sh
curl -X POST "https://engine.prod.bria-api.com/v2/image/edit/gen_fill" \
  -H "api_token: $BRIA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "User-Agent: BriaSkills/1.2.6" \
  -d '{
    "image": "https://...",
    "mask": "https://...",
    "prompt": "what to generate in masked area"
  }'

Tags

#web_and-frontend-development

Quick Info

Category Development
Model Claude 3.5
Complexity One-Click
Author galbria
Last Updated 3/10/2026
🚀
Optimized for
Claude 3.5
🧠

Ready to Install?

Get started with this skill in seconds

openclaw install bria-ai