FIBO 2.0: Structured Prompts, Licensed Data, Same Shot Twice
Bria's FIBO 2.0 puts generation and editing in one model trained only on licensed data, and it reads scenes as structured JSON. Here's how brand and product teams can use it on each::labs to get the same approved shot twice.

The first image is never the problem. A brand team can get one gorgeous product shot out of almost any modern model on a good afternoon. The trouble starts on Thursday, when legal asks where the training data came from, and on Friday, when the client wants the same shot again with the bottle turned slightly left and nothing else changed. Most image models answer the first question with a shrug and the second with a brand new picture.
FIBO 2.0 is built for exactly those two days. Bria's new 8B model generates and edits images inside one set of weights, it's trained only on licensed data, and it thinks in structured JSON rather than loose prose. Both halves are now live on each::labs: FIBO 2.0 Image Generation and FIBO 2.0 Image Editing. If your work lives in brand guidelines, approval chains and reshoots, this is the release to look at closely.
What FIBO 2.0 Actually Is
Bria describes FIBO 2.0 as the next generation of its FIBO family and, in its own words, the first time "image editing and image generation live in a single unified model." One model handles text-to-image, instruction edits and iterative refinement. The open checkpoints landed on Hugging Face around October 20, 2026: Fibo 2.0 Dev, the full base model, and Fibo 2.0 Edit Turbo, a distilled editing variant that runs edits in 4 steps.
Under the hood, according to Bria's model card, it's an 8B parameter flow-matching model working in the latent space of the FLUX.2 VAE, with prompts encoded by Qwen3-VL-4B-Instruct and processed by a single-stream DiT of 44 blocks. That stack matters less than what it's fed. FIBO 2.0 was trained on long, structured captions written in Bria's Visual GenAI Language, VGL for short, so the model learned to read a scene as a set of named parts instead of a paragraph of adjectives.
The editing side is broad. Bria lists instruction edits that keep untouched content (identity, layout, lighting) intact, masked edits that confine changes to one region, and multi-reference edits that accept up to four images. Bria also claims FIBO 2.0 ranks #1 in image editing and #2 in text-to-image among open-weights models on Artificial Analysis, as of October 20, 2026. That's the company's claim, and a strong one, but you'll learn more from ten minutes with your own product photos.
On licensing, the facts are short. The open weights are released under CC BY-NC 4.0 behind a gated form, and Bria says commercial use of those weights requires an agreement with Bria. The training data story is the more interesting part, so let's start there.

Licensed Data Is a Production Spec, Not a Footnote
Bria's model card is blunt about it: "Like every FIBO model, it is trained exclusively on licensed data," curated from Bria's roughly one billion image dataset. Plenty of creative teams treat provenance as a box someone else ticks. That's a mistake. The question of where a model learned to draw a perfume bottle tends to arrive at the worst possible moment, usually after the campaign has shipped.
For a brand or product team, licensed training data changes who can say yes. A designer can like an image. A legal or procurement reviewer has to be able to defend the tool that made it. When the model's training set is a known, licensed corpus, that conversation gets shorter, and the work stops waiting in a queue for sign off. But you're starting from a model whose origins you can explain in a sentence.
The schema on each::labs adds one more guard that fits this audience well: an ip_signal flag on both endpoints. Turn it on and Bria can return a warning when your prompt or instruction may include IP-sensitive content. It won't replace a review, but it catches the obvious slips (a famous character name pasted into a brief, say) before anyone builds a layout around them. Content moderation toggles for the prompt, the input images and the output are there too, all on by default.

Write the Scene as Data, Not as a Wish
Here's the real argument for FIBO 2.0. Prose prompts are ambiguous by design. "Warm morning light on a ceramic mug" means something slightly different every time a model reads it, which is charming in a mood board and maddening in a product catalogue. VGL breaks a scene into fields so each decision has a place to live and stays there.
Bria's VGL documentation names the parts: a short_description anchor, a background_setting, a style_medium, a lighting object with conditions, direction and shadows, an aesthetics object with composition, mood and color palette, optional photographic_characteristics such as camera angle and lens focal length, an objects array, and a text_render array for typography. Bria says these captions can run past 1,000 words. You don't have to write one by hand: Bria's open bria-vgl tooling expands a short prompt or an edit instruction into the structured form, and for edits it states the change in an edit_instruction field.
On each::labs, the structured path lives on the editing endpoint. FIBO 2.0 Image Editing takes a structured_instruction parameter, a JSON string the schema describes as the way to make "reproducible programmatic edits," used instead of the plain instruction. A trimmed example of the shape, built from VGL's documented fields, looks like this:
{
"short_description": "A matte white ceramic mug on a pale oak table",
"background_setting": "Minimal kitchen counter, soft out-of-focus wall",
"style_medium": "photography",
"lighting": {
"conditions": "soft, warm late-afternoon daylight",
"direction": "from the left",
"shadows": "long, gentle shadows to the right"
},
"aesthetics": {
"composition": "centered, generous negative space above",
"mood_atmosphere": "calm, unhurried",
"color_palette": [[237, 201, 175], [120, 81, 45]]
},
"edit_instruction": "Change the mug glaze to deep forest green; keep everything else identical"
}Treat that as an illustration of the structure, not a template to type from memory. The practical move is to let Bria's tooling generate the full structured instruction once, check it, then store it next to the asset. Serialize it into the structured_instruction string, pair it with a fixed seed, and the same edit becomes something you can run again next month and get back what you approved.
The generation endpoint takes a plain prompt of up to 4,000 characters, and you can still write it with VGL discipline: subject, setting, lighting, composition, palette, in that order, every time.
One Model, Two Doors on each::labs
Bria built one model, and each::labs exposes it through two endpoints with clean, separate request shapes. That split is a feature. Generation and editing ask different things of you, and keeping them apart makes pipelines easier to read.
FIBO 2.0 Image Generation takes a prompt, an aspect ratio from nine presets (1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16 and 16:9), a 1MP resolution, PNG or JPEG output and an optional seed for deterministic runs. You can pass one reference image, or instead pick the photoreal style preset for prompt-only work (the schema says not to combine the two). That's the right door for packshots, lifestyle scenes and campaign concepts. Compare it against the other text-to-image models on each::labs.
FIBO 2.0 Image Editing takes one to four source images, either a natural-language instruction of up to 4,000 characters or a structured instruction, an optional mask, a seed and an optional aspect ratio that otherwise follows the first input image. It belongs in the same toolbox as the other image-to-image models, with the structured path as its distinguishing trick.

Edit Without Breaking What Works
The worst edit is the one that fixes the thing you asked for and quietly changes three things you didn't. Bria's pitch for FIBO 2.0 editing is preservation: the instruction applies, and identity, layout and lighting outside the change are meant to stay put.
Masks make that promise tighter. On each::labs, the mask is a black-and-white image the same size as your source: black areas are preserved, white areas are edited, and it only works with exactly one input image. Paint the label panel white, leave the bottle black, and the edit can't wander into the glass. We covered how mask conventions differ between models in our guide to the best AI models for mask editing, and it's worth a read before you build a masking step into a pipeline.
Multi-reference edits are where the four-image limit earns its keep. Pass a product shot, a texture swatch and a lighting reference, then describe how they combine. Bria's own tooling refers to them in order as image 1, image 2 and so on, so name them that way in your instruction. A clear, plain request beats a clever one:
Place the bottle from image 1 on the marble surface from image 2, lit like image 3. Keep the bottle's label, shape and cap exactly as they are.
And when you want the same change applied across a catalogue, switch from instruction to structured_instruction, fix the seed, and the edit stops being a conversation and becomes a recipe.
FIBO 2.0 vs FIBO 1.5: What Actually Changed
If you've already wired FIBO Generate 1.5 or FIBO Edit 1.5 into a workflow, the good news is boring in the best way. On each::labs, the request schemas for the 1.5 and 2.0 endpoints are the same: same parameters, same aspect ratios, same mask rules, same structured instruction field. Upgrading is a change of model slug, nothing more.
The differences are in the model. Bria says FIBO 2.0 is the first in the family to unify generation and editing in one model, and it claims sharper text rendering, richer textures and more reliable anatomy than previous FIBO releases. Bria also lists new optional photographic looks for text-to-image in the open release (Boring Reality, Kodak Film, Hard Flash, Hazy or Dreamy, and Lens Distortion) and multi-reference editing as new. Those looks belong to the open-weights pipeline; on each::labs, the generation schema exposes the photoreal preset.
Our advice: don't rip anything out. Run your ten hardest approved prompts through both versions with the same seed and compare. The schema parity makes that a one-afternoon test, and you'll see quickly whether the text and texture gains matter for your products.

A Reproducible Workflow for Brand Teams
Reproducibility isn't a model feature. It's a habit the model makes possible. Here's the loop we'd set up for a product team starting with FIBO 2.0 on each::labs.
Start with generation. Write the hero brief as a disciplined prompt (subject, setting, lighting, composition, palette), pick your aspect ratio up front because recomposing later costs you the layout, and set a seed. When a frame is approved, record the prompt, the seed and the aspect ratio with the asset. That trio is your negative of the photograph.
Move to editing for every variation. Colorways, seasonal backdrops, regional label swaps: feed the approved image into the editing endpoint, mask what must change, and keep the structured instruction for each approved variant. Turn on ip_signal for anything that touches names or characters. If the same chain runs every week, wire it into a flow so a new product image goes in one end and the approved set comes out the other; each::labs flows are built for exactly that kind of repeatable chain.
Finally, keep your options open. FIBO 2.0 is one strong editor among several, and our roundup of the best AI image editing models in 2026 covers when a different model might suit a specific job. You can browse the whole Bria lineup on each::labs, too.
Most image models are built to surprise you. FIBO 2.0 is built so you can repeat yourself, which is what a brand needs.
Frequently Asked Questions
Can I send a structured JSON prompt to FIBO 2.0 on each::labs?
Yes, on the editing endpoint. FIBO 2.0 Image Editing accepts a structured_instruction parameter as a JSON string, used in place of the natural-language instruction. The generation endpoint takes a plain text prompt of up to 4,000 characters, so structure there lives in how you write the brief.
What does "trained on licensed data" mean for FIBO 2.0?
Bria states that FIBO 2.0, like every FIBO model, was trained only on licensed data drawn from its roughly one billion image dataset. For brand teams, that gives reviewers a clear answer about where the model learned what it knows. Separately, the open weights on Hugging Face carry a CC BY-NC 4.0 license, with commercial use of those weights requiring an agreement with Bria.
Is FIBO 2.0 better than FIBO 1.5?
Bria claims it is: one unified model for generation and editing, sharper text, richer textures and more reliable anatomy. On each::labs, both versions share the same request schema, so the fastest way to judge is to run the same prompts and seeds through both and compare on your own products.
What is FIBO 2.0 Edit Turbo?
Speed through distillation. Edit Turbo is Bria's open-weights editing checkpoint that runs edits in 4 steps, released alongside the full Fibo 2.0 Dev model. Bria recommends starting from Dev rather than Turbo for any fine-tuning.