# Bria Expand FIBO-Edit-1.5 image to image

Needs image url. Served by fal.ai.

Bria Expand (FIBO-Edit-1.5), served by fal.ai. $0.04 per image. One submitted item is offered per call; the exact receipt determines the final charge. Asynchronous: returns a request_id; poll fal/status and fetch fal/result with model "bria/fibo-edit-1.5" and that request_id. The exact endpoint/request billing receipt is required before settlement.

- Tool ID: `fal/bria-fibo-edit-1-5-expand`
- Name in the catalog: Bria Expand - FIBO-Edit-1.5, image to image
- Provider: [fal.ai](/providers/fal.md)
- Capability: [AI image generation](/tools/image-generation.md)
- Price: $0.04 per call
- Authentication: an authorised Agentik workspace is required for execution, including zero-price tools.

## Pricing contract

The provider’s price, with no markup. Billed for measured usage.


```json
{
  "model": "per_call",
  "amountUsd": 0.04
}
```

Pricing source: [https://fal.ai/models/bria/fibo-edit-1.5/expand/llms.txt](https://fal.ai/models/bria/fibo-edit-1.5/expand/llms.txt). $0.04 per image. One submitted item is offered per call; the exact receipt determines the final charge..

Price verification date: 2026-11-03.

## Complete input schema


```json
{
  "type": "object",
  "properties": {
    "retain_original_quality": {
      "title": "Retain Original Quality",
      "default": true,
      "description": "Keep the original's own pixels at full resolution. Generation happens near one megapixel, so a larger canvas is scaled up afterwards; leave this on and the region the mask protected is not resampled at all. Turn it off for a uniformly soft result, which can hide the seam on a textured background.",
      "type": "boolean"
    },
    "original_image_location": {
      "anyOf": [
        {
          "maxItems": 2,
          "type": "array",
          "items": {
            "type": "integer"
          },
          "minItems": 2
        },
        {
          "type": "null"
        }
      ],
      "title": "Original Image Location",
      "description": "Top-left corner of the original within the canvas, as [x, y]. May sit outside the canvas, in which case the original is cropped. Ignored if 'aspect_ratio' is provided."
    },
    "return_model_output": {
      "title": "Return Model Output",
      "default": false,
      "description": "Also return the model's own frame, before the original was pasted back and the seam blended. Diagnostic only -- it does not change the returned image. Use it to tell a bad generation apart from a bad composite: a boundary already broken in that frame came from the model, not from post-processing.",
      "type": "boolean"
    },
    "aspect_ratio": {
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "1:1",
            "2:3",
            "3:2",
            "3:4",
            "4:3",
            "4:5",
            "5:4",
            "9:16",
            "16:9"
          ]
        },
        {
          "type": "null"
        }
      ],
      "title": "Aspect Ratio",
      "description": "The desired aspect ratio of the final image. Used over 'original_image_size' and 'original_image_location' if provided: the original is centred and the canvas grows around it."
    },
    "negative_prompt": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Negative Prompt",
      "description": "Not supported by this model, and refused rather than ignored -- see 'prompt'. Present only so a request written against the SDXL expansion endpoint fails loudly here instead of silently losing the field."
    },
    "image_url": {
      "title": "Image Url",
      "description": "The image to expand (file or URL).",
      "type": "string"
    },
    "canvas_size": {
      "anyOf": [
        {
          "maxItems": 2,
          "type": "array",
          "items": {
            "type": "integer"
          },
          "minItems": 2
        },
        {
          "type": "null"
        }
      ],
      "title": "Canvas Size",
      "description": "The desired size of the final image after the expansion, as [width, height]. Area must be under 25 megapixels. Pairs with 'original_image_location'."
    },
    "original_image_size": {
      "anyOf": [
        {
          "maxItems": 2,
          "type": "array",
          "items": {
            "type": "integer"
          },
          "minItems": 2
        },
        {
          "type": "null"
        }
      ],
      "title": "Original Image Size",
      "description": "The desired size of the original inside the canvas, as [width, height]; it is resized to this before being placed. Ignored if 'aspect_ratio' is provided."
    },
    "seed": {
      "anyOf": [
        {
          "minimum": 0,
          "maximum": 2147483647,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Seed",
      "description": "Reuse the seed from a previous response to recreate that result. Omit it for a random one, which is reported in the response either way."
    },
    "prompt": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Prompt",
      "description": "What should appear in the expanded area. Omit it and the model is asked only to extend the image, which is usually what you want for a plain canvas change."
    },
    "preserve_alpha": {
      "title": "Preserve Alpha",
      "default": true,
      "description": "Keep the input's transparency. The model works in RGB, so the alpha channel is not generated -- the original's own is extended outwards by replicating its edges, which is what expanding a cutout means. Turn it off to get a flattened RGB result.",
      "type": "boolean"
    }
  },
  "required": [
    "image_url"
  ],
  "additionalProperties": false
}
```

## Published example

This is the provider tool’s published example. Replace example values with the user’s requested inputs, respecting the schema; do not execute an example merely to test a connection.


```json
{
  "tool_id": "fal/bria-fibo-edit-1-5-expand",
  "input": {
    "image_url": "https://storage.googleapis.com/falserverless/model_tests/orange.png",
    "retain_original_quality": true,
    "return_model_output": false,
    "preserve_alpha": true
  }
}
```

## Execute and retrieve

Inspect again before execution, explain the price and obtain the required authority. Use MCP run_tool or POST /v1/run with this tool ID, valid input and an idempotency key. Save the returned run ID and follow the actual state. If Agentik answers that the tool is temporarily unavailable, do not retry it blindly; use discovery to propose an alternative.

This tool uses deferred settlement. Follow its returned task/run instructions; preserve the existing reservation until the result is reconciled.

A partial or uncertain result can still have consumed provider resources. Consult [billing](/docs/billing.md), [idempotency](/docs/idempotency.md) and [asynchronous results](/docs/async.md).

[Provider documentation](https://fal.ai/models/bria/fibo-edit-1.5/expand)

[REST inspection](https://api.agentik.cc/v1/tools/fal/bria-fibo-edit-1-5-expand) · [OpenAPI](/openapi.json) · [Connection guide](/connect.md)

---

[HTML page](/providers/fal/bria-fibo-edit-1-5-expand) · [Agent index](/llms.txt)
