# Bria Expand (FIBO-Edit-1.5) API

> Outil d’outpainting qui étend une image vers un nouveau format ou une toile personnalisée de moins de 25 mégapixels

Étend une image au-delà de ses bordures. Choisissez l’une des neuf valeurs de `aspect_ratio`, ou définissez `canvas_size` sous la forme [width, height], avec une surface inférieure à 25 mégapixels, ainsi que `original_image_size` et `original_image_location`. Un `prompt` facultatif décrit la nouvelle zone. `retain_original_quality` et `preserve_alpha` sont activés par défaut, tandis que `return_model_output` sert au diagnostic.

- Model id: `bria/fibo-edit-1.5/expand`
- Made by: Bria AI
- Category: Image Editing
- Output: image
- Price: $0.04 / image (cheapest run $0.04 (40 API credits))
- Run: `POST https://api.doitong.ru/v1/run/bria/fibo-edit-1.5/expand`
- Quote: `POST https://api.doitong.ru/v1/quote/bria/fibo-edit-1.5/expand`
- Docs page: https://doitong.com/fr/developers/models/bria/fibo-edit-1.5/expand

## Pricing

Price: **$0.04 / image**. Billed per generated image.

The full example input below costs $0.04 = 40 API credits (1 image × 40 API credits).

Prices are the upstream price in USD, paid from the API balance in API credits (1000 API credits = 1 USD). `POST https://api.doitong.ru/v1/quote/bria/fibo-edit-1.5/expand` with the same JSON body returns the exact price for that input; the quote is exactly what a run charges. Invalid input is never charged and failed or canceled requests are refunded automatically.

## Input parameters

Send either the canonical name or the native field name (not both). Canonical names are the same across models.

| Parameter | Canonical name | Type | Required | Default | Allowed values / range | Description |
|---|---|---|---|---|---|---|
| `image_url` | `image` | string (image URL) | yes |  |  | Image à étendre, fournie sous forme de fichier ou d’URL. |
| `canvas_size` |  | array of integer \| null | no |  | 2 – 2 items | Dimensions de l’image étendue associées à 'original_image_location'. Spécifiez [width, height] pour le canevas final, en maintenant sa surface sous 25 mégapixels. |
| `aspect_ratio` |  | enum (string) \| null | no |  | `1:1`, `2:3`, `3:2`, `3:4`, `4:3`, `4:5`, `5:4`, `9:16`, `16:9` | Réglage des proportions de l’image finale qui centre l’originale et étend le canevas environnant. Sa spécification est prioritaire sur 'original_image_size' et 'original_image_location'. |
| `original_image_size` |  | array of integer \| null | no |  | 2 – 2 items | [width, height] cibles de l’image originale dans le canevas. La fourniture de 'aspect_ratio' remplace ce réglage ; sinon, l’image est redimensionnée selon ces dimensions avant son positionnement. |
| `original_image_location` |  | array of integer \| null | no |  | 2 – 2 items | Coordonnées de positionnement [x, y] du coin supérieur gauche de l’image originale, ignorées lorsque 'aspect_ratio' est fourni. Le positionnement au-delà des limites du canevas est autorisé et recadre l’originale. |
| `prompt` |  | string \| null | no |  |  | Description facultative du contenu de la zone ajoutée. Un simple agrandissement du canevas ne nécessite généralement aucune description : l’omission demande au modèle de prolonger simplement l’image existante. |
| `seed` |  | integer \| null | no |  | 0 – 2,147,483,647 | Seed de génération aléatoire, toujours inclus dans la réponse, qu’il soit fourni ici ou choisi aléatoirement lorsqu’il est omis. Une valeur provenant d’une réponse précédente peut recréer son résultat. |
| `negative_prompt` |  | string \| null | no |  |  | Vérification de compatibilité pour les requêtes écrites pour l’ancienne route de l’API d’extension SDXL : la fourniture de cette entrée non prise en charge déclenche un rejet explicite afin que sa valeur ne soit pas perdue silencieusement. Utilisez 'prompt' à la place. |
| `retain_original_quality` |  | boolean | no | `true` |  | Activez cette option pour conserver les pixels originaux protégés par le masque en pleine résolution sans rééchantillonnage. Le modèle génère à environ un mégapixel, puis agrandit les canevas plus grands. La désactivation rend le résultat uniformément flou, ce qui peut dissimuler une jonction sur un arrière-plan texturé. |
| `preserve_alpha` |  | boolean | no | `true` |  | Préserve la transparence de l’entrée en prolongeant le canal alpha original par réplication des bords, si nécessaire pour étendre un détourage. La génération s’effectuant en RGB, le modèle ne produit pas d’alpha. Désactivez cette option pour recevoir une sortie RGB aplatie. |
| `return_model_output` |  | boolean | no | `false` |  | Renvoie une image de diagnostic supplémentaire pour distinguer les erreurs du modèle des erreurs de composition, sans modifier l’image finale. Elle montre le résultat du modèle avant la réinsertion de l’originale et la fusion des jonctions ; tout défaut de bord déjà visible dans cette image est une erreur de génération, et non de post-traitement. |

File parameters (`image`) take a public `https://` URL, a `data:` URI up to 10 MB, or the `file_url` of an upload from `POST /files`.

## Example input

Required parameters only:

```json
{
  "image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
}
```

A fuller example:

```json
{
  "image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
}
```

## Run it

Set `DOITONG_API_KEY` to a key from https://doitong.com/developers/dashboard#keys. `?wait=20` returns the finished request in the same call when it is ready within 20 seconds; otherwise poll `GET /requests/{id}` (it also accepts `?wait=`), or pass `webhook_url`.

### curl

```bash
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.ru/v1/run/bria/fibo-edit-1.5/expand?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
  }'

# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"
```

### JavaScript

```javascript
const API = "https://api.doitong.ru/v1";
const headers = {
  "Authorization": "Bearer " + process.env.DOITONG_API_KEY,
  "Content-Type": "application/json",
};

// Run the model; wait up to 20 s for the finished result in the same call
let res = await fetch(API + "/run/bria/fibo-edit-1.5/expand?wait=20", {
  method: "POST",
  headers,
  body: JSON.stringify({
    "image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
  }),
});
let request = await res.json();
if (!res.ok) throw new Error(request.error.code + ": " + request.error.message);

// Not finished yet: long-poll until it is
while (request.status === "queued" || request.status === "running") {
  res = await fetch(API + "/requests/" + request.id + "?wait=20", { headers });
  request = await res.json();
}
if (request.status !== "succeeded") throw new Error(JSON.stringify(request.error));
console.log(request.outputs.map((o) => o.url), request.cost.credits + " API credits ($" + request.cost.usd + ")");
```

### Python

```python
import os
import requests

API = "https://api.doitong.ru/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}

payload = {
    "image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
}

# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/bria/fibo-edit-1.5/expand", params={"wait": 20}, json=payload, headers=headers)
request = r.json()
if not r.ok:
    raise RuntimeError(request["error"]["code"] + ": " + request["error"]["message"])

# Not finished yet: long-poll until it is
while request["status"] in ("queued", "running"):
    request = requests.get(API + "/requests/" + request["id"], params={"wait": 20}, headers=headers).json()
if request["status"] != "succeeded":
    raise RuntimeError(request["error"])
print([o["url"] for o in request["outputs"]], request["cost"]["credits"], "API credits", "$" + request["cost"]["usd"])
```

### MCP

The MCP server at `https://api.doitong.ru/v1/mcp` exposes the tools `search_models`, `get_model`, `quote`, `run`, `get_request`, `cancel_request`, `list_requests`, `create_upload` and `get_account`. A `run` call for this model:

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "run",
    "arguments": {
      "model_id": "bria/fibo-edit-1.5/expand",
      "input": {
        "image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
      },
      "wait_seconds": 20
    }
  }
}
```

## Response

Every call returns a request object. `status` is one of `queued`, `running`, `succeeded`, `failed`, `canceled`. `outputs` lists the generated files with URLs on our storage (kept forever, or 7 days with `?storage=temporary`; `storage` says which); `output` is the model's own result object with the same URLs.

```json
{
  "id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
  "object": "request",
  "model": "bria/fibo-edit-1.5/expand",
  "status": "succeeded",
  "created_at": "2026-10-20T12:00:00Z",
  "started_at": "2026-10-20T12:00:02Z",
  "completed_at": "2026-10-20T12:00:09Z",
  "queue_position": null,
  "cost": {
    "credits": 40,
    "usd": "0.04",
    "charged": 40,
    "refunded": 0
  },
  "input": {
    "image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
  },
  "output": {
    "image": {
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
      "content_type": "image/jpeg",
      "file_name": "0-output.jpeg",
      "file_size": 1843200,
      "width": 1024,
      "height": 768
    },
    "seed": 42,
    "structured_instruction": {},
    "model_output": {
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
      "content_type": "image/jpeg",
      "file_name": "0-output.jpeg",
      "file_size": 1843200,
      "width": 1024,
      "height": 768
    }
  },
  "outputs": [
    {
      "type": "image",
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
      "content_type": "image/jpeg",
      "file_size": 1843200,
      "width": 1024,
      "height": 768,
      "stored": true
    }
  ],
  "error": null,
  "metrics": {
    "inference_seconds": 6.8
  },
  "urls": {
    "self": "https://api.doitong.ru/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
    "cancel": "https://api.doitong.ru/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
  }
}
```

### Output fields (`output`)

| Field | Type | Description |
|---|---|---|
| `image` | object {url, content_type, file_name, file_size, width, height} | Image résultant de l’extension. |
| `seed` | integer | Seed appliqué pendant la génération, permettant de reproduire le résultat. |
| `structured_instruction` | object | Prompt structuré utilisé pour conditionner le modèle. |
| `model_output` | object {url, content_type, file_name, file_size, width, height} \| null | Image non composée incluse uniquement lorsque 'return_model_output' était activé. Elle possède les dimensions de canevas demandées et contient la sortie du modèle sans contenu collé ni fusionné. |

## Related models

- [Bria Product Holding (FIBO-Edit-1.5)](https://doitong.com/developers/models/bria/fibo-edit-1.5/product-holding.md) (`bria/fibo-edit-1.5/product-holding`): $0.04 / image
- [Bria Virtual Try-On (FIBO-Edit-1.5)](https://doitong.com/developers/models/bria/fibo-edit-1.5/virtual-try-on.md) (`bria/fibo-edit-1.5/virtual-try-on`): $0.04 / image
- [Fibo Edit 1.5 Image Editing](https://doitong.com/developers/models/bria/fibo-edit-1.5/edit.md) (`bria/fibo-edit-1.5/edit`): $0.04 / image
- [FLUX.1 Kontext \[pro\]](https://doitong.com/developers/models/flux-pro/kontext.md) (`flux-pro/kontext`): $0.04 / image
- [GPT Image 2.5 Edit](https://doitong.com/developers/models/openai/gpt-image-2.5/flare/edit.md) (`openai/gpt-image-2.5/flare/edit`): from $0.12 / image
- [Nano Banana 2 Edit](https://doitong.com/developers/models/nano-banana-2/edit.md) (`nano-banana-2/edit`): from $0.06 / image
- [Nano Banana Pro Edit](https://doitong.com/developers/models/nano-banana-pro/edit.md) (`nano-banana-pro/edit`): from $0.15 / image
- [Qwen Image 3 Edit](https://doitong.com/developers/models/alibaba/qwen-image-3/edit.md) (`alibaba/qwen-image-3/edit`): from $0.04 / image

## Links

- HTML page: https://doitong.com/developers/models/bria/fibo-edit-1.5/expand
- All models and guides for AI agents: https://doitong.com/developers/llms.txt
- OpenAPI 3.1 with this model's typed request body: https://doitong.com/developers/openapi.json?model=bria/fibo-edit-1.5/expand
- Errors: https://doitong.com/developers/docs/errors
- Model details as JSON: https://api.doitong.ru/v1/models/bria/fibo-edit-1.5/expand
