# Bria Expand (FIBO-Edit-1.5) API

> آؤٹ پینٹنگ ٹول جو تصویر کو 25 میگا پکسل سے کم نئے نسبتِ ابعاد یا حسبِ ضرورت کینوس تک بڑھاتا ہے

تصویر کو اس کی سرحدوں سے باہر تک پھیلاتا ہے۔ نو `aspect_ratio` قدروں میں سے ایک منتخب کریں، یا [width, height] کے طور پر `canvas_size` متعین کریں، جس کا رقبہ 25 میگا پکسل سے کم ہو، ساتھ میں `original_image_size` اور `original_image_location` بھی دیں۔ اختیاری `prompt` نئے حصے کی وضاحت کرتا ہے۔ `retain_original_quality` اور `preserve_alpha` ڈیفالٹ طور پر فعال ہیں، جبکہ `return_model_output` تشخیصی مقاصد کے لیے ہے۔

- 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.com/v1/run/bria/fibo-edit-1.5/expand`
- Quote: `POST https://api.doitong.com/v1/quote/bria/fibo-edit-1.5/expand`
- Docs page: https://doitong.com/ur/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.com/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 |  |  | توسیع کے لیے تصویر، فائل یا URL کے طور پر فراہم کردہ۔ |
| `canvas_size` |  | array of integer \| null | no |  | 2 – 2 items | 'original_image_location' کے ساتھ وابستہ توسیع شدہ تصویر کے ابعاد۔ فائنل کینوس کے لیے [width, height] متعین کریں، جس کا رقبہ 25 میگا پکسل سے کم رہے۔ |
| `aspect_ratio` |  | enum (string) \| null | no |  | `1:1`, `2:3`, `3:2`, `3:4`, `4:3`, `4:5`, `5:4`, `9:16`, `16:9` | فائنل تصویر کے تناسب کی ترتیب، جو اصل کو مرکز میں رکھ کر اطراف کا کینوس بڑھاتی ہے۔ اسے متعین کرنے پر 'original_image_size' اور 'original_image_location' دونوں پر فوقیت حاصل ہوتی ہے۔ |
| `original_image_size` |  | array of integer \| null | no |  | 2 – 2 items | کینوس کے اندر اصل تصویر کے لیے ہدف [width, height]۔ 'aspect_ratio' فراہم ہونے پر یہ ترتیب اووررائیڈ ہو جاتی ہے؛ بصورت دیگر تصویر کو جگہ دینے سے پہلے ان ابعاد پر تبدیل کیا جاتا ہے۔ |
| `original_image_location` |  | array of integer \| null | no |  | 2 – 2 items | اصل تصویر کے اوپری بائیں کونے کے لیے جگہ کے کوآرڈینیٹس [x, y]، 'aspect_ratio' فراہم ہونے پر نظرانداز کیے جاتے ہیں۔ کینوس کی حدود سے باہر جگہ دینا ممکن ہے اور اصل تصویر کراپ ہو جاتی ہے۔ |
| `prompt` |  | string \| null | no |  |  | شامل کیے جانے والے علاقے کے مواد کی اختیاری وضاحت۔ سادہ کینوس ایڈجسٹمنٹ کے لیے عموماً وضاحت ضروری نہیں: اسے چھوڑنے پر ماڈل سے صرف موجودہ تصویر کو بڑھانے کو کہا جاتا ہے۔ |
| `seed` |  | integer \| null | no |  | 0 – 2,147,483,647 | بے ترتیب تخلیق کا سیڈ، جو یہاں فراہم کیا جائے یا چھوڑے جانے پر بے ترتیب طور پر منتخب ہو، جواب میں ہمیشہ شامل ہوتا ہے۔ پچھلے جواب سے لیا گیا سیڈ اس کا نتیجہ دوبارہ بنا سکتا ہے۔ |
| `negative_prompt` |  | string \| null | no |  |  | SDXL expansion API route کے لیے لکھی گئی درخواستوں کی مطابقت جانچ۔ اس غیر معاونت یافتہ ان پٹ کو فراہم کرنے پر واضح طور پر مسترد کیا جاتا ہے تاکہ اس کی قدر خاموشی سے ضائع نہ ہو۔ اس کے بجائے 'prompt' استعمال کریں۔ |
| `retain_original_quality` |  | boolean | no | `true` |  | ماسک سے محفوظ اصل پکسلز کو بغیر resampling کے مکمل ریزولوشن پر برقرار رکھنے کے لیے اسے فعال کریں۔ ماڈل تقریباً ایک میگا پکسل پر تخلیق کرتا ہے، پھر بڑے کینوس کے لیے upscale کرتا ہے۔ اسے غیر فعال کرنے پر نتیجہ یکساں طور پر نرم ہو جاتا ہے، جو textured پس منظر کے خلاف جوڑ چھپا سکتا ہے۔ |
| `preserve_alpha` |  | boolean | no | `true` |  | ضرورت کے مطابق edge replication کے ذریعے اصل alpha چینل کو بڑھا کر ان پٹ کی شفافیت برقرار رکھتا ہے۔ چونکہ تخلیق RGB میں ہوتی ہے، ماڈل alpha تیار نہیں کرتا۔ اسے غیر فعال کرنے پر flattened RGB آؤٹ پٹ ملتا ہے۔ |
| `return_model_output` |  | boolean | no | `false` |  | فائنل تصویر بدلے بغیر ماڈل کی غلطیوں کو compositing کی غلطیوں سے الگ کرنے کے لیے اضافی تشخیصی فریم واپس کریں۔ یہ اصل تصویر دوبارہ شامل اور جوڑ blend کیے جانے سے پہلے ماڈل کا نتیجہ دکھاتا ہے؛ اس فریم میں پہلے سے دکھائی دینے والا کوئی بھی حدی نقص تخلیق کی غلطی ہے، post-processing کی نہیں۔ |

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.com/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.com/v1/requests/REQUEST_ID?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"
```

### JavaScript

```javascript
const API = "https://api.doitong.com/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.com/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.com/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.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
    "cancel": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
  }
}
```

### Output fields (`output`)

| Field | Type | Description |
|---|---|---|
| `image` | object {url, content_type, file_name, file_size, width, height} | توسیع سے حاصل ہونے والی تصویر۔ |
| `seed` | integer | تخلیق کے دوران استعمال ہونے والا سیڈ، جس سے نتیجہ دوبارہ تیار کیا جا سکتا ہے۔ |
| `structured_instruction` | object | ماڈل کو condition کرنے کے لیے استعمال ہونے والا منظم پرامپٹ۔ |
| `model_output` | object {url, content_type, file_name, file_size, width, height} \| null | صرف 'return_model_output' فعال ہونے پر شامل کیا گیا غیر مرکب شدہ فریم۔ اس میں مطلوبہ کینوس کے ابعاد ہوتے ہیں اور کسی pasted یا blended مواد کے بغیر ماڈل کا آؤٹ پٹ شامل ہوتا ہے۔ |

## 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.com/v1/models/bria/fibo-edit-1.5/expand
