About
The Bria AI skill provides commercial-grade image generation and editing via API, including text-to-image creation, background removal, and natural language photo editing. It handles authentication through OAuth device flow and supports over 20 endpoints for tasks like inpainting, upscaling, and product photography. Use this skill when you need royalty-free, commercially safe image manipulation within your Claude Code workflows.
Quick Install
Claude Code
Recommendednpx skills add Bria-AI/bria-skill -a claude-code/plugin add https://github.com/Bria-AI/bria-skillgit clone https://github.com/Bria-AI/bria-skill.git ~/.claude/skills/bria-aiCopy and paste this command in Claude Code to install this skill
Documentation
Bria — AI Image Generation, Editing & Background Removal
Commercially safe, royalty-free image generation and editing through 20+ API endpoints.
For additional endpoint details, see the Bria API reference for agents.
When to Use This Skill
- Generate images — "create an image of...", "make me a banner", "generate a hero image", "I need a product photo"
- Edit images — "change the background", "make it look like winter", "add a vase to the table", "remove the person"
- Remove/replace backgrounds — "make the background transparent", "cut out the product", "replace with a studio background"
- Product photography — "create a lifestyle shot", "place this product in a kitchen scene", "e-commerce packshot"
- Enhance/transform — "upscale this image", "make it higher resolution", "restyle as oil painting", "change the lighting"
Setup — Authentication
Step 1: Check for existing credentials
if [ -f ~/.bria/credentials ]; then
BRIA_ACCESS_TOKEN=$(grep '^access_token=' "$HOME/.bria/credentials" | cut -d= -f2-)
BRIA_API_KEY=$(grep '^api_token=' "$HOME/.bria/credentials" | cut -d= -f2-)
fi
if [ -z "$BRIA_ACCESS_TOKEN" ]; then
echo "NO_CREDENTIALS"
elif [ -n "$BRIA_API_KEY" ]; then
echo "READY"
else
echo "CREDENTIALS_FOUND"
fi
READY→ skip to making API callsCREDENTIALS_FOUND→ skip to Step 3NO_CREDENTIALS→ proceed to Step 2
Step 2: Authenticate via device flow
Source the auth helper and run bria_auth:
source ~/.agents/skills/bria-ai/references/code-examples/bria_auth.sh
bria_auth
bria_auth will print SIGN_IN_URL=... and USER_CODE=.... Show the user exactly this — nothing more:
Connect your Bria account: Click here to sign in Your code is {USER_CODE} — it's already filled in.
Then wait; bria_auth polls automatically and prints AUTHENTICATED when done.
If it prints an error, the code expired — run bria_auth again.
Do not proceed with any API call until authentication is confirmed.
Step 3: Verify billing status and resolve API key
source ~/.agents/skills/bria-ai/references/code-examples/bria_auth.sh
bria_introspect
Interpret output:
BILLING_ERROR: ...— relay the message to the user verbatim and stop. Do not make any API calls.TOKEN_EXPIRED— tell the user their session expired and restart from Step 2.READY—BRIA_API_KEYis now cached in~/.bria/credentials. Proceed.
Decision Tree — Which Endpoint to Use
Transparent PNG / cutout / remove background?
→ /v2/image/edit/remove_background
Generate image from scratch (text → image)?
→ /v2/image/generate
Edit existing image with text instruction?
→ /v2/image/edit (use --key images)
Change / replace / blur background?
→ /v2/image/edit/replace_background (prompt: "blur" or describe new bg)
Place product in a lifestyle scene?
→ /v1/product/lifestyle_shot_by_text
Upscale / increase resolution?
→ /v2/image/edit/increase_resolution (scale: 2 or 4)
Anything else (restyle, relight, reseason, restore, colorize, sketch, blend, outpaint)?
→ See references/capabilities.md for the full endpoint list
How to Call Any Endpoint
source ~/.agents/skills/bria-ai/references/code-examples/bria_client.sh
# Generate (no image input)
RESULT=$(bria_call /v2/image/generate "" '"prompt": "your description", "aspect_ratio": "16:9", "sync": true')
# Remove background
RESULT=$(bria_call /v2/image/edit/remove_background "/path/to/local/image.png")
# Replace background
RESULT=$(bria_call /v2/image/edit/replace_background "https://example.com/img.jpg" '"prompt": "sunset beach"')
# Edit image (uses images array — pass --key images)
RESULT=$(bria_call /v2/image/edit "/path/to/image.png" --key images '"instruction": "make it look warmer"')
# Upscale
RESULT=$(bria_call /v2/image/edit/increase_resolution "https://example.com/img.jpg" '"scale": 4')
# Lifestyle shot
RESULT=$(bria_call /v1/product/lifestyle_shot_by_text "/path/to/product.png" '"scene_description": "modern kitchen countertop"')
echo "$RESULT"
Calling convention: bria_call <endpoint> <image_or_empty> [--key <json_key>] [extra JSON fields...]
- Pass a URL, local file path, or
""for endpoints without image input - Use
--key imageswhen the endpoint expects animagesarray instead ofimage - Returns the result image URL on success, or prints an error to stderr
Generation options: Aspect ratios 1:1, 16:9, 4:3, 9:16, 3:4. Resolution 1MP (default) or 4MP (more detail, +30s). Pass "sync": true for single images.
Advanced: For precise control over generation, use the vgl skill for structured VGL JSON prompts.
Common Failures
bria_callreturns empty / no URL →BRIA_API_KEYwas not set. Run Step 3 (bria_introspect) to cache it.- Async job times out → Some endpoints take 60–90s. If
bria_callreports a timeout, retry once; the job may have been queued. - ERROR 401 → API key is stale. Delete
~/.bria/credentialsand re-authenticate from Step 2. BILLING_ERROR→ Relay message to user verbatim, do not retry API calls.- Local file not found → Pass the absolute path;
bria_client.shhandles base64 encoding automatically. /v2/image/editreturns wrong result → Confirm--key imagesflag is present; this endpoint requires the images array format.
Resources
- Capabilities & Prompt Recipes — Full endpoint table, use-case recipes, and prompt engineering tips
- API Endpoints Reference — Complete parameter documentation for all 20+ endpoints
- Shell Client (bria_client.sh) —
bria_callhelper: auth, base64, JSON, polling - Auth Helper (bria_auth.sh) —
bria_authandbria_introspectfunctions - Full API docs for agents (llms.txt) — Agent-ready Bria API reference
Related Skills
- vgl — Structured VGL JSON prompts for precise, deterministic control over FIBO image generation
- image-utils — Classic image manipulation (resize, crop, composite, watermarks) for post-processing
GitHub Repository
Frequently asked questions
What is the bria-ai skill?
bria-ai is a Claude Skill by Bria-AI. Skills package instructions and resources that Claude loads on demand, so Claude can perform bria-ai-related tasks without extra prompting.
How do I install bria-ai?
Use the install commands on this page: add bria-ai to Claude Code as a plugin, or clone its repository into your skills directory, then restart Claude so it picks up the skill.
What category does bria-ai belong to?
bria-ai is in the Meta category.
Is bria-ai free to use?
Yes. bria-ai is listed on AIMCP and free to install.
Related Skills
This skill provides a production-tested setup for Content Collections, a TypeScript-first tool that transforms Markdown/MDX files into type-safe data collections with Zod validation. Use it when building blogs, documentation sites, or content-heavy Vite + React applications to ensure type safety and automatic content validation. It covers everything from Vite plugin configuration and MDX compilation to deployment optimization and schema validation.
This skill enables developers to build applications with the Polymarket prediction markets platform, including API integration for trading and market data. It also provides real-time data streaming via WebSocket to monitor live trades and market activity. Use it for implementing trading strategies or creating tools that process live market updates.
This skill helps developers create OpenCode plugins that hook into 25+ event types like commands, files, and LSP operations. It provides the plugin structure, event API specifications, and implementation patterns for JavaScript/TypeScript modules. Use it when you need to intercept, monitor, or extend the OpenCode AI assistant's lifecycle with custom event-driven logic.
SGLang is a high-performance LLM serving framework that specializes in fast, structured generation for JSON, regex, and agentic workflows using its RadixAttention prefix caching. It delivers significantly faster inference, especially for tasks with repeated prefixes, making it ideal for complex, structured outputs and multi-turn conversations. Choose SGLang over alternatives like vLLM when you need constrained decoding or are building applications with extensive prefix sharing.
