Bria FIBO 1.5 Image Edit Serverless API

Edit images with structured JSON, masks, and multi-image references.

POST /v2/bria-fibo-image-edit · submit + poll
 1# pip install "segmind>=1.1.0"
 2# export SEGMIND_API_KEY="YOUR_API_KEY"
 3import segmind
 4
 5# Async (v2): submit to the queue and block until COMPLETED.
 6# run() returns the final result dict (600s deadline, 1.0s poll by default).
 7result = segmind.run(
 8    "bria-fibo-image-edit",
 9    image_urls=["https://segmind-resources.s3.amazonaws.com/input/0c5ac36e-e72d-4890-864f-36a6d9c4ea34-bria-fibo-edit-serum.jpg"],
10    instruction="Place the serum bottle on a wet dark stone slab surrounded by fresh green eucalyptus leaves and glistening water droplets, lit by soft natural morning light, with a clean softly blurred spa background. Keep the bottle and its dropper cap exactly as they are.",
11    seed=123456,
12    output_type="png",
13)
14print(result["status"])                      # COMPLETED
15print(result.get("output"))                  # model output (e.g. media URL)
16print(result["metrics"]["inference_time"])   # server compute seconds
17
18# --- Or submit + poll manually (track request_id, control the cadence) ---
19from segmind import SegmindClient, InferenceFailed, InferenceTimeout
20
21client = SegmindClient()                      # reads SEGMIND_API_KEY
22payload = {
23    "image_urls": ["https://segmind-resources.s3.amazonaws.com/input/0c5ac36e-e72d-4890-864f-36a6d9c4ea34-bria-fibo-edit-serum.jpg"],
24    "instruction": "Place the serum bottle on a wet dark stone slab surrounded by fresh green eucalyptus leaves and glistening water droplets, lit by soft natural morning light, with a clean softly blurred spa background. Keep the bottle and its dropper cap exactly as they are.",
25    "seed": 123456,
26    "output_type": "png",
27}
28job = client.submit_async("bria-fibo-image-edit", **payload)
29print(job.request_id)                         # available immediately
30try:
31    result = job.wait(timeout=600, interval=1.0)
32except InferenceTimeout as e:
33    print("still running:", e.request_id)
34except InferenceFailed as e:
35    print("failed:", e.detail)

API Endpoint

POSThttps://api.segmind.com/v1/bria-fibo-image-edit

Parameters

image_urlsrequired
string[]

One to four images: the photo to edit plus optional references. Use extra images to combine products, scenes, or styles.

instructionrequired
string

Plain-language edit describing the target scene. Add 'keep the subject unchanged' to lock product or character identity.

guidance_scaleoptional
integer

No effect on this FIBO-edit-1.5 version. Leave at the default.

Default: 5Range: 3 - 5
ip_signaloptional
boolean

Warn when the instruction may reference IP-protected content. Enable for brand-safety checks.

Default: false
maskoptional
string (uri)

Optional single-image mask; white regions are edited, black preserved. Use for precise local edits like text or object swaps.

negative_promptoptional
string

No effect on this FIBO-edit-1.5 version. Leave blank.

output_typeoptional
string
Default: "png"
Allowed values :
PNG"png"
JPEG"jpeg"
prompt_content_moderationoptional
boolean

Reject the request if the instruction fails moderation. Keep enabled for safe production use.

Default: true
seedoptional
integer

Seed for deterministic edits, 0 to 2147483647. Reuse the same seed to reproduce an edit exactly.

Default: 123456Range: 0 - 2147483647
steps_numoptional
integer

No effect on this FIBO-edit-1.5 version; step count is fixed. Leave at the default.

Default: 50Range: 1 - 50
structured_instructionoptional
string (json)

JSON edit instruction for deterministic, reproducible edits. Use for programmatic control or to recreate a prior result.

visual_input_content_moderationoptional
boolean

Reject the request if an input image fails moderation. Keep enabled for safe production use.

Default: true
visual_output_content_moderationoptional
boolean

Reject the request if the edited image fails moderation. Keep enabled for safe production use.

Default: true

Response Type

Returns: Image

Asynchronous requests (v2)

Use Async for video, long-running (>~60s), or high-concurrency workloads; Sync is simplest for fast image & LLM calls. Async submits a request and you poll it to completion.

  1. 1
    POST /v2/bria-fibo-image-edit

    Submitreturns request_id, status_url, response_url

  2. 2
    GET /v2/requests/{id}/status

    Polluntil COMPLETED or FAILED

  3. 3
    GET /v2/requests/{id}

    Resultfinal response body

Status states

QUEUEDAccepted, waiting for a worker
PROCESSINGRunning on a worker
COMPLETEDDone — result body is ready
FAILEDErrored (incl. content/RAI blocks)
  • A FAILED request is served as HTTP 422 — the body still carries the error detail.
  • An unknown or expired request_id returns HTTP 404.
  • Results are retained for 1 hour, then expire.
  • Content / RAI blocks surface as FAILED, not a separate state.
  • Track completion by polling the status endpoint.

Common Error Codes

The API returns standard HTTP status codes. Detailed error messages are provided in the response body.

400

Bad Request

Invalid parameters or request format

401

Unauthorized

Missing or invalid API key

403

Forbidden

Insufficient permissions

404

Not Found

Model or endpoint not found

406

Insufficient Credits

Not enough credits to process request

429

Rate Limited

Too many requests

500

Server Error

Internal server error

502

Bad Gateway

Service temporarily unavailable

504

Timeout

Request timed out