# Fibo 2.0 Generate

> Fibo 2.0 Generate is Bria's text-to-image model, strongest on reasoning and knowledge-heavy prompts the ones that need real understanding, not just a style match. Trained only on licensed data, with clear commercial rights.


## Overview

- **Endpoint**: `https://fal.run/bria/fibo-2/generate`
- **Model ID**: `bria/fibo-2/generate`
- **Category**: text-to-image
- **Kind**: inference
**Description**: Fibo 2.0 Generate is Bria's text-to-image model for campaign visuals, product and lifestyle scenes, and prompts that involve multiple subjects or spatial relationships. Bria describes its strengths as reasoning- and knowledge-heavy prompts and states that it is trained on licensed data.

The endpoint accepts a free-form prompt, which is expanded into a structured prompt, or a VGL document used directly. The structured prompt is returned with the generated image and can be reused in a later request.

Output is approximately one megapixel, with 21 aspect ratios from panoramic 5:1 to vertical 1:5. A seed controls reproducibility, and sync mode returns the image directly in the response. An optional image_url provides a visual reference for a prompt, or a close variation when used alone. It cannot be combined with vgl or style.

For changes to an existing image, use Fibo 2.0 Edit.

**Tags**: text-to-image, image generation, complex prompts, structured prompts, aspect ratios, e-commerce, marketing creative, product imagery, commercial use, licensed AI



## Pricing

Your request will cost $0.04 per image

For more details, see [fal.ai pricing](https://fal.ai/pricing).

## API Information

This model can be used via our HTTP API or more conveniently via our client libraries.
See the input and output schema below, as well as the usage examples.


### Input Schema

The API accepts the following input parameters:


- **`prompt`** (`string`, _optional_):
  What to generate, in free-form text. It is expanded into a VGL, which is returned. With 'vgl', the change to make to it.

- **`style`** (`Enum`, _optional_):
  A style for the generated image. Requires 'prompt'; not with 'image_url', 'vgl' or 'negative_prompt'.
  - Options: `"Kodak Film"`, `"Hard Flash"`, `"Hazy Dreamy"`, `"Rough Realism"`

- **`image_url`** (`string`, _optional_):
  A reference image (inspire mode). With 'prompt', VGL uses it as a visual reference for the prompt's scene and generates a new image of that scene, not the image. Alone, the VGL describes the image itself, so the result is a close variation of it. Not with 'vgl'.

- **`vgl`** (`Vgl`, _optional_):
  A VGL (Visual Generation Language) document: the structured JSON description of the scene. Alone, the model renders it as-is. With 'prompt', VGL changes it by the prompt (refine) and the result is rendered. Accepts what a previous request returned. Not with 'image_url' or 'style'.
  - Examples: {"photographic_characteristics":{"focus":"crisp, ultra-sharp focus on the ribbed fabric texture, chain links, sunglasses, and suspended sand grains","depth_of_field":"moderately shallow, keeping the subject in sharp focus while the distant background mountains have a soft falloff","camera_angle":"low angle","lens_focal_length":"wide-angle lens"},"lighting":{"shadows":"a long, sharp shadow cast by the subject across the sand to the right","direction":"front-lit from the front-left by the flash, contrasting with the backlit ambient sky","conditions":"strong off-camera flash combined with ambient dusk twilight"},"background_setting":"Flat scrubby desert featuring sparse dry bushes, subtle footprints in the sand, and low dark silhouetted mountains along the horizon. The sky is a deep cobalt-blue with streaks of grey-violet clouds and a glowing orange and gold sunset band stretching along the left horizon.","objects":[{"location":"center-right","appearance_details":"glossy highlights on skin, windswept hair flying across her face, right arm swinging out behind with fingers spread","description":"A young woman with shoulder-length dark brown hair, twisting mid-motion with her body turning away while looking back over her shoulder at the camera with slightly parted lips. She wears wraparound mirrored silver sport sunglasses, a heavy silver chain necklace, a fitted white ribbed tank top, and loose light-grey cargo pants with large side pockets.","pose":"twisting mid-motion, turning body away while looking back over shoulder","skin_tone_and_texture":"warm skin tone with glossy highlights from the flash","orientation":"tilted dynamically, facing slightly left while head turns back","clothing":"fitted white ribbed tank top, loose light-grey cargo pants with large side pockets sitting low on hips, heavy silver chain necklace, wraparound mirrored silver sport sunglasses","expression":"confident, intense gaze with lips slightly parted","relationship":"main subject of the photograph, commanding the frame","action":"twisting and looking back over her shoulder while swinging right arm","gender":"female","shape_and_color":"dynamic human silhouette in white and grey with metallic accents","texture":"mixed textures of soft skin, ribbed cotton, heavy metallic links, and smooth synthetic sunglasses","relative_size":"large within frame"},{"location":"bottom-left foreground and surrounding legs","number_of_objects":1,"appearance_details":"individual sand grains sparkling under the hard flash light","description":"A burst of kicked-up sand billowing around her legs and to the lower left, with individual grains sharply frozen in mid-air by the flash.","texture":"grainy, particulate, and sharp","orientation":"scattered horizontally and vertically","relationship":"interacts with the model's movement, emphasizing action","action":"billowing and suspended in the air","shape_and_color":"cloud-like amorphous cluster of sandy beige and golden-brown particles","relative_size":"medium"}],"context":"This is a concept for an early-2000s retro-futuristic fashion editorial photograph intended for a high-end style magazine spread.","short_description":"An early-2000s fashion editorial photograph capturing a young woman dynamically twisting in a desert at dusk. Lit by a strong off-camera flash against a deep cobalt-blue and orange sunset sky, she wears Y2K-inspired streetwear including mirrored silver sunglasses, a white ribbed tank top, and loose cargo pants, surrounded by kicked-up sand.","artistic_style":"realistic","style_medium":"photograph","aesthetics":{"mood_atmosphere":"Y2K action-editorial energy, dynamic, confident, edgy, and cinematic","composition":"low angle shot, medium-tight framing cropped mid-thigh at the bottom, dynamic off-center placement following the rule of thirds","color_scheme":"high contrast palette featuring saturated cobalt blues, warm golden-orange sunset tones, and neutral greys and whites"}}

- **`seed`** (`integer`, _optional_):
  Random seed for reproducibility, 0 to 2147483647. Default value: `5555`
  - Default: `5555`
  - Range: `0` to `2147483647`

- **`aspect_ratio`** (`AspectRatioEnum`, _optional_):
  Aspect ratio of the image, at about one megapixel. Options: 1:1, 1:2, 1:3, 1:4, 1:5, 2:1, 2:3, 3:1, 3:2, 3:4, 4:1, 4:3, 4:5, 5:1, 5:4, 9:16, 9:21, 10:16, 16:9, 16:10, 21:9 Default value: `"1:1"`
  - Default: `"1:1"`
  - Options: `"1:1"`, `"1:2"`, `"1:3"`, `"1:4"`, `"1:5"`, `"2:1"`, `"2:3"`, `"3:1"`, `"3:2"`, `"3:4"`, `"4:1"`, `"4:3"`, `"4:5"`, `"5:1"`, `"5:4"`, `"9:16"`, `"9:21"`, `"10:16"`, `"16:9"`, `"16:10"`, `"21:9"`

- **`sync_mode`** (`boolean`, _optional_):
  If true, returns the image directly in the response (increases latency).
  - Default: `false`



**Required Parameters Example**:

```json
{}
```

**Full Example**:

```json
{
  "vgl": {
    "photographic_characteristics": {
      "focus": "crisp, ultra-sharp focus on the ribbed fabric texture, chain links, sunglasses, and suspended sand grains",
      "depth_of_field": "moderately shallow, keeping the subject in sharp focus while the distant background mountains have a soft falloff",
      "camera_angle": "low angle",
      "lens_focal_length": "wide-angle lens"
    },
    "lighting": {
      "shadows": "a long, sharp shadow cast by the subject across the sand to the right",
      "direction": "front-lit from the front-left by the flash, contrasting with the backlit ambient sky",
      "conditions": "strong off-camera flash combined with ambient dusk twilight"
    },
    "background_setting": "Flat scrubby desert featuring sparse dry bushes, subtle footprints in the sand, and low dark silhouetted mountains along the horizon. The sky is a deep cobalt-blue with streaks of grey-violet clouds and a glowing orange and gold sunset band stretching along the left horizon.",
    "objects": [
      {
        "location": "center-right",
        "appearance_details": "glossy highlights on skin, windswept hair flying across her face, right arm swinging out behind with fingers spread",
        "description": "A young woman with shoulder-length dark brown hair, twisting mid-motion with her body turning away while looking back over her shoulder at the camera with slightly parted lips. She wears wraparound mirrored silver sport sunglasses, a heavy silver chain necklace, a fitted white ribbed tank top, and loose light-grey cargo pants with large side pockets.",
        "pose": "twisting mid-motion, turning body away while looking back over shoulder",
        "skin_tone_and_texture": "warm skin tone with glossy highlights from the flash",
        "orientation": "tilted dynamically, facing slightly left while head turns back",
        "clothing": "fitted white ribbed tank top, loose light-grey cargo pants with large side pockets sitting low on hips, heavy silver chain necklace, wraparound mirrored silver sport sunglasses",
        "expression": "confident, intense gaze with lips slightly parted",
        "relationship": "main subject of the photograph, commanding the frame",
        "action": "twisting and looking back over her shoulder while swinging right arm",
        "gender": "female",
        "shape_and_color": "dynamic human silhouette in white and grey with metallic accents",
        "texture": "mixed textures of soft skin, ribbed cotton, heavy metallic links, and smooth synthetic sunglasses",
        "relative_size": "large within frame"
      },
      {
        "location": "bottom-left foreground and surrounding legs",
        "number_of_objects": 1,
        "appearance_details": "individual sand grains sparkling under the hard flash light",
        "description": "A burst of kicked-up sand billowing around her legs and to the lower left, with individual grains sharply frozen in mid-air by the flash.",
        "texture": "grainy, particulate, and sharp",
        "orientation": "scattered horizontally and vertically",
        "relationship": "interacts with the model's movement, emphasizing action",
        "action": "billowing and suspended in the air",
        "shape_and_color": "cloud-like amorphous cluster of sandy beige and golden-brown particles",
        "relative_size": "medium"
      }
    ],
    "context": "This is a concept for an early-2000s retro-futuristic fashion editorial photograph intended for a high-end style magazine spread.",
    "short_description": "An early-2000s fashion editorial photograph capturing a young woman dynamically twisting in a desert at dusk. Lit by a strong off-camera flash against a deep cobalt-blue and orange sunset sky, she wears Y2K-inspired streetwear including mirrored silver sunglasses, a white ribbed tank top, and loose cargo pants, surrounded by kicked-up sand.",
    "artistic_style": "realistic",
    "style_medium": "photograph",
    "aesthetics": {
      "mood_atmosphere": "Y2K action-editorial energy, dynamic, confident, edgy, and cinematic",
      "composition": "low angle shot, medium-tight framing cropped mid-thigh at the bottom, dynamic off-center placement following the rule of thirds",
      "color_scheme": "high contrast palette featuring saturated cobalt blues, warm golden-orange sunset tones, and neutral greys and whites"
    }
  },
  "seed": 5555,
  "aspect_ratio": "1:1"
}
```


### Output Schema

The API returns the following output format:

- **`image`** (`Image`, _required_):
  The generated image.

- **`images`** (`list<Image>`, _optional_):
  Single-element list holding the same image, as the sibling FIBO apps return.
  - Default: `[]`
  - Array of Image
  - Examples: [{"url":"https://v3b.fal.media/files/b/0aaf2623/1zjIB_bIKvzMpu6fsECUP_fibo-2-generate-example-prod.png"}]

- **`vgl`** (`Vgl`, _required_):
  The VGL the image was generated from.
  - Examples: {"photographic_characteristics":{"focus":"crisp, ultra-sharp focus on the ribbed fabric texture, chain links, sunglasses, and suspended sand grains","depth_of_field":"moderately shallow, keeping the subject in sharp focus while the distant background mountains have a soft falloff","camera_angle":"low angle","lens_focal_length":"wide-angle lens"},"lighting":{"shadows":"a long, sharp shadow cast by the subject across the sand to the right","direction":"front-lit from the front-left by the flash, contrasting with the backlit ambient sky","conditions":"strong off-camera flash combined with ambient dusk twilight"},"background_setting":"Flat scrubby desert featuring sparse dry bushes, subtle footprints in the sand, and low dark silhouetted mountains along the horizon. The sky is a deep cobalt-blue with streaks of grey-violet clouds and a glowing orange and gold sunset band stretching along the left horizon.","objects":[{"location":"center-right","appearance_details":"glossy highlights on skin, windswept hair flying across her face, right arm swinging out behind with fingers spread","description":"A young woman with shoulder-length dark brown hair, twisting mid-motion with her body turning away while looking back over her shoulder at the camera with slightly parted lips. She wears wraparound mirrored silver sport sunglasses, a heavy silver chain necklace, a fitted white ribbed tank top, and loose light-grey cargo pants with large side pockets.","pose":"twisting mid-motion, turning body away while looking back over shoulder","skin_tone_and_texture":"warm skin tone with glossy highlights from the flash","orientation":"tilted dynamically, facing slightly left while head turns back","clothing":"fitted white ribbed tank top, loose light-grey cargo pants with large side pockets sitting low on hips, heavy silver chain necklace, wraparound mirrored silver sport sunglasses","expression":"confident, intense gaze with lips slightly parted","relationship":"main subject of the photograph, commanding the frame","action":"twisting and looking back over her shoulder while swinging right arm","gender":"female","shape_and_color":"dynamic human silhouette in white and grey with metallic accents","texture":"mixed textures of soft skin, ribbed cotton, heavy metallic links, and smooth synthetic sunglasses","relative_size":"large within frame"},{"location":"bottom-left foreground and surrounding legs","number_of_objects":1,"appearance_details":"individual sand grains sparkling under the hard flash light","description":"A burst of kicked-up sand billowing around her legs and to the lower left, with individual grains sharply frozen in mid-air by the flash.","texture":"grainy, particulate, and sharp","orientation":"scattered horizontally and vertically","relationship":"interacts with the model's movement, emphasizing action","action":"billowing and suspended in the air","shape_and_color":"cloud-like amorphous cluster of sandy beige and golden-brown particles","relative_size":"medium"}],"context":"This is a concept for an early-2000s retro-futuristic fashion editorial photograph intended for a high-end style magazine spread.","short_description":"An early-2000s fashion editorial photograph capturing a young woman dynamically twisting in a desert at dusk. Lit by a strong off-camera flash against a deep cobalt-blue and orange sunset sky, she wears Y2K-inspired streetwear including mirrored silver sunglasses, a white ribbed tank top, and loose cargo pants, surrounded by kicked-up sand.","artistic_style":"realistic","style_medium":"photograph","aesthetics":{"mood_atmosphere":"Y2K action-editorial energy, dynamic, confident, edgy, and cinematic","composition":"low angle shot, medium-tight framing cropped mid-thigh at the bottom, dynamic off-center placement following the rule of thirds","color_scheme":"high contrast palette featuring saturated cobalt blues, warm golden-orange sunset tones, and neutral greys and whites"}}



**Example Response**:

```json
{
  "image": {
    "url": "",
    "content_type": "image/png",
    "file_name": "z9RV14K95DvU.png",
    "file_size": 4404019,
    "width": 1024,
    "height": 1024
  },
  "images": [
    {
      "url": "https://v3b.fal.media/files/b/0aaf2623/1zjIB_bIKvzMpu6fsECUP_fibo-2-generate-example-prod.png"
    }
  ],
  "vgl": {
    "photographic_characteristics": {
      "focus": "crisp, ultra-sharp focus on the ribbed fabric texture, chain links, sunglasses, and suspended sand grains",
      "depth_of_field": "moderately shallow, keeping the subject in sharp focus while the distant background mountains have a soft falloff",
      "camera_angle": "low angle",
      "lens_focal_length": "wide-angle lens"
    },
    "lighting": {
      "shadows": "a long, sharp shadow cast by the subject across the sand to the right",
      "direction": "front-lit from the front-left by the flash, contrasting with the backlit ambient sky",
      "conditions": "strong off-camera flash combined with ambient dusk twilight"
    },
    "background_setting": "Flat scrubby desert featuring sparse dry bushes, subtle footprints in the sand, and low dark silhouetted mountains along the horizon. The sky is a deep cobalt-blue with streaks of grey-violet clouds and a glowing orange and gold sunset band stretching along the left horizon.",
    "objects": [
      {
        "location": "center-right",
        "appearance_details": "glossy highlights on skin, windswept hair flying across her face, right arm swinging out behind with fingers spread",
        "description": "A young woman with shoulder-length dark brown hair, twisting mid-motion with her body turning away while looking back over her shoulder at the camera with slightly parted lips. She wears wraparound mirrored silver sport sunglasses, a heavy silver chain necklace, a fitted white ribbed tank top, and loose light-grey cargo pants with large side pockets.",
        "pose": "twisting mid-motion, turning body away while looking back over shoulder",
        "skin_tone_and_texture": "warm skin tone with glossy highlights from the flash",
        "orientation": "tilted dynamically, facing slightly left while head turns back",
        "clothing": "fitted white ribbed tank top, loose light-grey cargo pants with large side pockets sitting low on hips, heavy silver chain necklace, wraparound mirrored silver sport sunglasses",
        "expression": "confident, intense gaze with lips slightly parted",
        "relationship": "main subject of the photograph, commanding the frame",
        "action": "twisting and looking back over her shoulder while swinging right arm",
        "gender": "female",
        "shape_and_color": "dynamic human silhouette in white and grey with metallic accents",
        "texture": "mixed textures of soft skin, ribbed cotton, heavy metallic links, and smooth synthetic sunglasses",
        "relative_size": "large within frame"
      },
      {
        "location": "bottom-left foreground and surrounding legs",
        "number_of_objects": 1,
        "appearance_details": "individual sand grains sparkling under the hard flash light",
        "description": "A burst of kicked-up sand billowing around her legs and to the lower left, with individual grains sharply frozen in mid-air by the flash.",
        "texture": "grainy, particulate, and sharp",
        "orientation": "scattered horizontally and vertically",
        "relationship": "interacts with the model's movement, emphasizing action",
        "action": "billowing and suspended in the air",
        "shape_and_color": "cloud-like amorphous cluster of sandy beige and golden-brown particles",
        "relative_size": "medium"
      }
    ],
    "context": "This is a concept for an early-2000s retro-futuristic fashion editorial photograph intended for a high-end style magazine spread.",
    "short_description": "An early-2000s fashion editorial photograph capturing a young woman dynamically twisting in a desert at dusk. Lit by a strong off-camera flash against a deep cobalt-blue and orange sunset sky, she wears Y2K-inspired streetwear including mirrored silver sunglasses, a white ribbed tank top, and loose cargo pants, surrounded by kicked-up sand.",
    "artistic_style": "realistic",
    "style_medium": "photograph",
    "aesthetics": {
      "mood_atmosphere": "Y2K action-editorial energy, dynamic, confident, edgy, and cinematic",
      "composition": "low angle shot, medium-tight framing cropped mid-thigh at the bottom, dynamic off-center placement following the rule of thirds",
      "color_scheme": "high contrast palette featuring saturated cobalt blues, warm golden-orange sunset tones, and neutral greys and whites"
    }
  }
}
```


## Usage Examples

### cURL

```bash
curl --request POST \
  --url https://fal.run/bria/fibo-2/generate \
  --header "Authorization: Key $FAL_KEY" \
  --header "Content-Type: application/json" \
  --data '{}'
```

### Python

Ensure you have the Python client installed:

```bash
pip install fal-client
```

Then use the API client to make requests:

```python
import fal_client

def on_queue_update(update):
    if isinstance(update, fal_client.InProgress):
        for log in update.logs:
           print(log["message"])

result = fal_client.subscribe(
    "bria/fibo-2/generate",
    arguments={},
    with_logs=True,
    on_queue_update=on_queue_update,
)
print(result)
```

### JavaScript

Ensure you have the JavaScript client installed:

```bash
npm install --save @fal-ai/client
```

Then use the API client to make requests:

```javascript
import { fal } from "@fal-ai/client";

const result = await fal.subscribe("bria/fibo-2/generate", {
  input: {},
  logs: true,
  onQueueUpdate: (update) => {
    if (update.status === "IN_PROGRESS") {
      update.logs.map((log) => log.message).forEach(console.log);
    }
  },
});
console.log(result.data);
console.log(result.requestId);
```


## Additional Resources

### Documentation

- [Model Playground](https://fal.ai/models/bria/fibo-2/generate)
- [API Documentation](https://fal.ai/models/bria/fibo-2/generate/api)
- [OpenAPI Schema](https://fal.ai/api/openapi/queue/openapi.json?endpoint_id=bria/fibo-2/generate)

### fal.ai Platform

- [Platform Documentation](https://fal.ai/docs/documentation)
- [Python Client](https://fal.ai/docs/api-reference/client-libraries/python)
- [JavaScript Client](https://fal.ai/docs/api-reference/client-libraries/javascript)

### Other agent-readable surfaces

This file covers one model. To find anything else:

- [Platform overview](https://fal.ai/llms.txt): Entry points and representative endpoint IDs
- [Documentation index](https://fal.ai/docs/llms.txt): Every documentation page
- [Full documentation text](https://fal.ai/docs/llms-full.txt): The whole documentation inlined
- Any other model: `https://fal.ai/models/<endpoint-id>/llms.txt`
