calesthio/generative-media-skills/bria-fibo-image
Claude Code and agent skill by calesthio/generative-media-skills
- community
Checking that the SKILL.md file is still in the repository.
Build and operate rights-aware Bria FIBO and FIBO Lite image-generation workflows with structured prompts, reference images, asynchronous status handling, webhooks, cost gates, and safe artifact downloads. Use when a user asks for Bria/FIBO generation, refinement, inspiration, reproducibility, hosted API integration, or a licensed-data image workflow; do not use for FIBO Edit, video, generic image editing, or third-party FIBO gateways.
Install
npx vskill@latest install calesthio/generative-media-skills/bria-fibo-imageSKILL.md
Bria FIBO image generation
Use Bria's first-party hosted v2 API unless the user explicitly asks for local weights. Keep local-weight licensing separate from hosted-API terms. Never route a first-party request through fal.ai, Replicate, or another gateway.
Evidence vocabulary
Use these labels when presenting material facts:
- Documented fact - stated by a cited first-party API schema, model card, paper, price page, or legal document.
- Provider claim - Bria's performance, training-data, safety, rights, compliance, or indemnity representation; do not restate it as independently verified fact.
- Operational heuristic - this skill's conservative recommendation, not a Bria limit or guarantee.
- Unknown - not established in the reviewed public first-party material. Ask Bria or inspect the user's executed agreement before relying on it.
Volatile facts and sources in this skill were checked 2026-07-10. Recheck schemas, pricing, plan limits, model cards, and governing terms before production or procurement decisions.
Start with a decision record
Before writing code or submitting work, capture:
- Intent:
generate,inspirefrom one reference,refinea saved structured prompt, orrecreatefrom structured prompt plus seed. - Delivery: hosted Standard, hosted Lite, or local/on-prem evaluation.
- Inputs: prompt, one reference image, saved
structured_prompt, seed, and rights/consent provenance. - Output: aspect ratio,
pngorjpeg, Standard-only1MPor4MP, quantity, deadline, and acceptance criteria. - Governance: account/plan, permitted use, personal/confidential data classification, geography, retention requirement, and current agreement/DPA.
- Spend: free-quota consumption or expected charge, maximum calls, maximum USD, and the person approving submission.
If rights, consent, or data classification are unclear, keep the work offline and ask. A public image URL is not evidence of permission.
Choose the exact route
Documented fact (v2 OpenAPI): base URL is https://engine.prod.bria-api.com/v2; authentication is the api_token request header. Bria's LLM documentation also asks agent clients to send User-Agent: BriaPlatform/APIdocs/LLMsAgent, although that requirement is not represented in the endpoint OpenAPI. Include it.
| Need | Route | Bridge/model behavior | Important request fields | |
|---|---|---|---|---|
| Highest-fidelity image | POST /image/generate | Bria documents Gemini 2.5 Flash as the VLM bridge, then full FIBO | resolution, negative_prompt, steps_num available | |
| Faster/lower-cost iteration | POST /image/generate/lite | Bria documents its open-source FIBO-VLM bridge and FIBO Lite | no resolution, negative_prompt, or steps_num in current schema | |
| Structured prompt only | POST /structured_prompt/generate | Standard VLM bridge; no image result | no image-output controls | |
| Lite structured prompt only | POST /structured_prompt/generate/lite | Lite VLM bridge; no image result | no image-output controls |
Provider claim: Standard is positioned for maximum interpretation quality; FIBO Lite is positioned for speed and lower cost. The FIBO Lite model card calls it a distilled few-step variant with a quality tradeoff. Benchmark the user's own prompt set before choosing production defaults.
Privacy consequence: Standard documentation says Gemini 2.5 Flash participates in prompt/image-to-JSON translation. The reviewed public pages do not establish the exact hosted data path, Google subprocessors/terms, region, retention, or whether zero-data-retention applies. Do not send sensitive, regulated, personal, or confidential inputs until the executed contract/DPA and architecture answer those questions. Lite's hosted route still sends data to Bria; "local/on-prem" requires a separately licensed deployment.
Current request contract
For the two image-generation routes, provide exactly one of these mutually exclusive combinations:
promptimages(array, at most one item)imagespluspromptstructured_promptstructured_promptplusprompt
For the two structured-prompt routes, current first-party schemas allow prompt, images, images plus prompt, or structured_prompt plus a refinement prompt; they do not allow structured_prompt alone. Enforce the selected route's schema rather than flattening the four endpoints into one contract.
For recreation or refinement, supply the saved seed with the saved structured prompt. structured_prompt is a string containing JSON, not a nested request object. Validate that it parses to a JSON object, but preserve the exact returned string as provenance.
Common documented image-generation fields:
model_version: current enum is onlyFIBO. Send it to avoid silently omitting the field, but note that it does not pin an immutable backend revision.aspect_ratio:1:1,2:3,3:2,3:4,4:3,4:5,5:4,9:16, or16:9.seed: integer; the public OpenAPI gives no min/max. Do not invent a range.sync: defaults tofalse; use asynchronous operation for production.webhook_url: optional HTTPS callback for async work.output_type:pngorjpeg; defaultpng.ip_signal: defaultfalse; settruewhen IP warnings are useful to the workflow.prompt_content_moderation,visual_input_content_moderation,visual_output_content_moderation: current schema defaults totrue. This skill always sendstrueand does not expose a disable switch.
Standard image-only fields:
resolution:1MPor4MP, default1MP. Bria says 4MP adds about 30 seconds; treat latency as a provider estimate.steps_num: integer 35-50, default 50.negative_prompt: optional string.
The current Lite image schema does not accept those three Standard-only fields. The current structured-prompt routes do not accept image-output fields. Reject unknown fields locally instead of hoping the service ignores them.
The OpenAPI accepts an image as a public URL or raw base64 without a data:image/...;base64, prefix and lists JPEG/JPG/PNG/WEBP. It documents no FIBO-specific byte, pixel, URL-fetch, animation, metadata, or decompression limits. A client-side cap is an operational heuristic, not a provider limit.
Compose controllable inputs
For initial text generation, make the prompt an auditable creative specification:
For typography, put exact visible characters in quotes and repeat them in acceptance criteria. Generated text still needs human proofreading.
For a reference image:
- confirm the user owns or is licensed to submit it, including privacy/publicity permission for people;
- use one image only; strip unnecessary EXIF/GPS when policy permits, while preserving an untouched source separately;
- say which attributes may transfer (palette, lighting, broad composition) and which must not (identity, logo, distinctive protected character, watermark);
- do not describe "inspire" as copyright clearance or guaranteed non-similarity.
For iteration, save the returned structured prompt and seed. Ask for one isolated change, such as "change only the camera angle to a low three-quarter view; preserve subject count, palette, lighting, and layout." Diff the parsed JSON for review, but retain the original byte-for-byte string too. Provider claim: Bria describes structured prompt plus seed as deterministic/exact recreation and isolated refinement. Operational heuristic: treat it as repeatability intent, not bitwise identity, because the hosted route exposes no immutable model revision; measure perceptual/semantic drift in your own regression set.
Approval and cost policy
Preparing prompts, payloads, dry runs, validators, or local test fixtures is allowed. Any hosted generation or structured-prompt submission consumes quota and may incur fees.
Before a live request, require all four:
SEND_BRIA_REQUEST=1APPROVE_BRIA_PAID_CALL=YES(also required for free-trial quota)- a numeric
BRIA_MAX_COST_USDat least as large as the dated per-call estimate BRIA_APPROVED_REQUEST_SHA256copied from the reviewed dry run, binding approval to the exact route, payload/reference bytes, output-host allowlist, controlled output directory, cost, ceiling, and client job key
Also state route, call count, estimated maximum, and whether a retry could create a second billable job. Do not perform speculative variants. Do not treat a failed client connection as proof that Bria created no job.
Dated price-page fact (2026-07-10): Development lists Fibo at $0.03/image, Fibo Lite at $0.02/image, and Fibo Structured Prompt at $0.02/call; Business and Enterprise are custom. The page also advertises 100 free generations. Taxes, credits, negotiated rates, failed-job billing, 4MP treatment, and structured-prompt Lite pricing are not fully resolved by the public schema/page; the account console and executed agreement control.
The example blocks a live 4MP Standard call or Lite structured-prompt call until BRIA_ESTIMATED_CALL_USD is set from the live account/contract. This operator-supplied estimate then must fit under BRIA_MAX_COST_USD; it is not presented as a public Bria price.
There is a public rate-limit conflict: the API overview lists Free Trial 10, Starter 60, and Pro/Enterprise 1000 requests/minute per endpoint, while the price comparison shows 10, 60, and 150 actions/minute plus custom enterprise throughput. Do not hard-code either as entitlement. Read response headers if present, obey 429, and confirm the account's live limits.
Complete hosted example: dry-run first
This single-file Python 3.11+ client uses only the standard library for API calls and Pillow for local image validation (python -m pip install Pillow). It supports all four first-party routes, prompt/reference/refine inputs, asynchronous polling, strict URL policies, bounded reads, atomic writes, and a provenance manifest. It never sends by default.
Copy it to bria_fibo.py:
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/providers/image-generation/bria-fibo-image/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/calesthio/generative-media-skills/bria-fibo-image)