🧪 Skills

Image generation and editing

Generate, edit, and transform images with commercially-safe AI models. Create images from text, edit by natural language instruction, remove backgrounds (tra...

v1.2.7
❤️ 2
⬇️ 1.0k
👁 2
Share

Description


name: bria-ai description: Generate, edit, and transform images with commercially-safe AI models. Create images from text, edit by natural language instruction, remove backgrounds (transparent PNG), replace backgrounds, add/replace/remove objects, inpaint, outpaint, upscale (2x/4x), enhance quality, restyle (oil painting, anime, 3D), relight, reseason, restore old photos, colorize, sketch to photo, and product lifestyle shots. Use for websites, apps, presentations needing hero images, banners, product photos, product placement in scenes, icons, illustrations, or backgrounds. Also for e-commerce photography, batch generation, and pipelines. Triggers are image generation, generate/create image, edit photo, remove background, transparent PNG, replace background, product shot, lifestyle scenes, upscale, style transfer, photo restoration, colorize, sketch to image, outpaint, inpaint, cut out subject, integrate products into scene. license: MIT metadata: author: Bria AI version: "1.2.6" openclaw: requires: env: - BRIA_API_KEY bins: - curl primaryEnv: BRIA_API_KEY

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 (without printing the key)

if [ -z "$BRIA_API_KEY" ]; then
  echo "BRIA_API_KEY is not set"
else
  echo "BRIA_API_KEY is set"
fi

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)

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)

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

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)

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)

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

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

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.

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:

{
  "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.

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

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:

api_token: YOUR_BRIA_API_KEY
User-Agent: BriaSkills/<version>

Required: Always include the User-Agent: BriaSkills/<version> header (where <version> 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

Reviews (0)

Sign in to write a review.

No reviews yet. Be the first to review!

Comments (0)

Sign in to join the discussion.

No comments yet. Be the first to share your thoughts!

Compatible Platforms

Pricing

Free

Related Configs